Michael Niedermayer
855463c007
avcodec/h264: Keep a reference to the last picture for EC
...
This and the next commit improve error concealment for
green-block-artifacts-from-canon-100-hs.MOV
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
f3b5b139ad
avcodec/h264: make the first field of H264Context an AVClass
...
Fixes use of freed memory
Fixes: asan_heap-uaf_3660f67_757_cov_1257014655_Hi422FR1_SONY_A.jsv
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Vittorio Giovara
6fd91fa119
h264: increase MAX_SLICES to 32
...
H264 streams from CounterPath Bria and some Cisco phones need an
increased pool for correct decoding.
Bug-Id: 645
Sample-Id: bria-h264.mka
10 years ago
Michael Niedermayer
3b678da5e3
avcodec/h264: simplify find_start_code()
...
this also uses avpriv_find_start_code(), though no speed change is expected as
the area searched is generally small
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
4898440f6b
Move get_avc_nalsize() and find_start_code() to h264.h
...
This allows sharing them with the h264 parser
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
0782fb6bcb
libavcodec/h264_parser: Increase parse_history, fix huge resolutions
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Diego Biurrun
2d60444331
dsputil: Split motion estimation compare bits off into their own context
10 years ago
Clément Bœsch
7e7168b82d
Fix 2 coeffecient typo
11 years ago
Vittorio Giovara
18e3d61e9e
h264: parse display orientation SEI message
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
11 years ago
Michael Niedermayer
5bf5e6b1c0
avcodec/h264: Use named identifier for single thread fall-back return from ff_h264_decode_slice_header()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
7eae8cd870
avcodec/h264: fix frame skip code
...
Fixes Ticket3475
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
19c9d1e8e7
avcodec/h264: in the absence of recovery points, be more tolerant on accepting plain I frames
...
Fixes: Ticket3652
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
368f50359e
dsputil: Split off quarterpel bits into their own context
11 years ago
Michael Niedermayer
af62b42736
avcodec/h264: fix () in macros
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
7ef01a7878
avcodec/h264: mark recovery_cnt==0 frames as keyframes
...
Fixes Ticket3063
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Luca Barbato
f51d0f39c0
h264: Split h264 slice decoding from nal decoding
11 years ago
Michael Niedermayer
fc567ac49e
avcodec: Add padding after the remaining AVFrames
...
This limits ABI issues in case libavcodec is linked to a libavutil with larger AVFrame
Which can happen if they are shiped in seperate binary packages and libavutil is upgraded
A cleaner alternative would be to replace them by pointers but this would likely cause
a small speedloss
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Vittorio Giovara
d24e9a99a4
h264 does not depend on mpegvideo any more
11 years ago
Vittorio Giovara
e0c16e4e32
mpegvideo: move mpegvideo formats-related defines to mpegutils.h
11 years ago
Vittorio Giovara
136034d86b
h264: Remove MotionEstContext and move the relevant fields to H264Context
...
Unused buffers scratchpad and temp have been dropped too.
11 years ago
Vittorio Giovara
e3c2d0f3d4
h264: Replace mpegvideo-specific MAX_THREADS by private define
11 years ago
Vittorio Giovara
5d1c2e53ab
h264: Replace mpegvideo-specific MAX_PICTURE_COUNT by private define
11 years ago
Vittorio Giovara
9b749c8274
h264: move relevant fields from Picture to H264Picture
11 years ago
Vittorio Giovara
304e916a92
h264_sei: name buffering period type consistently
11 years ago
Vittorio Giovara
15210354cf
h264: drop outdated comments
11 years ago
Vittorio Giovara
3a05767028
h264: store current_sps_id inside the current sps
...
In preparation for MVC support.
11 years ago
Vittorio Giovara
b141c7b37e
h264: give numbers to nalus
...
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
11 years ago
Michael Niedermayer
e708424b70
avcodec/h264: Disallow pps_id changing between slices
...
Such changes are forbidden in H.264 and lead to race conditions
Fixes out of array read
Fixes: signal_sigsegv_f9796a_1613_cov_3114610371_FM1_BT_B.h264
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
6ea05ef278
avcodec/h264: remove unused variable
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Vittorio Giovara
5b10ef729f
h264: parse frame packing arrangement SEI messages and save relevant stereo3d information
11 years ago
John Stebbins
28096e0a80
h264: wait for initial complete frame before outputing frames
...
This can be optionally disabled whith the "output_corrupt" flags
option. When in "output_corrupt" mode, incomplete frames are
signalled through AVFrame.flags FRAME_FLAG_INCOMPLETE_FRAME.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
Ronald S. Bultje
93f305473f
lavc: Convert some remaining strides to ptrdiff_t
11 years ago
Yusuke Nakamura
4baba6c813
h264_parser: Fix POC parsing for the case where MMCO_RESET is present.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
11 years ago
Ronald S. Bultje
c341f734e5
Convert multiplier for MV from int to ptrdiff_t.
...
This prevents emulated_edge_mc from not undoing mvy*stride-related
integer overflows.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Joakim Plate
8710a634a5
h264: add frame packing as stereo_mode frame metadata
...
This matches the matroska defintion of stereo_mode, with
no metadata written if no info exist in sei
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Yusuke Nakamura
3f1a7ceb2c
h264_parser: Set field_order and picture_structure.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
12 years ago
Anton Khirnov
5e83d9aced
h264: fully support cropping.
...
Based on a patch by Vittorio Giovara <vittorio.giovara@gmail.com>
Fixes Bug 378.
12 years ago
Michael Niedermayer
de8049d27c
h264: add an argument to CHROMA for consistency
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
23e85be58f
h264: add a parameter to the CHROMA444 macro.
...
This way it does not look like a constant.
12 years ago
Anton Khirnov
e962bd08ee
h264: add a parameter to the CHROMA422 macro.
...
This way it does not look like a constant.
12 years ago
Anton Khirnov
6d2b6f21eb
h264: add a parameter to the CABAC macro.
...
This way it does not look like a constant.
12 years ago
Anton Khirnov
a6931d8ece
h264: add a parameter to the FIELD_OR_MBAFF_PICTURE macro.
...
This way it does not look like a constant.
12 years ago
Anton Khirnov
7fa00653a5
h264: add a parameter to the FIELD_PICTURE macro.
...
This way it does not look like a constant.
12 years ago
Anton Khirnov
7bece9b22f
h264: add a parameter to the FRAME_MBAFF macro.
...
This way it does not look like a constant.
12 years ago
Anton Khirnov
da6be8fcec
h264: add a parameter to the MB_FIELD macro.
...
This way it does not look like a constant.
12 years ago
Anton Khirnov
82313eaa34
h264: add a parameter to the MB_MBAFF macro.
...
This way it does not look like a constant.
12 years ago
Anton Khirnov
25408b2a06
h264: make ff_h264_frame_start static.
...
It is not called from outside h264.c
12 years ago
Anton Khirnov
759001c534
lavc decoders: work with refcounted frames.
12 years ago
Diego Biurrun
5f401b7b71
Add missing error_resilience includes to files that use ER
12 years ago
Ronald S. Bultje
d4e649cca6
h264: make it possible to compile without error_resilience.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago