summaryrefslogtreecommitdiff
path: root/libavcodec
Commit message (Collapse)AuthorAge
* x86/cfhddsp: zero extend int argumentsJames Almer2020-08-28
| | | | | | | | | | if taken from stack, they may have garbage in the upper bits otherwise. Also, there are only 8 arguments, so don't attempt to load 11. Fixes SIGSEV crashes in some targets. Reviewed-by: durandal_1707 Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/flacdec: use designated initializers for AVClassPaul B Mahol2020-08-28
|
* avcodec/cfhd: Remove unused-but-set variableAndreas Rheinhardt2020-08-28
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/x86/cfhddsp: try to fix build on x32Paul B Mahol2020-08-26
|
* avcodec/cfhd: add x86 SIMDPaul B Mahol2020-08-26
| | | | Overall speed changes for 1920x1080, yuv422p10le, 60fps from: 0.19x to 0.343x
* avcodec/tiff: Check jpeg context against jpeg frame parametersMichael Niedermayer2020-08-26
| | | | | | | | Fixes: out of array access Fixes: 24825/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-6326925027704832 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/tiff: Restrict tag order based on specificationMichael Niedermayer2020-08-26
| | | | | | | | | | | | | | | | | | | | "The entries in an IFD must be sorted in ascending order by Tag. Note that this is not the order in which the fields are described in this document." This way various dimensions, sample and bit sizes cannot be changed at arbitrary times which reduces the potential for bugs. The tag reading code also on various places assumes that numerically previous tags have already been parsed, so this needs to be enforced one way or another. If this commit causes problems with real world files which are not easy to fix then some other form of checks are needed to ensure the various dependencies in the tag reading are not violated. Fixes: out of array access Fixes: 24825/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-6326925027704832 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/tiff: Avoid abort with DNG RAW TIFF with YA8Michael Niedermayer2020-08-26
| | | | | | | | Fixes: Assertion failure Fixes: 24707/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5179910197608448 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/tiff: Check the linearization table sizeMichael Niedermayer2020-08-26
| | | | | | | | Fixes: out of array access Fixes: 24604/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-4843529818603520 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/libdav1d: Call ff_set_sar in addition to setting the frame SARDerek Buitenhuis2020-08-26
| | | | | | Similar to what we do in libaomdec.c. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avcodec/cbs_av1: fix setting FrameWidth in frame_size_with_refs()James Almer2020-08-25
| | | | | | | | | | | | | | | | Section 5.9.7 of the spec states UpscaledWidth = RefUpscaledWidth[ ref_frame_idx[ i ] ] FrameWidth = UpscaledWidth FrameHeight = RefFrameHeight[ ref_frame_idx[ i ] ] RenderWidth = RefRenderWidth[ ref_frame_idx[ i ] ] RenderHeight = RefRenderHeight[ ref_frame_idx[ i ] ] Meaning FrameWidth must not be set to RefFrameWidth[ ref_frame_idx[ i ] ] like we're currently doing. Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/av1_parser: fix parsing show_existing_frame headersJames Almer2020-08-25
| | | | | | Regression since c8716b5029 Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs_av1: use a more appropiate AV1ReferenceFrameState pointer ↵James Almer2020-08-25
| | | | | | | | variable name frame is more commonly used for AV1RawFrameHeader and AV1RawFrame. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs_av1: fix handling reference frames on show_existing_frame framesJames Almer2020-08-25
| | | | | | | | Implement Section 7.21 "Reference frame loading process" and Section 7.20 "Reference frame update process" for show_existing_frame frames, as required by the definition in Section 7.4 "Decode frame wrapup process". Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs_av1: infer frame_type in show_existing_frame frames earlierJames Almer2020-08-25
| | | | | | This follows the spec and will come in handy in the next commit. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs_av1: add OrderHint to CodedBitstreamAV1ContextJames Almer2020-08-25
| | | | | | This follows the spec and will come in handy in a following commit. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/aacdec_template: add more checks to make sure only 22.2 gets to 22.2Jan Ekström2020-08-25
| | | | | | | | Validates the set channel layout as well as verifies that the received layout to the function matches the reference layout, so that it matches the implemented re-ordering logic. Fixes #8845
* avcodec/aacdec_template: keep tabs on layout in sniff_channel_orderJan Ekström2020-08-25
| | | | | This way the layout set at various points can be checked instead of only having the layout at the end.
* avcodec/av1_parser: read frame properties directly from AV1RawFrameHeaderJames Almer2020-08-23
| | | | | | | Simplifies code Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs_av1: infer frame_type when parsing a show_existing_frame frameJames Almer2020-08-23
| | | | | Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs_av1: infer frame sizes when not coded in the bitstreamJames Almer2020-08-23
| | | | | | | This makes them available for all frames within a Temporal Unit. Reviewed-by: Mark Thompson <sw@jkqxz.net> Signed-off-by: James Almer <jamrial@gmail.com>
* cbs_av1: Fix test for presence of buffer_removal_time elementMark Thompson2020-08-23
| | | | | The frame must be in both the spatial and temporal layers for the operating point, not just one of them.
* avcodec/v4l2_m2m_enc: reindent after previous commitAndriy Gelman2020-08-23
| | | | Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
* avcodec/v4l2_m2m_enc: buffer frame if it cannot be enqueuedAndriy Gelman2020-08-23
| | | | | | | | | Currently if the frame buffers are full, the frame is unrefed and dropped. Instead buffer the frame so that it is enqueued in the next v4l2_receive_packet() call. The behavior was observed on DragonBoard 410c. Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
* avcodec/cbs_av1: always store temporal_id and spatial_id in ↵James Almer2020-08-23
| | | | | | | | | CodedBitstreamAV1Context Also infer them when not coded in the bitstream. Reviewed-by: jkqxz Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs_av1: fix storage size for render_{width,height}_minus_1James Almer2020-08-23
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/gif: fix disposal method for first frame and transparent gifsPaul B Mahol2020-08-23
| | | | Fixes #7902
* avcodec/notchlc: add initial alpha supportPaul B Mahol2020-08-23
|
* avcodec/dvbsubdec: error out on unsupported coding methodsClément Bœsch2020-08-22
|
* avcodec/dvbsubdec: request samples for missing coding methodsClément Bœsch2020-08-22
|
* avcodec/dvbsubenc: fix onject/object typoClément Bœsch2020-08-22
|
* avcodec/dvbsubenc: reindent after previous commitClément Bœsch2020-08-22
|
* avcodec/dvbsubenc: merge rectangle encode code blocksClément Bœsch2020-08-22
|
* avcodec/dvbsub: add "enc" suffix to encoderClément Bœsch2020-08-22
|
* avcodec/dvbsub: remove useless indirection in dvbsub_encode.Clément Bœsch2020-08-22
|
* avcodec/rzpaenc: Remove set-but-unused variableAndreas Rheinhardt2020-08-22
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/libaomdec: Set SAR based on RenderWidth and RenderHeightDerek Buitenhuis2020-08-21
| | | | | | This is the same thing we do in libdav1d.c Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avcodec/proresenc: infer array lengthsMichael Bradshaw2020-08-21
| | | | Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
* avcodec: add RPZA encoderPaul B Mahol2020-08-21
|
* avcodec/proresenc: add support for PQ and HLGMichael Bradshaw2020-08-21
| | | | Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
* avcodec/qdmc: reduce insanely huge tablesPaul B Mahol2020-08-21
|
* avcodec/h2645_parse: reset the H2645NAL type value before parsing a NAL headerJames Almer2020-08-20
| | | | | | | This will prevent reporting a bogus value in the log message when the header parsing fails. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/h2645_parse: skip empty NAL units earlierJames Almer2020-08-20
| | | | | | No point in trying to parse nonexistent header bits. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/h2645_parse: always return 0 on successful ↵James Almer2020-08-20
| | | | | | | | | h{264,evc}_parse_nal_header() calls HEVC NALs are no longer being skipped based on their nuh_layer_id value since ad326379c6. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/decode: move the ff_decode_frame_props() prototype to the proper headerJames Almer2020-08-20
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* libavcodec/proresdec2: Setup qmat_chroma according to RDD36Harry Mallon2020-08-20
| | | | | Signed-off-by: Harry Mallon <harry.mallon@codex.online> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavc/libkvazaar: export encoded frame statsJun Zhao2020-08-20
| | | | | | Export choosen pict_type and qp. Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
* avcodec/v4l2_context: return EAGAIN to signal full buffersAndriy Gelman2020-08-16
| | | | | | | | | Return proper error when frame buffers are full. This path is triggered on the DragonBoard 410c since the encoding API change in commit 827d6fe73d2f5472c1c2. Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com> Reviewed-by: Mark Thompson <sw@jkqxz.net>
* avcodec/utils: calculate frame number of HEVC if the framerate > 30FPSLimin Wang2020-08-16
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/bsf: improve the doxy for av_bsf_flush()James Almer2020-08-15
| | | | | | Mention an example scenario where the function should be used. Signed-off-by: James Almer <jamrial@gmail.com>