Hendrik Leppkes
db395bef7f
Merge commit '80ea66112817c719b476de8f7d8d3b325f4c7dd1'
...
* commit '80ea66112817c719b476de8f7d8d3b325f4c7dd1':
avcodec: h264: Extract decoder methods
Conflicts:
libavcodec/h264_sei.c
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-02 10:59:06 +02:00
David Holm
80ea661128
avcodec: h264: Extract decoder methods
...
Extract two methods from decode_registered_user_data in order to improve
code readability. Also make the constant holding the allocation size a
64-bit unsigned integer so that the size comparison against INT_MAX makes
sense.
Bug-Id: CID1312090
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-08-01 14:29:53 +02:00
Michael Niedermayer
441d5a7084
Merge commit 'b0017579b6e8de3d0d13dcfe0a4dd848dc6baa37'
...
* commit 'b0017579b6e8de3d0d13dcfe0a4dd848dc6baa37':
h264: Add support for Closed Caption export
Conflicts:
libavcodec/h264.c
libavcodec/h264_sei.c
See: 8234f0e3b4
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-17 14:13:19 +02:00
Kieran Kunhya
b0017579b6
h264: Add support for Closed Caption export
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-17 01:44:22 +01:00
Kieran Kunhya
8234f0e3b4
avcodec: Add support for Closed Caption export in h264
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-07-06 15:25:22 +02:00
Nicolas DEROUINEAU
04a68f4348
avcodec/h264: Greenmetadata SEI parsing
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 23:20:36 +02:00
Michael Niedermayer
7e9c7b623f
Merge commit '271ce76d317c5432e151216cf23f12b77ed6cb7e'
...
* commit '271ce76d317c5432e151216cf23f12b77ed6cb7e':
h264: Parse registered data SEI message and AFD value
Conflicts:
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_sei.c
libavcodec/version.h
See: d6e9566949
See: 22291c372f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 22:54:33 +02:00
Michael Niedermayer
8e6c5c4322
Merge commit '0bfab80a0d9fce0180e8aa2a947267f89b725091'
...
* commit '0bfab80a0d9fce0180e8aa2a947267f89b725091':
h264_sei: Group error check outside the switch block
Conflicts:
libavcodec/h264_sei.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-30 22:29:34 +02:00
Vittorio Giovara
271ce76d31
h264: Parse registered data SEI message and AFD value
...
Partially based on code by Marton Balint and Kieran Kunhya.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-06-30 15:34:38 +02:00
Vittorio Giovara
0bfab80a0d
h264_sei: Group error check outside the switch block
2015-06-30 15:34:38 +02:00
Kieran Kunhya
22291c372f
avcodec: Add support for per-frame AFD output in h264
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-26 23:11:17 +02:00
Michael Niedermayer
688a40b4ed
avcodec/h264_sei: ff_h264_decode_sei: dont try to parse trailing zeroes
...
reduces noise for tserrors.ts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-16 04:07:22 +02:00
Vittorio Giovara
7ab551f9fd
h264: prevent theoretical infinite loop in SEI parsing
...
Properly address CVE-2011-3946 and parse bitstream as described in the spec.
CC: libav-stable@libav.org
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2014-08-01 13:08:32 +01:00
Michael Niedermayer
cd0dc88751
Merge commit '18e3d61e9e3b52c177aa7a1f2a054a8a753e1b09'
...
* commit '18e3d61e9e3b52c177aa7a1f2a054a8a753e1b09':
h264: parse display orientation SEI message
Conflicts:
libavcodec/h264.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-10 00:07:04 +02:00
Vittorio Giovara
18e3d61e9e
h264: parse display orientation SEI message
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-07-09 10:17:42 -04:00
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>
2014-06-04 04:25:14 +02:00
Michael Niedermayer
a062bee1c1
Merge commit '066ad249843bde656265b59110c2521e2b1ce131'
...
* commit '066ad249843bde656265b59110c2521e2b1ce131':
h264_sei: reorder headers
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-14 14:18:04 +01:00
Michael Niedermayer
1d91af5aba
Merge commit '304e916a92bc17385a485bec2f957e192257ddb6'
...
* commit '304e916a92bc17385a485bec2f957e192257ddb6':
h264_sei: name buffering period type consistently
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-14 14:13:06 +01:00
Vittorio Giovara
066ad24984
h264_sei: reorder headers
...
Also drop unused assert.h.
2014-02-14 05:10:58 +01:00
Vittorio Giovara
304e916a92
h264_sei: name buffering period type consistently
2014-02-14 05:08:47 +01:00
Michael Niedermayer
d6acf45ec2
Merge commit '3d9fc21e593aa89b5877bd739268499b079052f2'
...
* commit '3d9fc21e593aa89b5877bd739268499b079052f2':
h264: Refactor decode_frame_packing_arrangement
Conflicts:
libavcodec/h264_sei.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-17 19:30:57 +01:00
Vittorio Giovara
3d9fc21e59
h264: Refactor decode_frame_packing_arrangement
...
Directly set the fields when necessary.
2013-12-17 09:34:08 +01:00
Michael Niedermayer
be6e81463c
Merge commit '5b10ef729f610fcbc9c485e7b643ce53268144cb'
...
* commit '5b10ef729f610fcbc9c485e7b643ce53268144cb':
h264: parse frame packing arrangement SEI messages and save relevant stereo3d information
Conflicts:
libavcodec/h264.c
libavcodec/h264_sei.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 21:53:23 +01:00
Vittorio Giovara
5b10ef729f
h264: parse frame packing arrangement SEI messages and save relevant stereo3d information
2013-12-09 16:02:43 +01:00
Michael Niedermayer
6565b1ad97
avcodec/h264_sei: make SEI type truncated message more informative
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-03 20:13:55 +02:00
Michael Niedermayer
1fb0d96114
Merge commit 'a454dec19aa6666b555deec431bc42eda391d7b6'
...
* commit 'a454dec19aa6666b555deec431bc42eda391d7b6':
pixdesc: fix NV20* descriptors
h264_sei: check SEI size
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 15:51:08 +02:00
Michael Niedermayer
9c2e31c3b3
Merge commit '26179964ff3fa1173e6f512c5735ba8223e2395d'
...
* commit '26179964ff3fa1173e6f512c5735ba8223e2395d':
h264_sei: log unknown sei messages
Conflicts:
libavcodec/h264_sei.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-24 15:03:32 +02:00
Michael Niedermayer
84df6d6a85
h264_sei: check SEI size
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 13:24:29 +02:00
Vittorio Giovara
26179964ff
h264_sei: log unknown sei messages
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-09-24 13:24:28 +02:00
Michael Niedermayer
58e12732db
Merge commit '2a61592573d725956a4377641344afe263382648'
...
* commit '2a61592573d725956a4377641344afe263382648':
avcodec: Remove some commented-out debug cruft
Conflicts:
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mvpred.h
libavcodec/mjpegdec.c
libavcodec/mjpegenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-21 11:18:43 +02:00
Diego Biurrun
2a61592573
avcodec: Remove some commented-out debug cruft
2013-08-20 19:59:50 +02:00
Michael Niedermayer
7cd13f618c
Merge commit '0d8b943d204bd16fcf2f4a59c742e65a401dd3d0'
...
* commit '0d8b943d204bd16fcf2f4a59c742e65a401dd3d0':
h264_sei: Return meaningful values
Conflicts:
libavcodec/h264_sei.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-03 08:54:54 +02:00
Vittorio Giovara
0d8b943d20
h264_sei: Return meaningful values
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-02 18:19:40 +02:00
Michael Niedermayer
2ae5ac78d8
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
h264_sei: K&R formatting cosmetics
Conflicts:
libavcodec/h264_sei.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 12:37:37 +02:00
Michael Niedermayer
da4cd61502
Merge commit '4c7fd58f8ae729b964b6859eace5ab9a55ce3c8c'
...
* commit '4c7fd58f8ae729b964b6859eace5ab9a55ce3c8c':
h264_sei: Remove pointless old comment
twinvq: Add proper twinvq prefixes to identifiers
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-02 12:23:52 +02:00
Vittorio Giovara
b18412171f
h264_sei: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-08-01 13:26:07 +02:00
Diego Biurrun
4c7fd58f8a
h264_sei: Remove pointless old comment
2013-08-01 13:26:07 +02:00
Michael Niedermayer
682e8a694f
avcodec/h264_sei: Try to make code more robust by jumping to the specified SEI ends
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-22 02:48:13 +02:00
Michael Niedermayer
118a1c2f4c
avcodec/ff_h264_decode_sei: use skip_bits_long()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
45da7a0e8f
avcodec/ff_h264_decode_sei: Check SEI size
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
80c873a87e
avcodec/ff_h264_decode_sei: fix integer overflow with size.
...
This issue is hypothetical and no testcase is available.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
Michael Niedermayer
800ffa1fc0
avcodec/h264_sei/ff_h264_decode_sei: fix error codes for insufficient data
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-07-21 17:57:15 +02:00
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>
2013-07-21 16:04:02 +02:00
Michael Niedermayer
26482ae716
h264_sei/decode_picture_timing: do not depend on h->sps being set
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-06 00:35:25 +02:00
Michael Niedermayer
19688e87e5
h264: show recovery SEIs in debug output
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 18:43:17 +01:00
Michael Niedermayer
b7fe35c9e5
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
h264: deMpegEncContextize
Conflicts:
libavcodec/dxva2_h264.c
libavcodec/h264.c
libavcodec/h264.h
libavcodec/h264_cabac.c
libavcodec/h264_cavlc.c
libavcodec/h264_loopfilter.c
libavcodec/h264_mb_template.c
libavcodec/h264_parser.c
libavcodec/h264_ps.c
libavcodec/h264_refs.c
libavcodec/h264_sei.c
libavcodec/svq3.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-16 23:30:09 +01:00
Anton Khirnov
2c54155407
h264: deMpegEncContextize
...
Most of the changes are just trivial are just trivial replacements of
fields from MpegEncContext with equivalent fields in H264Context.
Everything in h264* other than h264.c are those trivial changes.
The nontrivial parts are:
1) extracting a simplified version of the frame management code from
mpegvideo.c. We don't need last/next_picture anymore, since h264 uses
its own more complex system already and those were set only to appease
the mpegvideo parts.
2) some tables that need to be allocated/freed in appropriate places.
3) hwaccels -- mostly trivial replacements.
for dxva, the draw_horiz_band() call is moved from
ff_dxva2_common_end_frame() to per-codec end_frame() callbacks,
because it's now different for h264 and MpegEncContext-based
decoders.
4) svq3 -- it does not use h264 complex reference system, so I just
added some very simplistic frame management instead and dropped the
use of ff_h264_frame_start(). Because of this I also had to move some
initialization code to svq3.
Additional fixes for chroma format and bit depth changes by
Janne Grunau <janne-libav@jannau.net>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-02-15 16:35:16 +01:00
Marton Balint
d6e9566949
h264: add support for AFD detection
...
Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Kieran Kunhya <kierank@ob-encoder.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-21 18:22:50 +02:00
Michael Niedermayer
e9d0ab5717
h264: fix x264 build detection
...
Fixes Ticket1503
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-13 04:58:15 +02:00
Michael Niedermayer
068d0b4e25
h264: some fields in SEIs are longer than 25 bits thus use get_bits_long()
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-23 19:41:46 +02:00