Michael Niedermayer
5e763920a4
avcodec/mpegvideo: update disabled assert() to av_assert0()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
205f423e28
libavcodec/mpegvideo: change some asserts to av_assert0()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
c88bbc01eb
avcodec/mpegvideo: replace assert about interlaced EC by debug av_log()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
104dfaadaa
dct_unquantize_h263_intra_c: fix assert condition
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Carl Eugen Hoyos
712ef25116
Avoid a null pointer dereference after oom on frame size change in mpegvideo.c.
...
Fixes ticket #2735 .
12 years ago
Michael Niedermayer
0abe923d20
mpegvideo: fix forgotten lowres op_index limits
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
c2625c26c5
mpegvideo: implement ff_put_h264_chroma_mc1 & ff_avg_h264_chroma_mc2
...
These are needed for lowres 3
This may fix Ticket2538
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
5f44f47b72
mpegvideo_enc: do not unreference frames before the code is done with them
...
Fixes Ticket2592
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Janne Grunau
3eae9b030c
mpegvideo: unref buffers in ff_mpeg_unref_picture on frame size changes
...
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.
12 years ago
Janne Grunau
4b79668154
mpegvideo: unref old current_picture before allocating a new one
...
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.
12 years ago
Jindrich Makovicka
259af1b923
mpegvideo: allocate sufficiently large scratch buffer for interlaced vid
...
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>
12 years ago
Diego Biurrun
2832ea26f3
Remove commented-out debug #define cruft
12 years ago
Diego Biurrun
004b81c465
mpegvideo: Remove commented-out PARANOID debug cruft
12 years ago
Michael Niedermayer
c67bca2b5a
avcodec/mpegvideo: Fix edge emu with lowres
...
Fixes a few green artifacts at the top
Fixes rest of Ticket 2535
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
bca50e5cd5
avcodec/mpegvideo: Fix block height for lowres 3 interlaced blocks
...
Fixes green trash
Fixes part of Ticket2535
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Diego Biurrun
6fee1b90ce
avcodec: Add av_cold attributes to init functions missing them
12 years ago
Diego Biurrun
38282149b6
ppc: More consistent arch initialization
12 years ago
Hendrik Leppkes
feec9349d3
mpegvideo: unref cur/next/prev frames when flushing
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
12 years ago
Michael Niedermayer
4824aea7af
avcodec/mpegvideo: change asserts to av_asserts
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Ronald S. Bultje
f4fed5a2f9
mpegvideo: Use hpeldsp instead of dsputil for half-pel functions
...
This also converts vc1, since that is mpegvideo-based.
Signed-off-by: Martin Storsjö <martin@martin.st>
12 years ago
Michael Niedermayer
6ae03353de
mpegvideo: Make the table reallocation more robust.
...
This fixes out of array writes after resolution changes
No FFmpeg releases are known to be affected by this
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
46c48d546d
mpegvideo: fix null pointer dereference on switching streams
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
7b3ca7ae8b
mpegvideo/h264: drop period_since_free
...
This should not be needed anymore
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Martin Storsjö
75644335b9
lavc: Move start code finding to utils.c
...
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>
12 years ago
Hendrik Leppkes
c3ebfcd6e1
mpegvideo: allocate hwaccel privdata after the frame buffer
...
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>
12 years ago
Hendrik Leppkes
4e70d66ded
mpegvideo: fix allocation of the hwaccel_picture_private data
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
12 years ago
Michael Niedermayer
64308941d4
mpegvideo: Fix exported qp table offest
...
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Ronald S. Bultje
4ba5dbc0e4
mpegvideo: use hpeldsp instead of dsputil for half-pel functions.
...
This also converts vc1, since that is mpegvideo-based.
12 years ago
Michael Niedermayer
53fd4f5594
avcodec: fix motion vector vissualization
...
was broken by the buffer ref stuff
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
6ae4372532
h264/mpegvideo: fix ff_print_debug_info2 arguments
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
ee3c3dd523
ff_alloc_picture: free tables in case of dimension mismatches
...
Fixes memory corruption
In theory this should not be needed but its better to check at
one place than to hope 50 other places set the flags correctly
12 years ago
Michael Niedermayer
9e73f6d1f9
mpegvideo: dont allow last == current
...
this fixes deadlocks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
ee8704916d
mpegvideo: reindent
12 years ago
Anton Khirnov
19cac8e301
mpegvideo: remove useless references to h264 and svq3
...
The h264 decoder does not use mpegvideo anymore. The svq3 decoder only
uses ff_draw_horiz_band().
12 years ago
Anton Khirnov
37045e4229
mpegvideo: drop vismv code
...
It has been broken for over a year without anyone complaining or
noticing, thus proving that nobody ever uses it.
12 years ago
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
12 years ago
Anton Khirnov
ad0c9f2d5d
lavc: move AVFrame.hwaccel_picture_private to Picture.
...
This field is private and should not be present in a public struct. It
is only used in DXVA with mpegvideo-based decoders currently.
12 years ago
Martin Storsjö
d88738e403
mpegvideo: Conditionally build error_resilience bits
...
This breaks the dependency of mpegvideo on error_resilience allowing
compilation of components that depend on the former w/o the latter.
12 years ago
Ronald S. Bultje
8d061989dd
lavc: Split out ff_hwaccel_pixfmt_list_420[] over individual codecs
...
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>
12 years ago
Michael Niedermayer
a3a97129e7
mpegvideo: make ff_print_debug_info independant of mpegvideo
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Ronald S. Bultje
e2789d3e33
split out ff_hwaccel_pixfmt_list_420[] over individual codecs.
...
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: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
1d0feb5d1a
mpegvideo: split ff_draw_horiz_band().
...
Split out dependency on MpegEncContext.
12 years ago
Anton Khirnov
54974c6298
error_resilience: decouple ER from MpegEncContext
12 years ago
Diego Biurrun
0b016eb99d
dsputil: Move ff_block_permute to mpegvideo_enc
12 years ago
Anton Khirnov
12b54a1f39
mpegvideo: remove an unused function parameter
12 years ago
Anton Khirnov
293065bdb5
mpegvideo: initialize dummy reference frames.
...
Do not rely on get_buffer initializing them.
Changes yadif tests (off by one in one border pixel), because yadif
reads from those uninitialized lines.
12 years ago
Rémi Denis-Courmont
78bc4d69eb
hwaccel: do not offer unsupported pixel formats
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years ago
Diego Biurrun
88bd7fdc82
Drop DCTELEM typedef
...
It does not help as an abstraction and adds dsputil dependencies.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
12 years ago
Xi Wang
992b031838
mpegvideo: fix loop condition in draw_line()
...
The loop condition `x = ex' is incorrect. It should be `x <= ex'.
This bug was introduced in commit c65dfac4
"mpegvideo.c: K&R formatting
and cosmetics."
CC:libav-stable@libav.org
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
12 years ago
Michael Niedermayer
e1d7d4bd13
mpegvideo: reset context state on failed thread update.
...
Fixes assertion failure
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago