Michael Niedermayer
ad89e203bf
avcodec/unary: Improve get_unary() docs
...
Found-by: kierank
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-10-07 03:03:09 +02:00
Mark Thompson
6ff4473012
av1_metadata: Fix constraint on setting chroma_sample_position
...
It can't be set for 4:2:2 streams.
2018-10-06 12:51:46 +01:00
James Almer
e08a876e67
avcodec/libaomdec: remove bogus comment
...
It's a remnant from libvpx that's not valid for libaom.
Signed-off-by: James Almer <jamrial@gmail.com >
2018-10-04 15:44:15 -03:00
James Almer
ebc3d04b8d
avcodec: add an AV1 parser
...
Simple parser to set keyframes, frame type, structure, width, height, and pixel
format, plus stream profile and level.
Reviewed-by: Mark Thompson <sw@jkqxz.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2018-10-03 20:48:49 -03:00
James Almer
af2acbd23f
avcodec/av1_metadata: add an option to insert and remove Temporal Delimiter OBUs
...
Reviewed-by: Mark Thompson <sw@jkqxz.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2018-10-03 20:17:14 -03:00
Michael Niedermayer
f515c978f6
avcodec/rasc: unref both frames on reinit
...
Fixes: integer overflow
Fixes: inconsistent frame dimensions
Fixes: 10454/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RASC_fuzzer-5656301162463232
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-10-03 11:14:40 +02:00
Michael Niedermayer
9a9034958a
avcodec/rasc: Fix off by 1 error in vertical coordinate
...
Fixes: out of array read
Fixes: 10311/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_RASC_fuzzer-4856330905452544
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-10-03 11:14:17 +02:00
Michael Niedermayer
c905840e8c
avcodec/tiff: check remaining packet size for strips
...
Fixes: Timeout
Fixes: 10280/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5676217211027456
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-10-03 11:13:38 +02:00
Michael Niedermayer
d702769213
avcodec/scpr: Skip frames which change nothing
...
Fixes: Timeout
Fixes: 10292/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SCPR_fuzzer-5687943864254464
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-30 22:23:02 +02:00
Michael Niedermayer
a8a98ba9ee
avcodec/wcmv: Fix integer overflows
...
Fixes: signed integer overflow: 262140 * 65535 cannot be represented in type 'int'
Fixes: 10090/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WCMV_fuzzer-5691269368512512
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-30 22:23:02 +02:00
Michael Niedermayer
2076e11839
avcodec/gdv: Remove unused variable
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-30 22:23:02 +02:00
Michael Niedermayer
449b1dcd7d
avcodec/hevc_parser: very minor simplification in hevc_parse()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-30 20:08:21 +02:00
Haihao Xiang
4c14a25281
lavc/hevc: Don't parse NAL unit for a dummy buffer
...
hevc parser mistakenly reports the following message if a dummy buffer
is padded for EOF
[hevc @ 0x559b63848610] missing picture in access unit
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com >
Reviewed-by: Steven Liu <lq@chinaffmpeg.org >
Reviewed-by: "Li, Zhong" <zhong.li@intel.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-30 20:08:21 +02:00
Marton Balint
b577153231
avcodec/libzvbi-teletextdec: add formatted ass output
...
Inspired by the VideoLAN text decoder and its port to FFmpeg made by Aman
Gupta.
Signed-off-by: Marton Balint <cus@passwd.hu >
2018-09-30 01:10:23 +02:00
Michael Niedermayer
179ed2d2e0
avcodec/diracdec: check that GetBitContext has not ended in codeblock()
...
Fixes: Timeout (part 2 of 2)
Fixes: 9774/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5748957085958144
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:35:12 +02:00
Michael Niedermayer
7274d849cc
avcodec/diracdec: Propagate errors from codeblock()
...
Consider a component to be damaged if more than 50% of its subbands are damaged
Fixes: Timeout (part 1 of 2)
Fixes: 9774/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DIRAC_fuzzer-5748957085958144
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:35:09 +02:00
Michael Niedermayer
db6af88cd0
avcodec/bintext: Use ff_get_buffer instead of ff_reget_buffer and simplify
...
reget seems unneeded and it is slower
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:33:48 +02:00
Michael Niedermayer
8db9097308
avcodec/bintext: Check input size before allocating the input image
...
Fixes: Timeout
Fixes: 9795/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_XBIN_fuzzer-5768631928487936
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:33:42 +02:00
Michael Niedermayer
35517e3ca7
avcodec/gdv: Error out if we had insufficent input for the output frame in decompress_2()
...
Fixes: Timeout (with the previous commits to gdv.c)
Fixes: 9422/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_GDV_fuzzer-5143490001371136
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:25:17 +02:00
Michael Niedermayer
510bd61941
avcodec/gdv: Optimize 2x scaling loop a little in gdv_decode_frame()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:25:17 +02:00
Michael Niedermayer
6a4788e7b3
avcodec/gdv: Replace loop in gdv_decode_frame() by memcpy()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:25:17 +02:00
Michael Niedermayer
5f84fbce08
avcodec/gdv: Eliminate 50% of the reads in the first inner loop in rescale()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:25:17 +02:00
Michael Niedermayer
d021729efc
avcodec/gdv: Simplify first inner loop in rescale()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:25:17 +02:00
Michael Niedermayer
6228ce0a33
avcodec/gdv: Combine first and 3rd case in rescale()
...
Simplifies code
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:25:17 +02:00
Michael Niedermayer
a423970511
avcodec/gdv: Factor terms out of inner loops in rescale()
...
This also replaces some loops by memcpy()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:25:17 +02:00
Michael Niedermayer
b90d8cc746
avcodec/gdv: Replace divisions by shifts in rescale()
...
Divisions tend to be slower than shifts unless the compiler optimizes them out.
And some of these are in inner loops.
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-28 01:25:17 +02:00
Mark Thompson
476a77128a
lavc: Add AV1 metadata bitstream filter
...
Can adjust colour and timing information.
2018-09-26 23:41:34 +01:00
Mark Thompson
c8c81ac502
lavc: Add coded bitstream read/write support for AV1
2018-09-26 23:27:53 +01:00
Mark Thompson
74b4134d2f
vaapi_encode_h265: Add missing error return
...
Fixes CID #1439657 .
2018-09-24 23:09:45 +01:00
Mark Thompson
1215fbad96
lavc/h265_profile_level: Fix level guessing with no PTL structure
...
Fixes CID #1439661 .
2018-09-24 23:09:45 +01:00
Mark Thompson
feb1cf08ab
lavc/h265_profile_level: Avoid integer overflow in bitrate
...
Fixes CIDs #1439659 and #1439660 .
2018-09-24 23:09:45 +01:00
Mark Thompson
321294adb7
h264_metadata: Avoid integer overflow in bitrate
...
Fixes CID #1439664 .
2018-09-24 23:09:32 +01:00
Mark Thompson
581b4125aa
lavc/h264_levels: Avoid integer overflow in bitrate
...
Fixes CID #1439656 .
2018-09-24 23:08:45 +01:00
Paul B Mahol
8d29930767
avcodec/ilbcdec: fix typo, fixes CID 1439653
2018-09-24 09:20:31 +02:00
Michael Niedermayer
0f36ad514c
avcodec/prosumer: Check remaining space in put byte context
...
Fixes: Timeout
Fixes: 10053/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PROSUMER_fuzzer-5636993883570176
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
3b5945b146
avcodec/prosumer: Remove unused table element
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
52b909b5c1
avcodec/prosumer: remove unneeded variable from vertical_predict
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
093607f0cd
avcodec/prosumer: Rename do_shift() to vertical_predict()
...
It seems what this function does is a vertical prediction filter, thus
the new name should improve understanding.
rename the related table_b too
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
0cd22fd752
avcodec/prosumer: mark src as const
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
3c9ebcbc4d
avcodec/prosumer: Only scan as many elements as matter in fill_elements()
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
fa1d3caef0
avcodec/prosumer: factorize e0 setting out
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
e97951f458
avcodec/prosumer: Use 16bit instead of 32 for table
...
Simplifies code and reduces needed memory
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
d3a9cb6bc8
avcodec/prosumer: Factorize the 2 loops in fill_elements()
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
f24701b073
avcodec/prosumer: clean up loop end code in fill_elements()
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Michael Niedermayer
674727291b
avcodec/prosumer: Remove dead code
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2018-09-24 00:49:30 +02:00
Linjie Fu
0f9b298242
avcodec/vaapi: free slice_buffers when decoding failed
...
If vaEndPicture() failed in ff_vaapi_decode_issue(), free
the pic->slice_buffers.
Fixes the memory leak issue in ticket #7385
Signed-off-by: Linjie Fu <linjie.fu@intel.com >
Signed-off-by: Mark Thompson <sw@jkqxz.net >
2018-09-23 17:46:37 +01:00
Mark Thompson
bfc4d0f6e4
vaapi_encode_h265: Set level based on stream if not set by user
...
Sets the level based on the stream properties if it is not explicitly
set by the user. Also add a tier option to set general_tier_flag, since
that affects the level choice.
2018-09-23 14:42:34 +01:00
Mark Thompson
59dd91c768
lavc/h265: Add some common code for profile/tier/level handling
...
Adds support for determining for level limits, including mapping PTL
blocks to profiles to check profile-dependent level limits.
2018-09-23 14:42:34 +01:00
Mark Thompson
61aea24662
vaapi_encode_h265: Improve profile support
...
Set profile compatibility/constraint flags properly (including the
constraint flags used for RExt profiles, as all streams we can currently
generate are RExt-compatible), and use that to add support for the "Main
Intra" and "Main 10 Intra" RExt subprofiles (for which we can re-use the
existing Main and Main10 VAAPI profiles).
2018-09-23 14:42:34 +01:00
Mark Thompson
1156b507f7
cbs_h264: Infer default VUI values if VUI parameters are not present
2018-09-23 14:42:34 +01:00