summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* avcodec/mediacodecdec: do not abort when H264/HEVC extradata extraction failssfan52021-02-14
| | | | | | | Although rare, extradata can be present but empty and extraction will fail. However Android also supports passing codec-specific data inline and will likely play such a stream anyway. So there's no reason to abort initialization before we know for sure.
* avformat/mux: return a pointer to the packet in ff_interleaved_peek()James Almer2021-02-13
| | | | | | | And make it const, so the caller doesn't attempt to change it. ff_get_muxer_ts_offset() should be used to get the muxer timestamp offset. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/mux: add ff_get_muxer_ts_offset()James Almer2021-02-13
| | | | | | Will be useful in the next patch Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/utils: force lowres to 0 in avformat_find_stream_info()James Almer2021-02-13
| | | | | | Instead of applying it and then restoring the original codecpar dimensions. Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vf_convolution: add 16-column operation for filter_column()Paul B Mahol2021-02-13
| | | | Based on patch by Xu Jun <xujunzz@sjtu.edu.cn>
* avcodec/pngdec: fix possible race condition with APNG decodingPaul B Mahol2021-02-13
| | | | Fixes #9017
* avfilter/vf_datascope: pixscope: add commands supportPaul B Mahol2021-02-13
|
* avformat/electronicarts: Clear partial_packet on errorMichael Niedermayer2021-02-12
| | | | | | | | | Fixes: Infinite loop Fixes: 30165/clusterfuzz-testcase-minimized-ffmpeg_dem_EA_fuzzer-6224642371092480 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>
* avformat/r3d: Check samples before computing durationMichael Niedermayer2021-02-12
| | | | | | | | | Fixes: signed integer overflow: -4611686024827895807 + -4611686016279904256 cannot be represented in type 'long' Fixes: 30161/clusterfuzz-testcase-minimized-ffmpeg_dem_R3D_fuzzer-5694406713802752 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>
* avcodec/pnm_parser: Check av_image_get_buffer_size() for failureMichael Niedermayer2021-02-12
| | | | | | | | | | Fixes: out of array access Fixes: 30135/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PBM_fuzzer-4997145650397184 Fixes: 30208/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PGMYUV_fuzzer-5605891665690624.fuzz 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>
* avfilter/vf_psnr: remove precision limits for metadata valuesPaul B Mahol2021-02-12
|
* avfilter/vf_ssim: remove precision limits for metadata valuesPaul B Mahol2021-02-12
|
* avfilter/af_amix: rename sum option to normalizePaul B Mahol2021-02-12
| | | | It makes more sense to still use provided weights.
* avfilter/vf_ssim: add timeline supportPaul B Mahol2021-02-12
|
* avfilter/vf_psnr: add timeline supportPaul B Mahol2021-02-12
|
* avfilter/vf_gblur: add float format supportPaul B Mahol2021-02-12
|
* avcodec/dpx: add support for other single component 8bit filesPaul B Mahol2021-02-12
|
* avcodec/dpx: add float support for single components and rgb(a)Paul B Mahol2021-02-12
|
* avcodec: add setts bitstream filterPaul B Mahol2021-02-12
|
* avcodec/hevcdec: fix a return error valueJames Almer2021-02-12
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter: add monochrome video filterPaul B Mahol2021-02-12
|
* avfilter/vf_zscale: add support for setting scaling filter parametersJan Ekström2021-02-11
| | | | param_a/b are utilized for this.
* avcodec/hevcdec: add some missing allocation checksJames Almer2021-02-11
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/hevcdec: check that the local context list was allocated before ↵James Almer2021-02-11
| | | | | | | | | | | | | | | | | | | dereferencing it Since the decoder is not flagged as init cleanup capable, hevc_decode_free() is being called manually if the hevc_decode_extradata() call fails at the end of hevc_decode_init(). In a frame threading scenario, however, if AVCodec->init() returns an error, ff_frame_thread_free() will be called regardless of the above flag being set or not, resulting in hevc_decode_free() being called a second time for the same context. Workaround this by ensuring pointers are not dereferenced if they are NULL, and set the decoder as init cleanup capable while at it. Fixes ticket #9099. Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vf_pseudocolor: do not leave alpha uninitializedPaul B Mahol2021-02-11
|
* avfilter/vf_pseudocolor: add two more presetsPaul B Mahol2021-02-11
|
* avfilter/vf_pseudocolor: add opacity optionPaul B Mahol2021-02-11
|
* avfilter/af_adeclick: add more descriptive options namesPaul B Mahol2021-02-11
|
* avutil/common: Move everything inside inclusion guardsAndreas Rheinhardt2021-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libavutil/common.h is a public header that provides generic math functions whereas libavutil/intmath.h is a private header that contains plattform-specific optimized versions of said math functions. common.h includes intmath.h (when building the FFmpeg libraries) so that the optimized versions are used for them. This interdependency sometimes causes trouble: intmath.h once contained an inlined ff_sqrt function that relied upon av_log2_16bit. In case there was no optimized logarithm available on this plattform, intmath.h needed to include common.h to get the generic implementation and this has been done after the optimized versions (if any) have been provided so that common.h used the optimized versions; it also needed to be done before ff_sqrt. Yet when intmath.h was included from common.h and if an ordinary inclusion guard was used by common.h, the #include "common.h" in intmath.h was a no-op and therefore av_log2_16bit was still unknown at the end of intmath.h (and also in ff_sqrt) if no optimized version was available. Before a955b5965825631986ba854d007d4e934e466c7d this was solved by duplicating the #ifndef av_log2_16bit check after the inclusion of common.h in intmath.h; said commit instead moved these checks to the end of common.h, outside the inclusion guards and made common.h include itself to get these unguarded defines. This is still the current state of affairs. Yet this is unnecessary since 9734b8ba56d05e970c353dfd5baafa43fdb08024 as said commit removed ff_sqrt as well as the #include "common.h" from intmath.h. Therefore this commit moves everything inside the inclusion guards and makes common.h not include itself. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/mpegvideo_motion: Remove unnecessary headersAndreas Rheinhardt2021-02-11
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/mpegvideo_motion: ReindentationAndreas Rheinhardt2021-02-11
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/mpegvideo_motion: Improve check to remove dead codeAndreas Rheinhardt2021-02-11
| | | | | | | | Several compile-time checks can be improved because mcsel is not used for MPEG-1/2 (it is only used for MPEG-4) and because MPEG-1/2 is the only user of ff_mpv_motion that uses MV_TYPE_16X8 and MV_TYPE_DMV. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avfilter/vf_lagfun: use macroPaul B Mahol2021-02-11
|
* avfilter/vf_lagfun: add timeline supportPaul B Mahol2021-02-11
|
* avfilter/vf_lagfun: increase filter precisionPaul B Mahol2021-02-11
|
* avformat/wavdec: Consider AV_INPUT_BUFFER_PADDING_SIZE in set_spdif()Michael Niedermayer2021-02-10
| | | | | | | | | The buffer is read by using the bit reader Fixes: out of array read Fixes: 27539/clusterfuzz-testcase-minimized-ffmpeg_dem_WAV_fuzzer-5650565572591616 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/rmdec: Check remaining space in debug av_log() loopMichael Niedermayer2021-02-10
| | | | | | | | | Fixes: Timeout (long -> 2 ms) Fixes: 26709/clusterfuzz-testcase-minimized-ffmpeg_dem_IVR_fuzzer-5665833403285504 Fixes: 27522/clusterfuzz-testcase-minimized-ffmpeg_dem_IVR_fuzzer-6321071221112832 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/flvdec: Treat high ts byte as unsignedMichael Niedermayer2021-02-10
| | | | | | | Fixes: left shift of 255 by 24 places cannot be represented in type 'int' Fixes: 27516/clusterfuzz-testcase-minimized-ffmpeg_dem_KUX_fuzzer-5152854660349952 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: Ignore tags with invalid size during probingMichael Niedermayer2021-02-10
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: Factor offset advancement out in probingMichael Niedermayer2021-02-10
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: simplify size code in probing a bitMichael Niedermayer2021-02-10
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: Support size = 1 and size = 0 special cases in probingMichael Niedermayer2021-02-10
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/movenc: remove unnecessary HDR metadata log messagesJan Ekström2021-02-10
| | | | | | | | | | | | | | These made sense before 3ebf449766d4b69a7774c4990fb24fe71c848a3e when the creation of these boxes was specifically requested by the user, but now they have become unnecessary as they are just like many other boxes: If the input has the information required, they are written, otherwise they are not. They were moved to verbose verbosity level (which happens to be the last level still relatively usable), and now appear either once (normal MP4 muxing), or thrice (with the faststart flag set) in any normal MP4 usage, without giving much useful information. Thus, remove them in their current form.
* avfilter: add exposure video filterPaul B Mahol2021-02-10
|
* avfilter: add aexciter audio filterPaul B Mahol2021-02-10
|
* avfilter/af_arnndn: skip array extra entries by looking for new linePaul B Mahol2021-02-10
|
* avformat/samidec: Sanity check ptsMichael Niedermayer2021-02-10
| | | | | | | | Fixes: signed integer overflow: 0 - -9223372036854775808 cannot be represented in type 'long' Fixes: 29743/clusterfuzz-testcase-minimized-ffmpeg_dem_SAMI_fuzzer-5499256859394048 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/jpeg2000dec: Check atom_size in jp2_find_codestream()Michael Niedermayer2021-02-10
| | | | | | | | Fixes: Infinite loop Fixes: 29722/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_JPEG2000_fuzzer-6412228041506816 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mobiclip: Bound planar prediction valueMichael Niedermayer2021-02-10
| | | | | | | | | Fixes: signed integer overflow: 2 * 1073741952 cannot be represented in type 'int' Fixes: 26765/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MOBICLIP_fuzzer-6594926936326144 Fixes: 29663/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MOBICLIP_fuzzer-5169789012148224 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/avidec: Use 64bit in get_duration()Michael Niedermayer2021-02-10
| | | | | | | | Fixes: signed integer overflow: 2147483424 + 8224 cannot be represented in type 'int' Fixes: 29619/clusterfuzz-testcase-minimized-ffmpeg_dem_AVI_fuzzer-5191424373030912 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>