Mark Harris
c51c08e0e7
avcodec: Use get_ue_golomb_long() when needed
...
get_ue_golomb() cannot decode values larger than 8190 (the maximum
value that can be golomb encoded in 25 bits) and produces the error
"Invalid UE golomb code" if a larger value is encountered. Use
get_ue_golomb_long() instead (which supports 63 bits, up to 4294967294)
when valid h264/hevc values can exceed 8190.
This updates decoding of the following values: (maximum)
first_mb_in_slice 36863* for level 5.2
abs_diff_pic_num_minus1 131071
difference_of_pic_nums_minus1 131071
idr_pic_id 65535
recovery_frame_cnt 65535
frame_packing_arrangement_id 4294967294
frame_packing_arrangement_repetition_period 16384
display_orientation_repetition_period 16384
An alternative would be to modify get_ue_golomb() to handle encoded
values of up to 49 bits as was done for get_se_golomb() in a92816c
.
In that case get_ue_golomb() could continue to be used for all of
these except frame_packing_arrangement_id.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-29 13:11:51 +01:00
Hendrik Leppkes
3ff6d40cbc
Merge commit 'b4a82e740743744136e07054525560351e4892ae'
...
* commit 'b4a82e740743744136e07054525560351e4892ae':
h264: Print the complete user message
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-11-02 11:54:34 +01:00
Hendrik Leppkes
ed6d451d93
Merge commit '8487987b87a252963b27b6adfd82887ea5933918'
...
* commit '8487987b87a252963b27b6adfd82887ea5933918':
h264: Print user data SEI under normal debug verbosity
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-11-02 11:53:55 +01:00
Vittorio Giovara
b4a82e7407
h264: Print the complete user message
...
Previously the message was cut off at 256th byte.
This will allow dumping the complete x264 encode info when needed.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-10-30 12:46:56 +01:00
Vittorio Giovara
8487987b87
h264: Print user data SEI under normal debug verbosity
...
Drop the need of setting -debug bugs since it's not a bug, and the
message is already under a AV_LOG_DEBUG log level. Instead only print
it when there is an actual string in it.
2015-10-30 12:46:56 +01:00
Michael Niedermayer
91ca8105dd
avcodec/h264_sei: Remove "Subtitles with data type 0x%02x" sample request
...
Suggested-by: Carl and Hendrik
2015-09-09 00:17:59 +02:00
Hendrik Leppkes
a4c13f95fb
Merge commit 'f9ab4fe1f7c1e9d410ca5ee2c9ff8d2892aad068'
...
* commit 'f9ab4fe1f7c1e9d410ca5ee2c9ff8d2892aad068':
h264: Discard currently unsupported registered sei
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-08-24 10:36:07 +02:00
Luca Barbato
61d8fa2a1a
h264: Fix faulty call to avpriv_request_sample
...
Broken in f9ab4fe1f7
2015-08-22 01:42:19 +02:00
John Högberg
f9ab4fe1f7
h264: Discard currently unsupported registered sei
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2015-08-21 12:03:36 +02:00
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