]> git.sesse.net Git - ffmpeg/log
ffmpeg
3 years agoavcodec/mxpegdec: Fix memleaks upon init failure
Andreas Rheinhardt [Thu, 26 Nov 2020 21:16:13 +0000 (22:16 +0100)]
avcodec/mxpegdec: Fix memleaks upon init failure

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/mjpegdec: Fix memleak upon init failure
Andreas Rheinhardt [Thu, 26 Nov 2020 20:54:54 +0000 (21:54 +0100)]
avcodec/mjpegdec: Fix memleak upon init failure

This affected all decoders that used ff_mjpeg_decode_init() as init
function; and it also affected decoders that open jpeg decoders via
ff_codec_open2_recursive() as well as MxPEG.

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/smc: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 18:22:52 +0000 (19:22 +0100)]
avcodec/smc: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/sipr: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 18:22:15 +0000 (19:22 +0100)]
avcodec/sipr: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/shorten: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 18:18:04 +0000 (19:18 +0100)]
avcodec/shorten: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/sgirledec: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 18:16:32 +0000 (19:16 +0100)]
avcodec/sgirledec: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/sgienc: Combine av_log() statements
Andreas Rheinhardt [Thu, 26 Nov 2020 18:15:16 +0000 (19:15 +0100)]
avcodec/sgienc: Combine av_log() statements

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/sgienc: Mark encoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 18:09:46 +0000 (19:09 +0100)]
avcodec/sgienc: Mark encoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/sgidec: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 18:07:20 +0000 (19:07 +0100)]
avcodec/sgidec: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/tmv: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 18:02:28 +0000 (19:02 +0100)]
avcodec/tmv: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/ulti: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 17:56:06 +0000 (18:56 +0100)]
avcodec/ulti: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/ws-snd1: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 17:53:24 +0000 (18:53 +0100)]
avcodec/ws-snd1: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/xxan: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 17:12:54 +0000 (18:12 +0100)]
avcodec/xxan: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/xxan: Cleanup generically on init failure
Andreas Rheinhardt [Thu, 26 Nov 2020 17:11:29 +0000 (18:11 +0100)]
avcodec/xxan: Cleanup generically on init failure

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/xsubenc: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 17:08:38 +0000 (18:08 +0100)]
avcodec/xsubenc: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/xsubdec: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 16:52:44 +0000 (17:52 +0100)]
avcodec/xsubdec: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/xl: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 16:48:29 +0000 (17:48 +0100)]
avcodec/xl: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/xfacedec: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 16:46:01 +0000 (17:46 +0100)]
avcodec/xfacedec: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/xan: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 16:44:38 +0000 (17:44 +0100)]
avcodec/xan: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/xan: Cleanup generically on init failure
Andreas Rheinhardt [Thu, 26 Nov 2020 16:43:48 +0000 (17:43 +0100)]
avcodec/xan: Cleanup generically on init failure

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/yuv4dec: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 16:40:17 +0000 (17:40 +0100)]
avcodec/yuv4dec: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/y41penc: Mark encoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 16:38:43 +0000 (17:38 +0100)]
avcodec/y41penc: Mark encoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/y41pdec: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 16:38:23 +0000 (17:38 +0100)]
avcodec/y41pdec: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/yop: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 16:15:51 +0000 (17:15 +0100)]
avcodec/yop: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/cljrdec: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 16:11:03 +0000 (17:11 +0100)]
avcodec/cljrdec: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/loco: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 15:50:44 +0000 (16:50 +0100)]
avcodec/loco: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/pcm: Mark decoders as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 15:40:42 +0000 (16:40 +0100)]
avcodec/pcm: Mark decoders as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/pcm: Make encoders init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 15:37:31 +0000 (16:37 +0100)]
avcodec/pcm: Make encoders init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/adpcmenc: Mark encoders as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 13:31:06 +0000 (14:31 +0100)]
avcodec/adpcmenc: Mark encoders as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/adpcm: Mark decoders as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 13:26:17 +0000 (14:26 +0100)]
avcodec/adpcm: Mark decoders as init-threadsafe

