summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* x86/h264_cabac: convert decode_significance from inline asm to externaldecode_significanceAnton Khirnov2020-07-01
| | | | This is vastly more readable and more portable.
* avcodec/nvenc: add new h264 levels from Video SDK 10Timo Rothenpieler2020-07-01
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: add new Video SDK 10 featuresRoman Arzumanyan2020-07-01
| | | | | | | | 1. new Nvenc presets 2. new multipass encode modes 3. low delay key frame scale Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avformat/mov: fix memleaksZhao Zhili2020-07-01
| | | | | | | | Fix two cases of memleaks: 1. The leak of dv_demux 2. The leak of dv_fctx upon dv_demux allocate failure Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* libavformat/mov: Fix memleaks when demuxing DV audioAndreas Rheinhardt2020-07-01
| | | | | | | | | | | | | | | | | | | | | The code for demuxing DV audio predates the introduction of refcounted packets and when the latter was added, changes to the former were forgotten. This meant that when avpriv_dv_produce_packet initialized the packet containing the AVBufferRef, the AVBufferRef as well as the underlying AVBuffer leaked; the actual packet data didn't leak: They were directly freed, but not via their AVBuffer's free function. https://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4671/dir1.tar.bz2 contains samples for this (enable_drefs needs to be enabled for them). Moreover, errors in avpriv_dv_produce_packet were ignored; this has been changed, too. Furthermore, in the hypothetical scenario that the track has a palette, this would leak, too, so reorder the code so that the palette code appears after the DV audio code. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avutil/avsscanf: Add () to avoid integer overflow in scanexp()Michael Niedermayer2020-07-01
| | | | | | | | Fixes: signed integer overflow: 2147483610 + 52 cannot be represented in type 'int' Fixes: 23260/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PBM_fuzzer-5187871274434560 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/utils: reorder duration computation to avoid overflowMichael Niedermayer2020-07-01
| | | | | | | | Fixes: signed integer overflow: 8 * 9223372036854774783 cannot be represented in type 'long' Fixes: 23381/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-4818340509122560 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/pngdec: Check for fctl after idatMichael Niedermayer2020-07-01
| | | | | | | | Fixes: out of array access Fixes: 23554/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APNG_fuzzer-4796622520451072.fuzz Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/hls: Pass a copy of the URL for probingMichael Niedermayer2020-07-01
| | | | | | | | | | The segments / url can be modified by the io read when reloading This may be an alternative or additional fix for Ticket8673 as a further alternative the reload stuff could be disabled during probing Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/isom: add comment to mov_mdhd_language_mapZhao Zhili2020-07-01
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mlpenc: free filter state buffers on allocation failureJames Almer2020-07-01
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mlpenc: propagate proper error valuesJames Almer2020-07-01
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/mlpenc: remove delay codec capabilityJames Almer2020-07-01
| | | | | | | | | | The encoder has no delayed packets at the end of the encoding process, so signaling this capability is unnecessary. This also fixes an assertion failure introduced in 827d6fe73d, as return values higher than 0 are not expected. Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/internal: remove unused out_frame field from DecodeSimpleContextJames Almer2020-07-01
| | | | | | It was introduced in 061a0c14bb but apparently never used Signed-off-by: James Almer <jamrial@gmail.com>
* avutil/common: Fix integer overflow in av_ceil_log2_c()Michael Niedermayer2020-06-30
| | | | | | | | Fixes: left shift of 1913647649 by 1 places cannot be represented in type 'int' Fixes: 23572/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMALOSSLESS_fuzzer-5082619795734528 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/wmalosslessdec: fix overflow with pred in revert_cdlmsMichael Niedermayer2020-06-30
| | | | | | | | Fixes: signed integer overflow: 2048 + 2147483646 cannot be represented in type 'int' Fixes: 23538/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMALOSSLESS_fuzzer-5227567073460224 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/jpeg2000.c: Precinct size check removedGautam Ramakrishnan2020-06-30
| | | | | | | | | | This patch removes a check which throws an error if the log2 precinct width/height is 0. The standard allows the first component to have 0 as the log2 width/height. However, to ensure proper intialization of coding style, an extra check has been added. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/nvenc: rename tc option to something more uniqueTimo Rothenpieler2020-06-30
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avcodec/nvenc: add a53cc option for hevc_nvencTimo Rothenpieler2020-06-30
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avformat/dump: Use intermediate pointer for access to programs arrayAndreas Rheinhardt2020-06-30
| | | | | | | Improves readability. Reviewed-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/dump: Use const where appropriateAndreas Rheinhardt2020-06-30
| | | | | | | | Also switch to using a pointer to access stream side data instead of copying the stream's AVPacketSideData. Reviewed-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/smacker: Add FF_CODEC_CAP_INIT_CLEANUPAndreas Rheinhardt2020-06-30
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/mpeg12dec: Fix uninitialized data in fate-sub-cc-scte20Limin Wang2020-06-30
| | | | | | | | | The issue is introduced in a705bcd763e344fa, please tested with below command line: make V=1 fate-sub-cc-scte20 TARGET_EXEC="valgrind --error-exitcode=1" Reported-by: Martin Storsjö <martin@martin.st> Reviewed-by: Martin Storsjö <martin@martin.st> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* fate: Update fate refs after cca982ee018aad54214e94f2a0a5921c8bbf1328Andreas Rheinhardt2020-06-29
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avfilter/vf_colorbalance: remove wrong additionPaul B Mahol2020-06-29
|
* MAINTAINERS: remove myself as Twitter maintainerLou Logan2020-06-28
| | | | Signed-off-by: Lou Logan <lou@lrcd.com>
* lavf/movenc: Use a dynamic buffer when writing the mfra boxDerek Buitenhuis2020-06-28
| | | | | | | | | | | When doing streamed output, with e.g. +dash, if the mfra box ended up being larger than the AVIOContext write buffer, the (unchecked) seeking back to update the box size would silently fail and produce an invalid mfra box. This is similar to how other boxes are written in fragmented mode. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* avcodec/nvenc: support for HEVC timecode passthroughLimin Wang2020-06-28
| | | | | Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/nvenc: add more sei data supportLimin Wang2020-06-28
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/utils: add ff_alloc_timecode_sei() for hevc timecode seiLimin Wang2020-06-28
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/hevcdec: create AVFrame side data from HEVC timecodes like H.264Limin Wang2020-06-28
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/hevc_sei: support HEVC timecode decodeLimin Wang2020-06-28
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/h264_slice: use av_timecode_get_smpte()Limin Wang2020-06-28
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avutil/timecode: add function av_timecode_get_smpte()Limin Wang2020-06-28
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/vf_showinfo: add a \n for end of ERROR and WARNNING logLimin Wang2020-06-28
| | | | | | | Note for info level, one extra \n will be print after the log. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avcodec/bitstream: Avoid allocation when creating VLC tablesAndreas Rheinhardt2020-06-27
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/bitstream: Don't check for undefined behaviour after it happenedAndreas Rheinhardt2020-06-27
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smoothstreaming: Add deinit functionAndreas Rheinhardt2020-06-27
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/smoothstreaming: Don't write trailer of subcontextAndreas Rheinhardt2020-06-27
| | | | | | | | | | Nothing written in avformat_write_trailer() for the submuxers will be output anyway because the AVIOContexts used for actual output have been closed before the call. Writing the trailer of the subcontext has probably only been done in order to free the memory allocated by the submuxer. And this job has been taken over by the deinit functions. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/mvdec: Fix integer overflow with billions of channelsMichael Niedermayer2020-06-27
| | | | | | | | Fixes: signed integer overflow: 1394614304 * 2 cannot be represented in type 'int' Fixes: 23491/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5697377020411904 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/jpeg2000dec.c Fixed WRITE_FRAME and tile co-ordinates:Gautam Ramakrishnan2020-06-27
| | | | | | | | | | libopenjpeg2000 uses ceiling division while dividing tile co-ordinates with the sample separation. Also, corrections were made to the WRITE_FRAME macro. Improves: p1_01.j2k and p1_07.j2k Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavcodec/jpeg2000dec.c: Modify image dimensionsGautam Ramakrishnan2020-06-27
| | | | | | | | | | Reduce image size of the image if all components have a non zero sample separation. This is to replicate the output of opj_decompress. Improves: p1_01.j2k Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/adpcm_ima_apm: support new extradata formatZane van Iperen2020-06-26
| | | | | Signed-off-by: Zane van Iperen <zane@zanevaniperen.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/mpeg12dec: switch to AVBufferRef buffer for a53 captionLimin Wang2020-06-26
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avformat/avc, mxfenc: Avoid allocation of H264 SPS structure, fix memleakAndreas Rheinhardt2020-06-26
| | | | | | | | | | | | | | | | | | | | | | Up until now, ff_avc_decode_sps would parse a SPS and return some properties from it in a freshly allocated structure. Yet said structure is very small and completely internal to libavformat, so there is no reason to use the heap for it. This commit therefore changes the function to return an int and to modify a caller-provided structure. This will also allow ff_avc_decode_sps to return better error codes in the future. It also fixes a memleak in mxfenc: If a packet contained multiple SPS, only the SPS structure belonging to the last SPS would be freed, the other ones would leak when the pointer is overwritten to point to the new SPS structure. Of course, without allocations there are no leaks. This is Coverity issue #1445194. Furthermore, the SPS structure has been renamed from H264SequenceParameterSet to H264SPS in order to avoid overlong lines. Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/avc: Don't use ff_ prefix for static functionAndreas Rheinhardt2020-06-26
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/webvttdec: Accept \r as newlineAndreas Rheinhardt2020-06-26
| | | | | | | | | | | | | After parsing the end timestamp of a WebVTT cue block, the current code skips everything after the start of the timestamp that is not a \t, ' ' or \n and treats what is next as the start of a WebVTT cue settings list. Yet if there is no such list, but a single \r, this will skip a part of the cue payload (namely everything until the first occurence of \t, ' ' or \n) and treat what has not been skipped as the beginning of the WebVTT cue settings list that extends until the next \r or \n (or the end). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/av1: Avoid using dynamic buffer when assembling av1cAndreas Rheinhardt2020-06-26
| | | | | | | | | Given that AV1 only has exactly one sequence header, it is unnecessary to copy the content of said sequence header into an intermediate dynamic buffer; instead the sequence header can be copied from where it is in the input buffer. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec: add AV1 profiles to profile.hJames Almer2020-06-25
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avcodec/cbs_h265: set default VUI parameters when ↵James Almer2020-06-25
| | | | | | | | | | vui_parameters_present_flag is false Based on cbs_h264 code. Should fix ticket #8752. Signed-off-by: James Almer <jamrial@gmail.com>