summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* avcodec/exr: add lut oriented half to float conversion codePaul B Mahol2021-03-02
|
* avcodec/exrenc: move float2half code to own headerPaul B Mahol2021-03-02
|
* avcodec/exr: add DWA decompression supportPaul B Mahol2021-03-02
|
* avcodec/svq1dec: use av_fast_padded_malloc() for allocation pmv only when ↵Paul B Mahol2021-03-02
| | | | necessary
* avformat/dashdec: Increase size of id bufferAndreas Rheinhardt2021-03-02
| | | | | | | | The current size is not enough, see e.g. http://ftp.itec.aau.at/datasets/DASHDataset2014/TearsOfSteel/1sec/TearsOfSteel_1s_simple_2014_05_09.mpd Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/dashdec: Ensure strings are zero-terminatedAndreas Rheinhardt2021-03-02
| | | | | | | | | | | | | | | | | strncpy only ensures that one does not write beyond the end of the destination buffer; in case of truncation it does not zero-terminate the destination buffer. This makes using it the way it is now in the DASH demuxer dangerous. So use av_strlcpy instead. Also don't write anything if there is no id: The buffer has already been zeroed initially. The DASH testset from the Universität Klagenfurt contains samples with ids that are too long. E.g. http://ftp.itec.aau.at/datasets/DASHDataset2014/TearsOfSteel/1sec/TearsOfSteel_1s_simple_2014_05_09.mpd Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* fftools: Switch to const AVCodec * where possibleAndreas Rheinhardt2021-03-02
| | | | | | | | | | | The obstacle to do so was in filter_codec_opts: It uses searches the AVCodec for options via the AV_OPT_SEARCH_FAKE_OBJ method, which requires using a void * that points to a pointer to a const AVClass. When using const AVCodec *, one can not simply use a pointer that points to the AVCodec's pointer to its AVClass, as said pointer is const, too. This is fixed by using a temporary pointer to the AVClass. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/mpegvideo: Schedule unused, deprecated rc_strategy for removalAndreas Rheinhardt2021-03-02
| | | | | | Deprecated in d05c3b9ceeb9d00d4500c376448230e45f6ab108. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* fate/matroska: Test remuxing tracks for hearing/visually impairedAndreas Rheinhardt2021-03-02
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/matroskaenc: Add support for FlagOriginalAndreas Rheinhardt2021-03-02
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/matroskadec: Add support for FlagOriginalAndreas Rheinhardt2021-03-02
| | | | | | | | | | | | | | | | Needs a CountedElement in order to distinguish the case of the element not being present and the element being present with a value of zero. (It has been argued by Ridley Combs that one should only ever use the AV_DISPOSITION_DUB field for audio tracks. Yet given that there is no definition for the disposition flags, one can also interpret it to mean that e.g. a subtitle track is meant to be used with the dubbed audio track or the original audio track. This commit interprets this flag in this sense, which also allows to maintain it on remuxing.) Reviewed-by: Anton Khirnov <anton@khirnov.net> Reviewed-by: Ridley Combs <rcombs@rcombs.me> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/mov: Extend data_size check in mov_read_udta_string()Michael Niedermayer2021-03-01
| | | | | | | | Fixes: signed integer overflow: -2147483634 - 16 cannot be represented in type 'int' Fixes: 28322/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-5711888402612224 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/aadec: Check for EOF while reading chaptersMichael Niedermayer2021-03-01
| | | | | | | | Fixes: timeout Fixes: 28199/clusterfuzz-testcase-minimized-ffmpeg_dem_AA_fuzzer-4896162657861632 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avcodec/h2645_parse: Reduce the initial skipped_bytes_pos size with small inputsMichael Niedermayer2021-03-01
| | | | | | | | | Fixes: OOM Fixes: 23817/clusterfuzz-testcase-minimized-ffmpeg_BSF_H264_METADATA_fuzzer-6300869057576960 Fixes: 28055/clusterfuzz-testcase-minimized-ffmpeg_BSF_TRACE_HEADERS_fuzzer-5706035297517568 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/voc_packet: Add a basic check on max_sizeMichael Niedermayer2021-03-01
| | | | | | | | Fixes: signed integer overflow: -2147483648 - 4 cannot be represented in type 'int' Fixes: 28127/clusterfuzz-testcase-minimized-ffmpeg_dem_VOC_fuzzer-4880586455646208 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/sga: improve probing for valid filesPaul B Mahol2021-03-01
| | | | Update variables depending on high four bits of first two bytes.
* avformat: add Digital Pictures SGA game demuxerPaul B Mahol2021-03-01
|
* avcodec: add SGA Video decoderPaul B Mahol2021-03-01
|
* avcodec: add SGA PCM decoderPaul B Mahol2021-03-01
|
* Remove double ';'Andreas Rheinhardt2021-03-01
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/roqvideoenc: Avoid allocating buffers separatelyAndreas Rheinhardt2021-03-01
| | | | | | | | | This is possible because their size is known at compile-time; so they can be put directly into the context and don't need to be allocated for every frame. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/roqvideoenc: Avoid intermediate bufferAndreas Rheinhardt2021-03-01
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/roqvideoenc: Reuse buffers instead of alloc+free for each frameAndreas Rheinhardt2021-03-01
| | | | | | | | | In case of the cel evaluators it even allows to perform the initialization of the source coordinates only once instead of for each frame. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/roqvideo: Use dedicated context for encoderAndreas Rheinhardt2021-03-01
| | | | | | | | | | | Up until now, the RoQ video decoder and encoder used the same context; and said context contained several fields that are only used by the encoder. This commit changes this and uses a dedicated context for the encoder; it contains the common context as first element in order to use functions common to the de- and encoder. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/exr: add fast path for case when powf() isn't neededPaul B Mahol2021-02-28
|
* avcodec/dxtory: Fix undefined shift with negative linesizeMichael Niedermayer2021-02-28
| | | | | | | | | Fixes: left shift of negative value -128 Fixes: 30746/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_DXTORY_fuzzer-5906271469436928 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>
* doc/codecs.texi: Remove removed or ineffective optionsAndreas Rheinhardt2021-02-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/libx264: Don't use init_static_data for newer versionsAndreas Rheinhardt2021-02-28
| | | | | | | | | | | x264 versions >= 153 can support multiple bitdepths; they also don't export x264_bit_depth any more. The actual check whether a bitdepth is supported is therefore performed at runtime in x264_encoder_open. Ergo it is unnecessary to use init_static_data for these versions: One can already set ff_libx264_encoder.pix_fmts to the value that X264_init_static always sets it to. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/webmdashenc: Use av_strstart instead of strncmpAndreas Rheinhardt2021-02-28
| | | | | | | It makes the intent clearer and avoids calculating the length separately. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/matroskadec: Use av_strstart instead of strncmpAndreas Rheinhardt2021-02-28
| | | | | | | It makes the intent clearer and avoids calculating the length separately. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/avio: Use av_strstart instead of strncmpAndreas Rheinhardt2021-02-28
| | | | | | | It makes the intent clearer and avoids calculating the length in advance. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* fftools/cmdutils: Use av_strstart instead of strncmpAndreas Rheinhardt2021-02-28
| | | | | | | It makes the intent clearer and avoids searching for a delimiter in advance. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avutil/spherical: Use av_strstart instead of strncmpAndreas Rheinhardt2021-02-28
| | | | | | | It makes the intent clearer and avoids calculating the length separately. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avutil/stereo3d: Use av_strstart instead of strncmpAndreas Rheinhardt2021-02-28
| | | | | | | It makes the intent clearer and avoids calculating the length separately. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avutil/pixdesc: Use av_strstart where appropriateAndreas Rheinhardt2021-02-28
| | | | | | | It makes the intent clearer and allows to avoid calculating the strlen separately. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/pcmdec: Beautify pcm_read_headerAndreas Rheinhardt2021-02-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/pcmdec: Simplify parsing MIME typeAndreas Rheinhardt2021-02-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/pcmdec: Fix NULL + 1Andreas Rheinhardt2021-02-28
| | | | | | It is undefined behaviour. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/pcm(dec|enc): Don't include disabled (de)muxersAndreas Rheinhardt2021-02-28
| | | | | | | | Also make the macro used for the demuxers spec-compliant. The earlier macro was not, because the ... argument of a variadic macro must not be left out. GCC and Clang warn about this when using -pedantic. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/movenc: Only check for timecodes if they are usedAndreas Rheinhardt2021-02-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* fftools/ffmpeg, ffplay: Don't set refcounted_framesAndreas Rheinhardt2021-02-28
| | | | | | | It only affects the old and deprecated avcodec_decode_(video2|audio4) API which is no longer used here. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/movenc: Don't check for disabled muxersAndreas Rheinhardt2021-02-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat/movenc: Remove always true checkAndreas Rheinhardt2021-02-28
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/exr: handle case when |im - IM| == 1 for huff compressionPaul B Mahol2021-02-28
|
* avformat/movenccenc: Fix memory leak for muxing CENC-encrypted filesVadym Bezdushnyi2021-02-27
| | | | | | | | | | | | | | | | | | | | | | | | Memory for auxillary_info was not freed after usage. Leak can be reproduced with following commands: Optionally, generate input video: ffmpeg -f lavfi -i testsrc=duration=10:size=1280x720:rate=30 input.mp4 Run ffmpeg with valgrind: valgrind --leak-check=full --show-leak-kinds=all \ ffmpeg -y -i input.mp4 -vcodec copy -acodec copy \ -encryption_scheme cenc-aes-ctr \ -encryption_key 00000000000000000000000000000000 \ -encryption_kid 00000000000000000000000000000000 \ ffmpeg_encrypted.mp4 For test video which has duration of 10 sec, leak is 4 Kb. For 100 sec video, leak will be 33 Kb. Most likely, leaked memory will grow linearly to the number of input frames. Signed-off-by: Vadym Bezdushnyi <vadim.bezdush@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice: use av_gettime_relative() for elapsed time calculationsMarton Balint2021-02-27
| | | | | | | | | | av_gettime_relative() is using the monotonic clock therefore more suitable for elapsed time calculations. Packet timestamps are still kept absolute, although that should be configurable in the future. Related to ticket #9089. Signed-off-by: Marton Balint <cus@passwd.hu>
* avdevice/timefilter: remove obsolete comments from the docsMarton Balint2021-02-27
| | | | | | Also rename the parameters of the function to match with the implementation. Signed-off-by: Marton Balint <cus@passwd.hu>
* avfilter/avf_showcqt: use av_gettime_relative() instead of av_gettime()Marton Balint2021-02-27
| | | | | | | av_gettime_relative() is using the monotonic clock therefore more suitable for relative time calculations. Signed-off-by: Marton Balint <cus@passwd.hu>
* avcodec/x86: add cfhdenc SIMDPaul B Mahol2021-02-27
|
* avcodec/options: deprecate avcodec_get_frame_class()James Almer2021-02-27
| | | | | | | | AVFrame hasn't been a struct defined in libavcodec for a decade now, when it was moved to libavutil. Found-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>