They don't modify any global state

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/cdtoons: Mark decoder as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 13:24:00 +0000 (14:24 +0100)]
avcodec/cdtoons: Mark decoder as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/a64multienc: Mark encoders as init-threadsafe
Andreas Rheinhardt [Thu, 26 Nov 2020 13:15:01 +0000 (14:15 +0100)]
avcodec/a64multienc: Mark encoders as init-threadsafe

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavfilter/af_stereotools: add support for commands
Paul B Mahol [Fri, 4 Dec 2020 14:37:43 +0000 (15:37 +0100)]
avfilter/af_stereotools: add support for commands

3 years agoavfilter/af_stereotools: add timeline support
Paul B Mahol [Fri, 4 Dec 2020 14:22:06 +0000 (15:22 +0100)]
avfilter/af_stereotools: add timeline support

3 years agoavfilter/af_stereotools: add two more modes
Paul B Mahol [Fri, 4 Dec 2020 10:53:34 +0000 (11:53 +0100)]
avfilter/af_stereotools: add two more modes

3 years agofftools/cmdutils: also print warnings when using -sinks and -sources
Marton Balint [Thu, 8 Oct 2020 20:26:09 +0000 (22:26 +0200)]
fftools/cmdutils: also print warnings when using -sinks and -sources

Signed-off-by: Marton Balint <cus@passwd.hu>
3 years agoavdevice/decklink: warn about too old decklink API version
Marton Balint [Thu, 8 Oct 2020 19:31:24 +0000 (21:31 +0200)]
avdevice/decklink: warn about too old decklink API version

Signed-off-by: Marton Balint <cus@passwd.hu>
3 years agoavdevice/decklink_enc: simplify usage of buffercount type
Marton Balint [Thu, 8 Oct 2020 21:12:24 +0000 (23:12 +0200)]
avdevice/decklink_enc: simplify usage of buffercount type

Also remove some leftover declaration of CreateDeckLinkIteratorInstance().

Signed-off-by: Marton Balint <cus@passwd.hu>
3 years agoavdevice/decklink_dec: add support for 50/60 fps timecode
Marton Balint [Sat, 5 Sep 2020 21:29:24 +0000 (23:29 +0200)]
avdevice/decklink_dec: add support for 50/60 fps timecode

Signed-off-by: Marton Balint <cus@passwd.hu>
3 years agoavutil/timecode: add av_timecode_init_from_components
Marton Balint [Sat, 5 Sep 2020 21:04:28 +0000 (23:04 +0200)]
avutil/timecode: add av_timecode_init_from_components

Signed-off-by: Marton Balint <cus@passwd.hu>
3 years agoavutil/timecode: allow drop frame timecodes for multiples of 30000/1001 fps
Marton Balint [Sat, 5 Sep 2020 20:45:52 +0000 (22:45 +0200)]
avutil/timecode: allow drop frame timecodes for multiples of 30000/1001 fps

Signed-off-by: Marton Balint <cus@passwd.hu>
3 years agoavutil/film_grain_params: fix doxy for ar_coeff_* fields
James Almer [Thu, 3 Dec 2020 16:25:21 +0000 (13:25 -0300)]
avutil/film_grain_params: fix doxy for ar_coeff_* fields

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/pthread_slice: Don't use static variable, fix race
Andreas Rheinhardt [Sat, 28 Nov 2020 22:23:22 +0000 (23:23 +0100)]
avcodec/pthread_slice: Don't use static variable, fix race

ff_slice_thread_init() uses a static variable to hold a function
pointer, although the value of said pointer needn't be saved between
different runs of this function at all.

The reason for this being so is probably that said pointer points to
a static function (if used); but storage class specifiers like "static"
are not part of the type of an object and so including it in the pointer
declaration is wrong (anyway, "static" means different things in both
contexts: for the function declaration it affects linkage, for the
variable storage duration).

Using a static variable here can lead to races, e.g. when initializing
VP9 (for which said function pointer was added) and H.264 with slice
threading. The latter has the FF_CODEC_CAP_INIT_THREADSAFE flag set and
is therefore unaffected by the lock guarding initializations of
decoders.

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/mpeg12enc: Disallow using MPEG-2 intra VLC table for mpeg1video
Andreas Rheinhardt [Tue, 24 Nov 2020 14:32:04 +0000 (15:32 +0100)]
avcodec/mpeg12enc: Disallow using MPEG-2 intra VLC table for mpeg1video

