1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-07 11:13:41 +02:00
Commit Graph

100815 Commits

Author SHA1 Message Date
Michael Niedermayer
60770a50fb avformat/nistspheredec: Check bits_per_coded_sample and channels
Fixes: signed integer overflow: 80 * 92233009 cannot be represented in type 'int'
Fixes: 26910/clusterfuzz-testcase-minimized-ffmpeg_dem_NISTSPHERE_fuzzer-6669100654919680

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-21 20:21:32 +01:00
Michael Niedermayer
631ee3f8e4 avformat/paf: Do not zero allocated tables which are immedeately filled
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-21 20:21:32 +01:00
Andreas Rheinhardt
b347384173 avcodec/me_cmp: Remove ff_check_alignment()
The usage of a static variable presents a potential for data races and
means that this function can't be used in init functions of codecs with
FF_CODEC_CAP_INIT_THREADSAFE (unless of course one presumes that
everything is alright in which case the error is not triggered; but then
the whole function is pointless...). This makes the Snow decoder
init-threadsafe as it already claims.

Notice that this function has been removed in 2014 by Libav in commit
9103185bd1, because only some codepaths
are checked this way and because it only affects legacy compilers. The
latter is of course even more true today.

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-01-21 19:13:06 +01:00
Andreas Rheinhardt
1f9ef2f3cf avcodec/mpeg12dec: Remove redundant writes
ff_mpv_decode_init() already sets MpegEncContext.avctx.

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-01-21 19:12:43 +01:00
Andreas Rheinhardt
aff923c0b5 avcodec/Makefile: Make H.263 encoder compilable without MPEG4 encoder
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-01-21 19:02:18 +01:00
Andreas Rheinhardt
ab905f1dbc avcodec/Makefile: Make H.263 decoder compilable without H.263I
The only call to ff_intel_h263_decode_picture_header() is already behind
"if (CONFIG_H263I_DECODER)".

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-01-21 19:02:18 +01:00
Andreas Rheinhardt
d64828c8af avcodec/Makefile: Remove FLAC dependencies on vorbis_data
2ef2496cd1 used ff_vorbis_channel_layouts
in flac.c, but added a dependency to the FLAC decoder only; lateron
aba0278e9f added the dependency of the
FLAC parser and encoder on vorbis_data.o. Yet when the original commit
was reverted in aba0278e9f, the two other
dependencies were not removed. This commit fixes this.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-01-21 19:02:18 +01:00
Andreas Rheinhardt
21b4b90475 avcodec/Makefile: Remove dependency of H.263 on FLV codecs
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-01-21 19:02:18 +01:00
Andreas Rheinhardt
9e74f324d8 avcodec/Makefile: Remove unnecessary cbrt_data dependency
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-01-21 19:02:18 +01:00
Mark Thompson
fa75e43875 h264_redundant_pps_bsf: Use common cbs bsf implementation 2021-01-21 17:13:55 +00:00
Mark Thompson
375176a540 av1_metadata_bsf: Use common cbs bsf implementation 2021-01-21 17:13:55 +00:00
Mark Thompson
e46aa5a894 vp9_metadata_bsf: Use common cbs bsf implementation 2021-01-21 17:13:55 +00:00
Mark Thompson
f35b268327 mpeg2_metadata_bsf: Use common cbs bsf implementation
This also adds support for updating new extradata.
2021-01-21 17:13:55 +00:00
Mark Thompson
b95f901c7f h265_metadata_bsf: Use common cbs bsf implementation 2021-01-21 17:13:55 +00:00
Mark Thompson
c837d9481a h264_metadata_bsf: Use common cbs bsf implementation 2021-01-21 17:13:54 +00:00
Mark Thompson
01a68c12a7 cbs: Implement common parts of cbs-based bitstream filters separately
This allows removal of a lot of duplicated code between BSFs.
2021-01-21 17:13:54 +00:00
Mark Thompson
c9c5b1977f h264_metadata_bsf: Improve interpretation of input display matrices
The previous code here only worked in more limited cases.
2021-01-21 17:13:54 +00:00
Mark Thompson
8a14d51b8b h264_metadata_bsf: Refactor the filter function into smaller parts 2021-01-21 17:13:54 +00:00
Mark Thompson
88b65bed9c cbs_sei: Remove restrictions on MDCV values
Since this was originally written the standards have changed to allow
arbitrary values here, but leaves their meaning unspecified.
2021-01-21 17:13:54 +00:00
Mark Thompson
8843607f49 cbs_h2645: Merge SEI message handling in common between codecs 2021-01-21 17:13:54 +00:00
Mark Thompson
773857df59 hevc: Use common SEI types 2021-01-21 17:13:54 +00:00
Mark Thompson
64b3aac8d0 h264: Use common SEI types 2021-01-21 17:13:54 +00:00
Mark Thompson
9ef32649d0 lavc: Add new header for SEI payload types
These form a common namespace between the H.264, H.265 and H.266
standards, so we can use the same definitions in all three places.
2021-01-21 17:13:54 +00:00
Mark Thompson
75092c5b45 h264_metadata_bsf: Move SEI user data parsing to init time 2021-01-21 17:13:54 +00:00
Mark Thompson
4bf3384800 cbs_h2645: Merge SEI messages in common between codecs
Make a new template file for common SEI messages - this will also apply
to H.266.
2021-01-21 17:13:54 +00:00
Paul B Mahol
df4e2b923c avfilter/vf_readeia608: add >8 depth support 2021-01-21 14:52:40 +01:00
James Almer
a423bc9dc2 ffmpeg_opts: remove lowres check
The st->codec values are updated based on the lowres factor by
avformat_find_stream_info() when it runs an instance of the decoder internally,
and the same thing happens in ffmpeg.c when we open ist->dec_ctx with
avcodec_open2(), so these assignments are redundant.

Signed-off-by: James Almer <jamrial@gmail.com>
2021-01-21 10:22:41 -03:00
Paul B Mahol
f07a8b13f3 avfilter/vf_super2xsai: add slice threading support 2021-01-21 13:37:47 +01:00
Paul B Mahol
c2ee42e032 avfilter/vf_super2xsai: constify src pointer 2021-01-21 13:37:47 +01:00
Paul B Mahol
b51eae1abe avfilter/vf_dblur: remove unused line 2021-01-21 13:37:47 +01:00
Paul B Mahol
4225819c70 avfilter/vf_deblock: fix >8 depth format case check 2021-01-21 13:37:47 +01:00
Paul B Mahol
27f1ee7f53 avfilter/vf_fieldmatch: use av_malloc_array() 2021-01-21 13:37:47 +01:00
Paul B Mahol
b43c35c633 avfilter/vf_decimate: add support for more formats 2021-01-21 13:37:47 +01:00
Michael Niedermayer
0bee216ad4 avformat/asfdec_o: Check size vs. offset in detect_unknown_subobject()
Fixes: signed integer overflow: 2314885530818453566 + 7503032301549264928 cannot be represented in type 'long'
Fixes: 26639/clusterfuzz-testcase-minimized-ffmpeg_dem_ASF_O_fuzzer-6024222100684800

Alternatively this could be ignored but then the end condition of the loop
would be hard to reach as avio_tell() is int64_t

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-20 21:26:46 +01:00
Michael Niedermayer
03c479ce23 avformat/utils: check for integer overflow in av_get_frame_filename2()
Fixes: signed integer overflow: 317316873 * 10 cannot be represented in type 'int'
Fixes: 24708/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5731180885049344

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-20 21:26:46 +01:00
Paul B Mahol
24dc6d386c avfilter/vf_nnedi: fix memleak at eof and simplify frame handling 2021-01-20 13:39:59 +01:00
Paul B Mahol
1dc71cf64e avfilter/vf_nnedi: small improvements 2021-01-20 13:39:59 +01:00
rcombs
2021dbe1d6 MAINTAINERS: update names 2021-01-20 01:04:26 -06:00
rcombs
eabf5e6d6b All: update names in copyright headers 2021-01-20 01:02:56 -06:00
Paul B Mahol
f359575c0b avfilter/vf_nnedi: unbreak nsize=0:nns=0 output 2021-01-19 20:37:37 +01:00
Paul B Mahol
c737f6edce avfilter/vf_nnedi: simplify code even more 2021-01-19 20:37:37 +01:00
Paul B Mahol
553eb07737 avfilter/vf_nnedi: small cleanups 2021-01-19 14:59:05 +01:00
Paul B Mahol
f3f5ba0bf8 avfilter/vf_nnedi: fix some compilation errors and warnings 2021-01-19 12:15:07 +01:00
Michael Niedermayer
c48110a4a4 avformat/id3v2: Check against max compression ratio before allocation
Fixes: Timeout (>10sec -> 12ms)
Fixes: 27612/clusterfuzz-testcase-minimized-ffmpeg_dem_PCM_S24BE_fuzzer-6605893000757248

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-19 00:05:50 +01:00
Michael Niedermayer
7d7ae68972 avformat/avidec: Use av_sat_sub64() in check_stream_max_drift()
Fixes: signed integer overflow: 8833900919969684211 - -9223372036854775808 cannot be represented in type 'long'
Fixes: 26726/clusterfuzz-testcase-minimized-ffmpeg_dem_AVI_fuzzer-5669377724383232
Fixes: 27587/clusterfuzz-testcase-minimized-ffmpeg_dem_AVI_fuzzer-6294562263531520

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-19 00:05:50 +01:00
Michael Niedermayer
1b19057396 avutil/timecode: Avoid undefined behavior with large framenum
Fixes: signed integer overflow: 2147462079 + 2149596 cannot be represented in type 'int'
Fixes: 27565/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5091972813160448

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-19 00:05:50 +01:00
Michael Niedermayer
8c9a5a0fe9 avformat/mov: Check a.size before computing next_root_atom
Fixes: signed integer overflow: 64 + 9223372036854775799 cannot be represented in type 'long'
Fixes: 27563/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-6244650163372032

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-19 00:05:50 +01:00
Michael Niedermayer
ac6c8993f7 avformat/sbgdec: Reduce the amount of floating point in str_to_time()
Fixes: 1e+75 is outside the range of representable values of type 'long'
Fixes: 26910/clusterfuzz-testcase-minimized-ffmpeg_dem_SBG_fuzzer-6626834808700928

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-19 00:05:50 +01:00
Paul B Mahol
d03c7b1ad4 avfilter/vf_w3fdif: add more forgotten formats 2021-01-18 14:05:51 +01:00
Paul B Mahol
e3baf45303 avfilter/vf_estdif: add some forgotten formats 2021-01-18 14:05:51 +01:00