It was previously int and would return error if decode_coeffs_b()
returns an error; however, that can never happen, so refactor all
that code to make all dependent functions return void also (all the
way up to decode_coeffs_sb()).
The old one didn't use segmentation. One uses segmentation in all frame
types (--aq-mode=1), and the other uses all segmentation features, but
only in inter frames (mbgraph).
For a random 1080p sample, decoding time went from 9.7sec (1 threads)
to 6.0sec (2 threads) and 5.2sec (4 threads) in 2-pass decoding mode.
I don't have any samples that use the parallelmode feature, but the
gains should be higher.
We need more information from last/cur_frame than from reference
buffers, so we can use a simplified structure for reference buffers,
and then store mvs and segmentation map information in last/cur.
Also the libavutil/ffversion.h will be installed.
Rationale:
* Applications might want to know FFmpeg's version besides the individual
libraries'.
* Avoids file name clash between FFmpeg's ./version.h and lib*/version.h when
a library source file includes both and is compiled on an out-of-tree build.
Fixes#1769.
Signed-off-by: Timothy Gu <timothygu99@gmail.com>
Reviewed-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'f058f384a0d76bfd125f4738dceab7c890186432':
configure: Do not use pthread_create to check for pthread
Merged-by: Michael Niedermayer <michaelni@gmx.at>
They are only needed by removelogo.
This fixes a link failure in shared builds when compiling with
removelogo disabled but Lavf/SwS enabled
Signed-off-by: James Almer <jamrial@gmail.com>
Reviewed-by: Stefano Sabatini <stefasab@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Certain instrumentation addons leads to a false positive in configure
and link failures at the end of the build phase.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* cus/stable:
ffmpeg: ensure that -fix_sub_duration doesnt create subtitles with zero duration
ffmpeg: free empty subtitles as well in transcode_subtitles
ffmpeg: do not pass possibly undefined subtitles to sub2video_update
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e026ee0446de27fc38e33e98704fada012fdc763':
mpeg4videodec: move sprite_{shift,traj} from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '513d849bb605d3d862da1ada709bd2ca1ac68f58':
mpeg4videodec: move num_sprite_warping_points from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '9ba3fc3e3d12c9ef00dcb0222b7ea0ccb5c4a091':
mpeg4videodec: move sprite_brightness_change from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '58c120a9290eef057dbf26761a4f89b7f67bbde1':
mpeg4videodec: move scalability from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '6e81597d5a89f64dfab5c7e99e46b4355139e324':
mpeg4videodec: move enhancement_type from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '2992afda83a7d5c0a9ec45bdce76d8abbe0961c5':
mpeg4videodec: remove a write-only variable from MpegEncContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '3b1c0f686d5a162ceb5048910a7ce0bf7ed3a1ab':
mpeg4videodec: move new_pred from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'e89247debd5276d57ce4a26516224204f9541af0':
mpeg4videodec: replace MpegEncContext.reduced_res_vop with a local variable
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '8cebc9eaac8631adb23dd1e46c37ad8474139a07':
mpeg4videodec: remove a write-only variable from MpegEncContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'b1aacd56685cd131f517e0551834a0bbd3f5f809':
mpeg4videodec: move t_frame from MpegEncContext to Mpeg4DecContext
Merged-by: Michael Niedermayer <michaelni@gmx.at>