Using MPEG-2 intra VLC tables is spec-incompliant for MPEG-1 and given
that an MPEG-1 bitstream can't signal whether MPEG-2 intra VLC tables
have been used the output is broken. Therefore this option is removed
immediately without any deprecation period.

Reviewed-by: James Almer <jamrial@gmail.com>
Reviewed-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavfilter/af_acrossover: add per output band gain
Paul B Mahol [Wed, 2 Dec 2020 12:48:32 +0000 (13:48 +0100)]
avfilter/af_acrossover: add per output band gain

3 years agoavutil/avsscanf: fix possible overreads when dealing with %c or %s
Paul B Mahol [Wed, 2 Dec 2020 12:46:22 +0000 (13:46 +0100)]
avutil/avsscanf: fix possible overreads when dealing with %c or %s

3 years agoavfilter/af_acrossover: remove pointless allocation of static size
Paul B Mahol [Wed, 2 Dec 2020 11:38:29 +0000 (12:38 +0100)]
avfilter/af_acrossover: remove pointless allocation of static size

3 years agoavfilter/af_acrossover: document roll-off of each filter order
Paul B Mahol [Wed, 2 Dec 2020 11:28:01 +0000 (12:28 +0100)]
avfilter/af_acrossover: document roll-off of each filter order

3 years agoavfilter/af_acrossover: move coefficients and state to simple arrays
Paul B Mahol [Tue, 1 Dec 2020 10:34:50 +0000 (11:34 +0100)]
avfilter/af_acrossover: move coefficients and state to simple arrays

3 years agoavfilter/af_anequalizer: add timeline and slice support
Paul B Mahol [Tue, 1 Dec 2020 17:38:11 +0000 (18:38 +0100)]
avfilter/af_anequalizer: add timeline and slice support

3 years agoavcodec/cbs_h2645: remove dead code in cbs_h2645_replace_ps()
James Almer [Tue, 29 Sep 2020 14:20:48 +0000 (11:20 -0300)]
avcodec/cbs_h2645: remove dead code in cbs_h2645_replace_ps()

Missed in 0720e15c0330f0f101c02d5c2c6548e964079f6d. PS units are now guaranteed
to always be reference counter.

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/cbs_av1: ensure Sequence Header unit content is always reference counted
James Almer [Tue, 29 Sep 2020 14:14:07 +0000 (11:14 -0300)]
avcodec/cbs_av1: ensure Sequence Header unit content is always reference counted

Prevents a NULL pointer dereference.

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/vaapi_av1: read film grain param values from AV1Frames
James Almer [Mon, 30 Nov 2020 16:42:31 +0000 (13:42 -0300)]
avcodec/vaapi_av1: read film grain param values from AV1Frames

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/dxva2_av1: read film grain param values from AV1Frames
James Almer [Wed, 25 Nov 2020 20:53:23 +0000 (17:53 -0300)]
avcodec/dxva2_av1: read film grain param values from AV1Frames

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/nvdec_av1: read film grain param values from AV1Frames
James Almer [Wed, 25 Nov 2020 20:05:33 +0000 (17:05 -0300)]
avcodec/nvdec_av1: read film grain param values from AV1Frames

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/av1dec: infer and store film grain param values in AV1Frame
James Almer [Wed, 25 Nov 2020 20:02:56 +0000 (17:02 -0300)]
avcodec/av1dec: infer and store film grain param values in AV1Frame

They are not always coded in the bistream for each frame. In some cases, the
values need to be taken from a reference frame.

See section 6.8.20 from the AV1 spec.

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/cbs_av1: split film grain param fields into their own struct
James Almer [Wed, 25 Nov 2020 19:56:51 +0000 (16:56 -0300)]
avcodec/cbs_av1: split film grain param fields into their own struct

Cosmetic change in preparation for the following patches.

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoRevert "avcodec/nvdec_av1: fix setting film grain parameters for frames with update_g...
James Almer [Wed, 25 Nov 2020 19:29:34 +0000 (16:29 -0300)]
Revert "avcodec/nvdec_av1: fix setting film grain parameters for frames with update_grain == 0"

