Age | Commit message (Collapse) | Author |
|
|
|
Added libavutil/timer.h include to all files with {START,STOP}_TIMER.
|
|
Allocating edges will be removed from generic code, so the encoder must
handle this explicitly.
|
|
Several decoders disable those anyway and they are not measurably faster
on x86. They might be somewhat faster on other platforms due to missing
emu edge SIMD, but the gain is not large enough (and those decoders
relevant enough) to justify the added complexity.
|
|
It has been disabled as 'broken' over 3 years ago in b716a792
|
|
|
|
function
This introduces some code duplication. However, much of it should go
away once the decoders stop using MpegEncContext.
|
|
Otherwise the generic code will unref them, which can then result in
last_picture_ptr == current_picture_ptr, which causes deadlocks at least
in rv40.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
|
|
This is a temporary workaround to allow deprecating
avcodec_get_frame_defaults(). The proper solution will be using a
properly allocated AVFrame in Picture.
|
|
ff_mpeg_unref_picture() already resets the frame.
|
|
It is only called from one place in mpegvideo.c now. Also remove the
remove_current parameter, which is always 1.
|
|
It is not called from outside of mpegvideo.c anymore.
|
|
|
|
|
|
separate function
|
|
It is used for encoding only.
|
|
|
|
encode_defaults()
|
|
It is encoding-only, frame threading is not used for encoding.
|
|
The field remains in MpegEncContext for use in the encoder.
|
|
|
|
|
|
data[0] may be NULL for valid frames with hwaccel pixel formats.
|
|
XvMC has long ago been superseded by newer acceleration APIs, such as
VDPAU, and few downstreams still support it. Furthermore XvMC is not
implemented within the hwaccel framework, but requires its own specific
code in the MPEG-1/2 decoder, which is a maintenance burden.
|
|
Alpha has been end-of-lifed and no more test machines are available.
|
|
It has not been actually used since
37045e422903695e610cca6ecb753df643ab9380, when the broken vismv code was
removed.
|
|
That check is easily reachable by faulty input.
CC:libav-stable@libav.org
Reported-by: Torsten Sadowski <tsadowski@gmx.net>
|
|
This fixes breakage in a few fate tests on certain setups
(that for some reason didn't break on OS X) after the previous
commit (8812a8057). Currently, some video streams are initialized
in ff_MPV_common_init with width/height set at 0 and only changed
to a proper video size with ff_MPV_common_frame_size_change later.
The breakage was diagnosed by Anton Khirnov.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
ff_mpeg_unref_picture clears the flag indicating that the frame needs to
be reallocated after a frame size change. Since we have now reference
counted buffers we can unref the buffers immediately.
|
|
Allows decoding with only three frame buffers with frame reference
counting. Fixes VAAPI based decoding in vlc which uses only three
frame buffers for the mpegvideo-based codecs.
|
|
MPV_decode_mb_internal needs 3 * 16 * linesize bytes of scratch buffer
For interlaced content, linesize is multiplied by two after the allocation
of the scratch buffer, and the dest_cr pointer ends past the buffer.
This patch makes ff_mpv_frame_size_alloc allocate a total of
(aligned line_size) * 2 * 16 * 3 bytes, which suffices even for the
interlaced case.
CC:libav-stable@libav.org
Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
This also converts vc1, since that is mpegvideo-based.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
This allows dropping the mpegvideo dependency from a number of
components.
This also fixes standalone building of the h264 parser, which
was broken in 64e438697.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
This ensures the hwaccel privdata does not leak when a frame buffer could
not be allocated (and toggle the assert when the frame is re-used).
Having no frame buffer available is quite common when using the DXVA2
hwaccel in situations where the DXVA2 renderer is being re-allocated, for
example when moving between displays.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
The h264 decoder does not use mpegvideo anymore. The svq3 decoder only
uses ff_draw_horiz_band().
|
|
It has been broken for over a year without anyone complaining or
noticing, thus proving that nobody ever uses it.
|
|
|
|
This field is private and should not be present in a public struct. It
is only used in DXVA with mpegvideo-based decoders currently.
|
|
This breaks the dependency of mpegvideo on error_resilience allowing
compilation of components that depend on the former w/o the latter.
|
|
Not all hwaccels implement all codecs, so using one single list for
multiple such codecs means some codecs will be represented in the list,
even though they don't actually handle that codec. Copying specific
lists in each codec fixes that.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
Split out dependency on MpegEncContext.
|