This reverts commit f9eec6298387fe72cd8035ff45276cfc3da784a8.

This does not effectively cover all cases. The values for some frames need
to be inferred by the decoder.

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavfilter/af_agate: add support for commands and timeline
Paul B Mahol [Mon, 30 Nov 2020 20:40:52 +0000 (21:40 +0100)]
avfilter/af_agate: add support for commands and timeline

3 years agoavfilter/af_acrossover: remove unneeded emms_c() calls
Paul B Mahol [Mon, 30 Nov 2020 13:50:34 +0000 (14:50 +0100)]
avfilter/af_acrossover: remove unneeded emms_c() calls

3 years agoavfilter/af_acrossover: unroll biquad_process loop
Paul B Mahol [Mon, 30 Nov 2020 13:20:45 +0000 (14:20 +0100)]
avfilter/af_acrossover: unroll biquad_process loop

Makes code significantly faster for higher orders.

3 years agoavfilter/af_acrossover: use fdsp for inverter
Paul B Mahol [Mon, 30 Nov 2020 12:45:08 +0000 (13:45 +0100)]
avfilter/af_acrossover: use fdsp for inverter

3 years agoavfilter/af_acrossover: always align nb_samples for fdsp call
Paul B Mahol [Sun, 29 Nov 2020 21:08:35 +0000 (22:08 +0100)]
avfilter/af_acrossover: always align nb_samples for fdsp call

3 years agoavfilter/af_asupercut: add float sample format support
Paul B Mahol [Sun, 29 Nov 2020 20:33:52 +0000 (21:33 +0100)]
avfilter/af_asupercut: add float sample format support

3 years agoavcodec/hevc_cabac: Limit value in coeff_abs_level_remaining_decode() tighter
Michael Niedermayer [Thu, 22 Oct 2020 22:24:01 +0000 (00:24 +0200)]
avcodec/hevc_cabac: Limit value in coeff_abs_level_remaining_decode() tighter

The max depth is 16bps, the max allowed coefficient depth is depth+6
Fixes: signed integer overflow: 1074266112 + 1073725439 cannot be represented in type 'int'
Fixes: 26493/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5657763331702784
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/cafdec: Check the return code from av_add_index_entry()
Michael Niedermayer [Thu, 22 Oct 2020 21:13:16 +0000 (23:13 +0200)]
avformat/cafdec: Check the return code from av_add_index_entry()

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/cafdec: Check for EOF in index read loop
Michael Niedermayer [Tue, 17 Nov 2020 23:58:37 +0000 (00:58 +0100)]
avformat/cafdec: Check for EOF in index read loop

Fixes: OOM
Fixes: 27398/clusterfuzz-testcase-minimized-ffmpeg_dem_CAF_fuzzer-541296033975500
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/cafdec: Check that bytes_per_packet and frames_per_packet are non negative
Michael Niedermayer [Thu, 22 Oct 2020 21:08:13 +0000 (23:08 +0200)]
avformat/cafdec: Check that bytes_per_packet and frames_per_packet are non negative

These fields are not signed in the spec (1.0) so they cannot be negative
Changing bytes_per_packet to unsigned would not solve this as it is exported
as block_align which is signed

Fixes: Infinite loop
Fixes: 26492/clusterfuzz-testcase-minimized-ffmpeg_dem_CAF_fuzzer-5632087614554112
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/mpegts: Limit iterations of get_packet_size()
Michael Niedermayer [Thu, 22 Oct 2020 18:41:48 +0000 (20:41 +0200)]
avformat/mpegts: Limit iterations of get_packet_size()

This is a pathological case where the fuzzer provides only 2 bytes per iteration.

Fixes: Timeout (>30 -> 0.9sec)
Fixes: 26488/clusterfuzz-testcase-minimized-ffmpeg_dem_MPEGTS_fuzzer-5911031077142528
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec/notchlc: Check available space for luma block code and alpha code
Michael Niedermayer [Sat, 12 Sep 2020 15:05:04 +0000 (17:05 +0200)]
avcodec/notchlc: Check available space for luma block code and alpha code

Fixes: Timeout (too long -> 2sec)
Fixes: 25439/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_NOTCHLC_fuzzer-5688211127664640
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter/af_asupercut: add order option
Paul B Mahol [Sun, 29 Nov 2020 13:06:44 +0000 (14:06 +0100)]
avfilter/af_asupercut: add order option

3 years agoavfilter/af_acrossover: split in correct spot
Paul B Mahol [Sun, 29 Nov 2020 09:39:13 +0000 (10:39 +0100)]
avfilter/af_acrossover: split in correct spot

Previously split was made in wrong (half of original) position.

3 years agoavfilter/af_acrossover: reduce memory usage
Paul B Mahol [Sun, 29 Nov 2020 09:12:26 +0000 (10:12 +0100)]
avfilter/af_acrossover: reduce memory usage

Split biquad coefficients from biquad state.

3 years agoavcodec/pafvideo: Cleanup generically on init failure
Andreas Rheinhardt [Fri, 27 Nov 2020 17:28:24 +0000 (18:28 +0100)]
avcodec/pafvideo: Cleanup generically on init failure

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/pnmenc: Mark encoders as init-threadsafe
Andreas Rheinhardt [Fri, 27 Nov 2020 13:33:22 +0000 (14:33 +0100)]
avcodec/pnmenc: Mark encoders as init-threadsafe

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/photocd: Mark decoder as init-threadsafe
Andreas Rheinhardt [Fri, 27 Nov 2020 13:23:19 +0000 (14:23 +0100)]
avcodec/photocd: Mark decoder as init-threadsafe

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/pcm-dvdenc: Mark encoder as init-threadsafe
Andreas Rheinhardt [Fri, 27 Nov 2020 13:18:00 +0000 (14:18 +0100)]
avcodec/pcm-dvdenc: Mark encoder as init-threadsafe

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/pcm-dvd: Mark decoder as init-threadsafe
Andreas Rheinhardt [Fri, 27 Nov 2020 13:16:13 +0000 (14:16 +0100)]
avcodec/pcm-dvd: Mark decoder as init-threadsafe

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/pafvideo: Mark decoder as init-threadsafe
Andreas Rheinhardt [Fri, 27 Nov 2020 13:10:44 +0000 (14:10 +0100)]
avcodec/pafvideo: Mark decoder as init-threadsafe

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/pafaudio: Mark decoder as init-threadsafe
Andreas Rheinhardt [Fri, 27 Nov 2020 13:04:45 +0000 (14:04 +0100)]
avcodec/pafaudio: Mark decoder as init-threadsafe

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/cdxl: Mark decoder as init-threadsafe
Andreas Rheinhardt [Fri, 27 Nov 2020 12:37:40 +0000 (13:37 +0100)]
avcodec/cdxl: Mark decoder as init-threadsafe

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/svq1dec: Make decoder init-threadsafe
Andreas Rheinhardt [Fri, 27 Nov 2020 02:29:12 +0000 (03:29 +0100)]
avcodec/svq1dec: Make decoder init-threadsafe

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/a64multienc: Fix memleak upon init failure
Andreas Rheinhardt [Thu, 26 Nov 2020 12:48:09 +0000 (13:48 +0100)]
avcodec/a64multienc: Fix memleak upon init failure

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavfilter/af_asubboost: make wet option apply to final output
Paul B Mahol [Sat, 28 Nov 2020 20:59:14 +0000 (21:59 +0100)]
avfilter/af_asubboost: make wet option apply to final output

Also changes some default values for options after this change.
This makes distinction between feedback and wet option.
Before they would produce same output if values were swapped.

3 years agoavfilter/avf_showfreqs: add group delay data mode
Paul B Mahol [Sat, 28 Nov 2020 19:43:14 +0000 (20:43 +0100)]
avfilter/avf_showfreqs: add group delay data mode

3 years agoavformat/rtspdec: fix potential mem leak in listen mode
Andriy Gelman [Fri, 27 Nov 2020 00:37:21 +0000 (19:37 -0500)]
avformat/rtspdec: fix potential mem leak in listen mode

Currently a repeating setup request (with the same stream id) will
simply overwrite rtp_handle/transport_priv without freeing the
resources first. This is fixed by closing the previous setup request.

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
3 years agoavformat/rtspdec: show method request in log
Andriy Gelman [Fri, 27 Nov 2020 00:16:52 +0000 (19:16 -0500)]
avformat/rtspdec: show method request in log

Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
3 years agoavfilter/af_acrossover: add option to adjust input gain
Paul B Mahol [Sat, 28 Nov 2020 14:54:10 +0000 (15:54 +0100)]
avfilter/af_acrossover: add option to adjust input gain

3 years agoavfilter/af_acrossover: really fix single-pole allpass coefficients
Paul B Mahol [Sat, 28 Nov 2020 13:37:06 +0000 (14:37 +0100)]
avfilter/af_acrossover: really fix single-pole allpass coefficients

Now LR2, LR6, LR10, LR14 and LR18 have really flat sum.

3 years agodoc/filters: mention when adenorm filter should be placed in graph
Paul B Mahol [Sat, 28 Nov 2020 12:02:13 +0000 (13:02 +0100)]
doc/filters: mention when adenorm filter should be placed in graph

3 years agoavfilter/af_acrossover: remove unecessary allpass calls
Paul B Mahol [Sat, 28 Nov 2020 11:49:25 +0000 (12:49 +0100)]
avfilter/af_acrossover: remove unecessary allpass calls

3 years agoavcodec/utils: Require a non zero channels unless AV_CODEC_CAP_CHANNEL_CONF is set
Michael Niedermayer [Wed, 9 Sep 2020 21:13:02 +0000 (23:13 +0200)]
avcodec/utils: Require a non zero channels unless AV_CODEC_CAP_CHANNEL_CONF is set

This avoids per codec checks for channels not being 0

Fixes: division by 0
Fixes: 25419/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FASTAUDIO_fuzzer-5632544761184256
Fixes: 25433/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FASTAUDIO_fuzzer-6215671900536832
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Suggested-by: Paul B Mahol <onemda@gmail.com>
See: [FFmpeg-devel] [PATCH 1/3] avcodec/fastaudio: Check channel
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec: Set AV_CODEC_CAP_CHANNEL_CONF in more decoders
Michael Niedermayer [Wed, 9 Sep 2020 21:12:32 +0000 (23:12 +0200)]
avcodec: Set AV_CODEC_CAP_CHANNEL_CONF in more decoders

Suggested-by: Paul B Mahol <onemda@gmail.com>
See: [FFmpeg-devel] [PATCH 1/3] avcodec/fastaudio: Check channels
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter/af_aemphasis: add timeline/slice and commands support
Paul B Mahol [Fri, 27 Nov 2020 21:32:00 +0000 (22:32 +0100)]
avfilter/af_aemphasis: add timeline/slice and commands support

3 years agoavfilter/af_aemphasis: switch to planar sample format
Paul B Mahol [Fri, 27 Nov 2020 20:51:24 +0000 (21:51 +0100)]
avfilter/af_aemphasis: switch to planar sample format

3 years agodoc/filters: fix several errors/typos
Paul B Mahol [Fri, 27 Nov 2020 20:08:35 +0000 (21:08 +0100)]
doc/filters: fix several errors/typos

3 years agoavfilter/af_acrossover: add support for float sample format
Paul B Mahol [Fri, 27 Nov 2020 17:32:56 +0000 (18:32 +0100)]
avfilter/af_acrossover: add support for float sample format

3 years agoavcodec: deprecate thread_safe_callbacks
Anton Khirnov [Fri, 22 May 2020 13:59:46 +0000 (15:59 +0200)]
avcodec: deprecate thread_safe_callbacks

They add considerable complexity to frame-threading implementation,
which includes an unavoidably leaking error path, while the advantages
of this option to the users are highly dubious.

It should be always possible and desirable for the callers to make their
get_buffer2() implementation thread-safe, so deprecate this option.

3 years agoavfilter/af_acrossover: fix single pole allpass coefficients
Paul B Mahol [Fri, 27 Nov 2020 14:33:13 +0000 (15:33 +0100)]
avfilter/af_acrossover: fix single pole allpass coefficients

3 years agodoc/filters: document adenorm commands support
Paul B Mahol [Fri, 27 Nov 2020 13:34:13 +0000 (14:34 +0100)]
doc/filters: document adenorm commands support