]> git.sesse.net Git - ffmpeg/log
ffmpeg
3 years agoavcodec/mpeg12: Don't initialize encoder-only parts of RLTable
Andreas Rheinhardt [Tue, 8 Dec 2020 19:25:23 +0000 (20:25 +0100)]
avcodec/mpeg12: Don't initialize encoder-only parts of RLTable

ff_mpeg12_init_vlcs() currently initializes index_run, max_level and
max_run of ff_rl_mpeg1/2; yet the only user of these fields is the
MPEG-1/2 encoder which already initializes these tables on its own.
So remove the initializations in ff_mpeg12_init_vlcs(); this also
simplifies making ff_mpeg12_init_vlcs() thread-safe.

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agoavcodec/rl: Remove nonstatic storage of RL tables
Andreas Rheinhardt [Tue, 8 Dec 2020 18:44:02 +0000 (19:44 +0100)]
avcodec/rl: Remove nonstatic storage of RL tables

ff_rl_free() was added in 324e50ee95929a9491b855c5e15451145bd5d1ec,
but never used; nonstatic storage was not used long before that.

Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 years agodnn_interface.h: fix redefining typedefs
Guo, Yejun [Thu, 31 Dec 2020 01:19:39 +0000 (09:19 +0800)]
dnn_interface.h: fix redefining typedefs

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agodnn/queue: add error check and cleanup
Guo, Yejun [Wed, 30 Dec 2020 05:11:27 +0000 (13:11 +0800)]
dnn/queue: add error check and cleanup

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agodnn: fix issue when pthread is not supported
Guo, Yejun [Wed, 30 Dec 2020 02:47:29 +0000 (10:47 +0800)]
dnn: fix issue when pthread is not supported

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agodnn: fix redefining typedefs and also refine naming with correct prefix
Guo, Yejun [Wed, 30 Dec 2020 01:37:14 +0000 (09:37 +0800)]
dnn: fix redefining typedefs and also refine naming with correct prefix

The prefix for symbols not exported from the library and not
local to one translation unit is ff_ (or FF for types).

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agohwcontext_drm: make dependency on Linux kernel headers optional
Lynne [Wed, 30 Dec 2020 21:19:16 +0000 (22:19 +0100)]
hwcontext_drm: make dependency on Linux kernel headers optional

This was introduced in version 4.6. And may not exist all without an
optional package. So to prevent a hard dependency on needing the Linux
kernel headers to compile, make this optional.

Also ignore the status of the ioctl, since it may fail on older kernels
which don't support it. It's okay to ignore as its not fatal and any
serious errors will be caught later by the mmap call.

3 years agoavfilter/vf_w3fdif: add support for commands
Paul B Mahol [Wed, 30 Dec 2020 15:31:19 +0000 (16:31 +0100)]
avfilter/vf_w3fdif: add support for commands

3 years agoavfilter/vf_xmedian: allow to control eof handling
Paul B Mahol [Wed, 30 Dec 2020 14:51:24 +0000 (15:51 +0100)]
avfilter/vf_xmedian: allow to control eof handling

3 years agoavfilter/vf_xmedian: add timeline support
Paul B Mahol [Wed, 30 Dec 2020 14:33:50 +0000 (15:33 +0100)]
avfilter/vf_xmedian: add timeline support

3 years agovf_dnn_processing.c: add async support
Guo, Yejun [Wed, 16 Dec 2020 06:07:00 +0000 (14:07 +0800)]
vf_dnn_processing.c:  add async support

Signed-off-by: Xie, Lin <lin.xie@intel.com>
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agodnn_interface: change from 'void *userdata' to 'AVFilterContext *filter_ctx'
Guo, Yejun [Wed, 18 Nov 2020 06:54:10 +0000 (14:54 +0800)]
dnn_interface: change from 'void *userdata' to 'AVFilterContext *filter_ctx'

'void *' is too flexible, since we can derive info from
AVFilterContext*, so we just unify the interface with this data
structure.

Signed-off-by: Xie, Lin <lin.xie@intel.com>
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agodnn: add async execution support for openvino backend
Guo, Yejun [Wed, 18 Nov 2020 06:30:11 +0000 (14:30 +0800)]
dnn: add async execution support for openvino backend

Signed-off-by: Xie, Lin <lin.xie@intel.com>
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agodnn_interface: add interface to support async execution
Guo, Yejun [Wed, 18 Nov 2020 06:28:06 +0000 (14:28 +0800)]
dnn_interface: add interface to support async execution

Signed-off-by: Xie, Lin <lin.xie@intel.com>
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agodnn_backend_openvino.c: refine code for error handle
Guo, Yejun [Wed, 18 Nov 2020 06:16:24 +0000 (14:16 +0800)]
dnn_backend_openvino.c: refine code for error handle

Signed-off-by: Xie, Lin <lin.xie@intel.com>
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agodnn_backend_openvino.c: separate function execute_model_ov
Guo, Yejun [Tue, 17 Nov 2020 12:55:13 +0000 (20:55 +0800)]
dnn_backend_openvino.c: separate function execute_model_ov

function fill_model_input_ov and infer_completion_callback are
extracted, it will help the async execution for reuse.

Signed-off-by: Xie, Lin <lin.xie@intel.com>
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agodnn/queue: add queue and safe_queue support
Xie, Lin [Mon, 9 Nov 2020 06:09:13 +0000 (14:09 +0800)]
dnn/queue: add queue and safe_queue support

Signed-off-by: Xie, Lin <lin.xie@intel.com>
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agovf_dnn_processing.c: replace filter_frame with activate func
Guo, Yejun [Wed, 7 Oct 2020 02:47:31 +0000 (10:47 +0800)]
vf_dnn_processing.c: replace filter_frame with activate func

with this change, dnn_processing can use DNN async interface later.

Signed-off-by: Xie, Lin <lin.xie@intel.com>
Signed-off-by: Wu Zhiwen <zhiwen.wu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agoavcodec/codec_desc: describe AV_CODEC_ID_MPEG2TS
Aman Karmani [Tue, 22 Dec 2020 22:28:38 +0000 (14:28 -0800)]
avcodec/codec_desc: describe AV_CODEC_ID_MPEG2TS

Signed-off-by: Aman Karmani <aman@tmm1.net>
3 years agoavformat/rtsp: add satip_raw flag to receive raw mpegts stream
Aman Karmani [Mon, 21 Dec 2020 23:53:55 +0000 (15:53 -0800)]
avformat/rtsp: add satip_raw flag to receive raw mpegts stream

This can be used to receive the raw mpegts stream from a SAT>IP
server, by letting avformat handle the RTSP/RTP/UDP negotiation
and setup, but then simply passing the MP2T stream through
instead of demuxing it further.

For example, this command would demux/remux the mpegts stream:

    SATIP_URL='satip://192.168.1.99:554/?src=1&freq=12188&pol=h&ro=0.35&msys=dvbs&mtype=qpsk&plts=off&sr=27500&fec=34&pids=0,17,18,167,136,47,71'
    ffmpeg -i $SATIP_URL -map 0 -c copy -f mpegts -y remux.ts

Whereas this command will simply write out the raw stream, with
the original PAT/PMT/PIDs intact:

    ffmpeg -rtsp_flags satip_raw -i $SATIP_URL -map 0 -c copy -f data -y raw.ts

Signed-off-by: Aman Karmani <aman@tmm1.net>
3 years agoavformat/rtsp: add support for satip://
Aman Karmani [Wed, 16 Dec 2020 20:40:16 +0000 (12:40 -0800)]
avformat/rtsp: add support for satip://

The SAT>IP protocol[1] is similar to RTSP. However SAT>IP servers
are assumed to speak only MP2T, so DESCRIBE is not used in the same
way. When no streams are active, DESCRIBE will return 404 according
to the spec (see section 3.5.7). When streams are active, DESCRIBE
will return a list of all current streams along with information
about their signal strengths.

Previously, attemping to use ffmpeg with a rtsp:// url that points
to a SAT>IP server would work with some devices, but fail due to 404
response on others. Further, if the SAT>IP server was already
streaming, ffmpeg would incorrectly consume the DESCRIBE SDP response
and join an existing tuner instead of requesting a new session with
the URL provided by the user. These issues have been noted by many
users across the internet[2][3][4].

This commit adds proper spec-compliant support for SAT>IP, including:

- support for the satip:// psuedo-protocol[5]
- avoiding the use of DESCRIBE
- parsing and consuming the com.ses.streamID response header
- using "Transport: RTP/AVP;unicast" because the optional "/UDP"
  suffix confuses some servers

This patch has been validated against multiple SAT>IP vendor devices:

- Telestar Digibit R2
  (https://telestar.de/en/produkt/digibit-r1-2/)
- Kathrein EXIP 418
  (https://www.kathrein-ds.com/en/produkte/sat-zf-verteiltechnik/sat-ip/227/exip-418)
- Kathrein EXIP 4124
  (https://www.kathrein-ds.com/en/products/sat-if-signal-distribution/sat-ip/226/exip-4124)
- Megasat MEG-8000
  (https://www.megasat.tv/produkt/sat-ip-server-3/)
- Megasat Twin
  (https://www.megasat.tv/en/produkt/sat-ip-server-twin/)
- Triax TSS 400
  (https://www.conrad.com/p/triax-tss-400-mkii-sat-ip-server-595256)

[1] https://www.satip.info/sites/satip/files/resource/satip_specification_version_1_2_2.pdf
[2] https://stackoverflow.com/questions/61194344/does-ffmpeg-violate-the-satip-specification-describe-syntax
[3] https://github.com/kodi-pvr/pvr.iptvsimple/issues/196
[4] https://forum.kodi.tv/showthread.php?tid=359072&pid=2995884#pid2995884
[5] https://www.satip.info/resources/channel-lists/

3 years agoavcodec/tiff: Disallow striped and tiled tiffs except for DNG
Michael Niedermayer [Mon, 2 Nov 2020 09:46:04 +0000 (10:46 +0100)]
avcodec/tiff: Disallow striped and tiled tiffs except for DNG

strips + tiles is not allowed in TIFF
DNG uses a separate codepath

Regression since da5b3d002862d1e105002a6dc1567e6551860896.

Fixes: NULL pointer dereference
Fixes: poc1
Fixes: Ticket8960
Found-by: 1vanChen of NSFOCUS Security Team
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/mpegts: Fix argument type for av_log
Michael Niedermayer [Sun, 27 Dec 2020 17:47:44 +0000 (18:47 +0100)]
avformat/mpegts: Fix argument type for av_log

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/mxfdec: Do not clear arrays in mxf_read_index_entry_array()
Michael Niedermayer [Sat, 26 Dec 2020 10:44:25 +0000 (11:44 +0100)]
avformat/mxfdec: Do not clear arrays in mxf_read_index_entry_array()

They are written too immediately, so it should not be needed.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agolavu: use address-of operator checking clock_gettime
Marvin Scholz [Tue, 8 Dec 2020 22:18:25 +0000 (23:18 +0100)]
lavu: use address-of operator checking clock_gettime

When targeting a recent enough macOS/iOS version that has clock_gettime
it won't be a weak symbol, in which case clang warns for this check
as it's always true:

  warning: address of function 'clock_gettime' will always
  evaluate to 'true'

This warning is silenced by using the address-of operator to make
the intent explicit.

3 years agoavformat/hlsproto: update comment of file description
Steven Liu [Wed, 23 Dec 2020 09:34:12 +0000 (17:34 +0800)]
avformat/hlsproto: update comment of file description

reference link to rfc8216

Signed-off-by: liuqi05 <liuqi05@kuaishou.com>
3 years agoavformat/hls: update comment of file description
Steven Liu [Wed, 23 Dec 2020 09:32:34 +0000 (17:32 +0800)]
avformat/hls: update comment of file description

reference link to rfc8216

Signed-off-by: liuqi05 <liuqi05@kuaishou.com>
3 years agodoc/muxers: correct description of hls_enc_key and hls_enc_iv
Steven Liu [Wed, 9 Dec 2020 05:39:22 +0000 (13:39 +0800)]
doc/muxers: correct description of hls_enc_key and hls_enc_iv

because hls_enc_key and hls_enc_iv get 16byte char
for example:
-hls_enc_key 0123456789abcdef -hls_enc_iv abcdefghijklmnop

Reviewed-by: Gyan Doshi <ffmpeg@gyani.pro>
Signed-off-by: Steven Liu <liuqi05@kuaishou.com>
3 years agoavfilter/vf_decimate: always properly handle EOF
Paul B Mahol [Sun, 27 Dec 2020 21:22:40 +0000 (22:22 +0100)]
avfilter/vf_decimate: always properly handle EOF

3 years agoavfilter/vf_decimate: stop dropping last frames with ppsrc
Paul B Mahol [Sun, 27 Dec 2020 20:59:10 +0000 (21:59 +0100)]
avfilter/vf_decimate: stop dropping last frames with ppsrc

3 years agoavfilter/vf_decimate: fix broken logic with ppsrc handling
Paul B Mahol [Sun, 27 Dec 2020 20:01:38 +0000 (21:01 +0100)]
avfilter/vf_decimate: fix broken logic with ppsrc handling

Make output bit exact with VIVTC VDecimate filter.

3 years agoavfilter/vf_framerate: fix infinite loop with 1-frame input
Marton Balint [Sun, 20 Dec 2020 18:32:56 +0000 (19:32 +0100)]
avfilter/vf_framerate: fix infinite loop with 1-frame input

Fixes infinite loop in:
ffmpeg -f lavfi -i testsrc=d=0.04 -vf framerate=50 -f null none

Signed-off-by: Marton Balint <cus@passwd.hu>
3 years agodoc/protocols: document cache option
Gyan Doshi [Sun, 27 Dec 2020 09:20:24 +0000 (14:50 +0530)]
doc/protocols: document cache option

Add entry for read_ahead_limit

3 years agoavfilter/vf_xmedian: add support for commands
Paul B Mahol [Fri, 25 Dec 2020 15:41:44 +0000 (16:41 +0100)]
avfilter/vf_xmedian: add support for commands

3 years agoavfilter/af_vibrato: make sure table size is at least 1
Paul B Mahol [Fri, 25 Dec 2020 13:07:25 +0000 (14:07 +0100)]
avfilter/af_vibrato: make sure table size is at least 1

Fixes overreads.

3 years agoavfilter/af_tremolo: make sure table size is at least 1
Paul B Mahol [Fri, 25 Dec 2020 13:01:52 +0000 (14:01 +0100)]
avfilter/af_tremolo: make sure table size is at least 1

3 years agoavcodec/cfhd: properly handle midstream size changes for transform type 2
Paul B Mahol [Wed, 23 Dec 2020 11:34:14 +0000 (12:34 +0100)]
avcodec/cfhd: properly handle midstream size changes for transform type 2

3 years agolibswscale: avoid UB nullptr-with-offset.
Jeremy Leconte [Thu, 24 Dec 2020 04:27:19 +0000 (04:27 +0000)]
libswscale: avoid UB nullptr-with-offset.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/swfdec: Allocate output buffer after reading input
Michael Niedermayer [Wed, 18 Nov 2020 00:29:23 +0000 (01:29 +0100)]
avformat/swfdec: Allocate output buffer after reading input

Fixes: Timeout (>10sec -> 0.26sec)
Fixes: 27419/clusterfuzz-testcase-minimized-ffmpeg_dem_SWF_fuzzer-5678307361947648
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: clip sample rate
Michael Niedermayer [Tue, 17 Nov 2020 23:48:26 +0000 (00:48 +0100)]
avformat/cafdec: clip sample rate

Fixes: 1.21126e+111 is outside the range of representable values of type 'int'
Fixes: 27398/clusterfuzz-testcase-minimized-ffmpeg_dem_CAF_fuzzer-5412960339755008
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 agotools/target_dec_fuzzer: Adjust maxpixels for G2M
Michael Niedermayer [Mon, 16 Nov 2020 23:41:45 +0000 (00:41 +0100)]
tools/target_dec_fuzzer: Adjust maxpixels for G2M

Fixes: Timeout (50sec -> 3sec)
Fixes: 27383/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_G2M_fuzzer-5196953666977792
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 agolavf/img2dec: Increase score for very large jpeg images.
Carl Eugen Hoyos [Thu, 24 Dec 2020 12:16:44 +0000 (13:16 +0100)]
lavf/img2dec: Increase score for very large jpeg images.

Avoids a conflict with the raw mjpeg demuxer.

3 years agolavd/decklink_dec: Do not set codec_tags.
Carl Eugen Hoyos [Sun, 13 Dec 2020 10:01:02 +0000 (11:01 +0100)]
lavd/decklink_dec: Do not set codec_tags.

Only set the pix_fmt for rawvideo.

Fixes ticket #9005.

Reviewed-by: Marton Balint
3 years agoffmpeg: delay first stats
Gyan Doshi [Wed, 23 Dec 2020 04:53:30 +0000 (10:23 +0530)]
ffmpeg: delay first stats

Wait for all output files to be initialized before printing first stats.

Avoids breaking output file dump report.

3 years agoavformat/hlsenc: Add dependency on avc.o
Derek Buitenhuis [Tue, 22 Dec 2020 20:58:53 +0000 (15:58 -0500)]
avformat/hlsenc: Add dependency on avc.o

a2b1dd0ce301450a47c972745a6b33c4c273aa5d added a dependency
on ff_nal_unit_extract_rbsp.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
3 years agoffmpeg: don't delay printing initial stats
Gyan Doshi [Mon, 21 Dec 2020 09:16:15 +0000 (14:46 +0530)]
ffmpeg: don't delay printing initial stats

The first stats is printed after the initial stats_period has elapsed. With a large period,
it may appear that ffmpeg has frozen at startup.

The initial stats is now printed after the first transcode_step.

3 years agoffmpeg: add option stats_period
Gyan Doshi [Mon, 21 Dec 2020 08:46:49 +0000 (14:16 +0530)]
ffmpeg: add option stats_period

At present, progress stats are updated at a hardcoded interval of
half a second. For long processes, this can lead to bloated
logs and progress reports.

Users can now set a custom period using option -stats_period
Default is kept at 0.5 seconds.

3 years agoavfilter/vf_decimate: fix overreads when using ppsrc
Paul B Mahol [Tue, 22 Dec 2020 12:19:12 +0000 (13:19 +0100)]
avfilter/vf_decimate: fix overreads when using ppsrc

Derive input parameters from correct inlink when using ppsrc.

Previously both input frames would use dimensions of first inlink,
causing crash if first inlink w/h was smaller than second one.

3 years agodnn: add NV12 pixel format support
Ting Fu [Fri, 18 Dec 2020 08:08:29 +0000 (16:08 +0800)]
dnn: add NV12 pixel format support

Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
3 years agoavcodec/ffv1dec: Fix off by 1 error with quant tables
Michael Niedermayer [Fri, 18 Dec 2020 23:22:04 +0000 (00:22 +0100)]
avcodec/ffv1dec: Fix off by 1 error with quant tables

Fixes: assertion failure
Fixes: 28447/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FFV1_fuzzer-5369575948550144
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>
3 years agoavformat/mpegts: simplify nb_packets code
Michael Niedermayer [Fri, 18 Dec 2020 23:22:02 +0000 (00:22 +0100)]
avformat/mpegts: simplify nb_packets code

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavformat/mpegts: Increase pcr_incr width to 64bit
Michael Niedermayer [Fri, 18 Dec 2020 23:22:01 +0000 (00:22 +0100)]
avformat/mpegts: Increase pcr_incr width to 64bit

Fixes: division by zero
Fixes: 26459/clusterfuzz-testcase-minimized-ffmpeg_dem_MPEGTSRAW_fuzzer-5666350112178176
Fixes: 28154/clusterfuzz-testcase-minimized-ffmpeg_dem_MPEGTSRAW_fuzzer-5195728439476224
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter/vf_decimate: switch to activate
Paul B Mahol [Mon, 21 Dec 2020 22:09:58 +0000 (23:09 +0100)]
avfilter/vf_decimate: switch to activate

3 years agoavfilter/af_crystalizer: implement inverse filtering
Paul B Mahol [Mon, 21 Dec 2020 12:07:23 +0000 (13:07 +0100)]
avfilter/af_crystalizer: implement inverse filtering

3 years agoavfilter/af_crystalizer: use proper type for variable
Paul B Mahol [Mon, 21 Dec 2020 10:57:24 +0000 (11:57 +0100)]
avfilter/af_crystalizer: use proper type for variable

3 years agoavfilter/af_crystalizer: improve filter description
Paul B Mahol [Mon, 21 Dec 2020 10:34:40 +0000 (11:34 +0100)]
avfilter/af_crystalizer: improve filter description

3 years agoavformat/libamqp: parse vhost in uri
Andriy Gelman [Sun, 20 Dec 2020 03:32:04 +0000 (22:32 -0500)]
avformat/libamqp: parse vhost in uri

Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
3 years agoavfilter: add shufflepixels video filter
Paul B Mahol [Wed, 19 Aug 2020 08:23:03 +0000 (10:23 +0200)]
avfilter: add shufflepixels video filter

3 years agodoc/codecs: add entries for export_side_data
Gyan Doshi [Sun, 20 Dec 2020 09:39:28 +0000 (15:09 +0530)]
doc/codecs: add entries for export_side_data

Document addition of venc_params and film_grain.

3 years agoavcodec/fastaudio: Fix invalid shift exponent
Michael Niedermayer [Tue, 8 Sep 2020 21:03:19 +0000 (23:03 +0200)]
avcodec/fastaudio: Fix invalid shift exponent

Fixes: shift exponent 32 is too large for 32-bit type 'unsigned int'
Fixes: 25434/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_FASTAUDIO_fuzzer-6252363168612352
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/vf_maskedthreshold: add support for commands
Paul B Mahol [Sat, 19 Dec 2020 22:05:36 +0000 (23:05 +0100)]
avfilter/vf_maskedthreshold: add support for commands

3 years agoavfilter/vf_maskedminmax: add support for commands
Paul B Mahol [Sat, 19 Dec 2020 19:41:51 +0000 (20:41 +0100)]
avfilter/vf_maskedminmax: add support for commands

3 years agoavfilter/vf_maskedclamp: add support for commands
Paul B Mahol [Sat, 19 Dec 2020 19:37:26 +0000 (20:37 +0100)]
avfilter/vf_maskedclamp: add support for commands

3 years agoavfilter/vf_bilateral: add support for commands
Paul B Mahol [Sat, 19 Dec 2020 19:32:09 +0000 (20:32 +0100)]
avfilter/vf_bilateral: add support for commands

3 years agodoc/filters: document that cas filter supports commands
Paul B Mahol [Sat, 19 Dec 2020 19:12:26 +0000 (20:12 +0100)]
doc/filters: document that cas filter supports commands

3 years agotools/target_dem_fuzzer: remove unused label
Michael Niedermayer [Fri, 23 Oct 2020 08:49:55 +0000 (10:49 +0200)]
tools/target_dem_fuzzer: remove unused label

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec/utils: Check bitrate for overflow in get_bit_rate()
Michael Niedermayer [Sun, 25 Oct 2020 18:19:54 +0000 (19:19 +0100)]
avcodec/utils: Check bitrate for overflow in get_bit_rate()

Fixes: signed integer overflow: 617890810133996544 * 16 cannot be represented in type 'long'
Fixes: 26565/clusterfuzz-testcase-minimized-ffmpeg_dem_MV_fuzzer-5092054700654592
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/mov: Check if hoov is at the end
Michael Niedermayer [Sun, 25 Oct 2020 17:39:45 +0000 (18:39 +0100)]
avformat/mov: Check if hoov is at the end

Fixes: Timeout, probably infinite loop
Fixes: 26559/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-5391165484171264
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/hevc_ps: Change scaling_list_dc_coef to 8 bit
Michael Niedermayer [Sat, 19 Dec 2020 14:17:24 +0000 (15:17 +0100)]
avcodec/hevc_ps: Change scaling_list_dc_coef to 8 bit

Suggested-by: James
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavcodec/hevc_ps: check scaling_list_dc_coef
Michael Niedermayer [Fri, 18 Dec 2020 22:05:22 +0000 (23:05 +0100)]
avcodec/hevc_ps: check scaling_list_dc_coef

Fixes: signed integer overflow: 2147483640 + 8 cannot be represented in type 'int'
Fixes: 28449/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HEVC_fuzzer-5686013259284480
Reviewed-by: James Almer <jamrial@gmail.com>
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/vf_fillborders: add fade mode
Paul B Mahol [Fri, 18 Dec 2020 22:06:56 +0000 (23:06 +0100)]
avfilter/vf_fillborders: add fade mode

3 years agofate/image: add missing ffprobe dependency to fate-dpx-probe
James Almer [Fri, 18 Dec 2020 21:43:35 +0000 (18:43 -0300)]
fate/image: add missing ffprobe dependency to fate-dpx-probe

And use the existing probeframes helper while at it.

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agofate/image: update fate-dpx-probe reference file
James Almer [Fri, 18 Dec 2020 21:42:20 +0000 (18:42 -0300)]
fate/image: update fate-dpx-probe reference file

Regression since 20b09b20a942d4aad38f9fa1324b713168d3db9a

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavformat/rtsp: set AV_OPT_FLAG_DEPRECATED on deprecated options
Andriy Gelman [Sun, 15 Nov 2020 18:20:02 +0000 (13:20 -0500)]
avformat/rtsp: set AV_OPT_FLAG_DEPRECATED on deprecated options

Reviewed-by: Zhao Zhili <zhilizhao@tencent.com>
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
3 years agoavfilter/vf_fillborders: add more fill modes
Paul B Mahol [Fri, 18 Dec 2020 18:03:17 +0000 (19:03 +0100)]
avfilter/vf_fillborders: add more fill modes

3 years agoavcodec/dpx: fix use of uninitialised value
James Almer [Fri, 18 Dec 2020 17:31:47 +0000 (14:31 -0300)]
avcodec/dpx: fix use of uninitialised value

Found by Valgrind.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/hevc_sei: return the correct error code on User Data Registered parsing failure
James Almer [Fri, 18 Dec 2020 15:44:27 +0000 (12:44 -0300)]
avcodec/hevc_sei: return the correct error code on User Data Registered parsing failure

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/hevc_sei: print a log message when a unsupported ITU-T T35 SEI messages is...
James Almer [Tue, 8 Dec 2020 19:34:32 +0000 (16:34 -0300)]
avcodec/hevc_sei: print a log message when a unsupported ITU-T T35 SEI messages is parsed

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/hevc_sei: refactor parsing User Data Registered ITU-T T35 SEI messages
James Almer [Tue, 8 Dec 2020 19:32:29 +0000 (16:32 -0300)]
avcodec/hevc_sei: refactor parsing User Data Registered ITU-T T35 SEI messages

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/h264_sei: print a log message when a unsupported ITU-T T35 SEI messages is...
James Almer [Tue, 8 Dec 2020 19:29:39 +0000 (16:29 -0300)]
avcodec/h264_sei: print a log message when a unsupported ITU-T T35 SEI messages is parsed

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/h264_sei: refactor parsing User Data Registered ITU-T T35 SEI messages
James Almer [Tue, 8 Dec 2020 18:48:32 +0000 (15:48 -0300)]
avcodec/h264_sei: refactor parsing User Data Registered ITU-T T35 SEI messages

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavfilter/af_asoftclip: add two more useful options for finer filtering
Paul B Mahol [Fri, 18 Dec 2020 12:09:44 +0000 (13:09 +0100)]
avfilter/af_asoftclip: add two more useful options for finer filtering

3 years agoavfilter/af_biquads: fix error in ro calculation
Paul B Mahol [Thu, 17 Dec 2020 14:12:40 +0000 (15:12 +0100)]
avfilter/af_biquads: fix error in ro calculation

3 years agoavcodec/dpx: Fix B&W film scans from Lasergraphics Inc
Harry Mallon [Mon, 7 Dec 2020 10:32:14 +0000 (10:32 +0000)]
avcodec/dpx: Fix B&W film scans from Lasergraphics Inc

Signed-off-by: Harry Mallon <harry.mallon@codex.online>
3 years agoavcodec/dpx: Read color information from DPX header
Harry Mallon [Mon, 7 Dec 2020 10:32:13 +0000 (10:32 +0000)]
avcodec/dpx: Read color information from DPX header

Signed-off-by: Harry Mallon <harry.mallon@codex.online>
3 years agoavcodec/dpx: Report color_range from DPX header
Harry Mallon [Mon, 7 Dec 2020 10:32:12 +0000 (10:32 +0000)]
avcodec/dpx: Report color_range from DPX header

Signed-off-by: Harry Mallon <harry.mallon@codex.online>
3 years agoavcodec/dpx: Read SMPTE timecode from DPX
Harry Mallon [Mon, 7 Dec 2020 10:32:11 +0000 (10:32 +0000)]
avcodec/dpx: Read SMPTE timecode from DPX

Signed-off-by: Harry Mallon <harry.mallon@codex.online>
3 years agoavcodec/dpx: Read alternative frame rate from television header
Harry Mallon [Mon, 7 Dec 2020 10:32:10 +0000 (10:32 +0000)]
avcodec/dpx: Read alternative frame rate from television header

Signed-off-by: Harry Mallon <harry.mallon@codex.online>
3 years agofate: Add dpx-probe test
Harry Mallon [Mon, 7 Dec 2020 10:32:09 +0000 (10:32 +0000)]
fate: Add dpx-probe test

Signed-off-by: Harry Mallon <harry.mallon@codex.online>
3 years agoavformat/url: Change () position in ff_make_absolute_url()
Michael Niedermayer [Wed, 16 Dec 2020 18:15:12 +0000 (19:15 +0100)]
avformat/url: Change () position in ff_make_absolute_url()

No testcase
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 years agoavfilter/af_biquads: add one-pole shelf filters by adding pole option
Paul B Mahol [Wed, 16 Dec 2020 17:36:56 +0000 (18:36 +0100)]
avfilter/af_biquads: add one-pole shelf filters by adding pole option

3 years agoavcodec/av1dec: support exporting Film Grain params as frame side data
James Almer [Wed, 25 Nov 2020 23:28:42 +0000 (20:28 -0300)]
avcodec/av1dec: support exporting Film Grain params as frame side data

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavfilter/vf_limiter: add support for commands
Paul B Mahol [Tue, 15 Dec 2020 19:31:25 +0000 (20:31 +0100)]
avfilter/vf_limiter: add support for commands

3 years agoavcodec/cuviddec: unref output frame on failure
James Almer [Sun, 13 Dec 2020 18:08:13 +0000 (15:08 -0300)]
avcodec/cuviddec: unref output frame on failure

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/cuviddec: check for av_buffer_ref() failure
James Almer [Sun, 13 Dec 2020 17:57:19 +0000 (14:57 -0300)]
avcodec/cuviddec: check for av_buffer_ref() failure

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/libdav1d: stop setting AVFrame->best_effort_timestamp
James Almer [Sun, 13 Dec 2020 01:20:43 +0000 (22:20 -0300)]
avcodec/libdav1d: stop setting AVFrame->best_effort_timestamp

It's now set by the generic decode code.

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/mjpegdec: stop setting AVFrame->best_effort_timestamp
James Almer [Sun, 13 Dec 2020 01:20:27 +0000 (22:20 -0300)]
avcodec/mjpegdec: stop setting AVFrame->best_effort_timestamp

It's now set by the generic decode code.

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavcodec/decode: set best_effort_timestamp on output frames for all decoders
James Almer [Sun, 13 Dec 2020 00:37:53 +0000 (21:37 -0300)]
avcodec/decode: set best_effort_timestamp on output frames for all decoders

Fixes a decoding regression introduced by e9a2a87773, and as a side effect also
fixes bogus values set to certain audio frames that had some samples discarded,
where the offsets added to pts, pkt_dts and pkt_duration were not reflected in
best_effort_timestamp.

Signed-off-by: James Almer <jamrial@gmail.com>
3 years agoavfilter/af_afreqshift: add fltp sample format support
Paul B Mahol [Sun, 13 Dec 2020 10:11:49 +0000 (11:11 +0100)]
avfilter/af_afreqshift: add fltp sample format support

3 years agofate: fix fate-filter-hqx on big-endian arches
Andriy Gelman [Sat, 5 Dec 2020 02:26:11 +0000 (21:26 -0500)]
fate: fix fate-filter-hqx on big-endian arches

One of the inputs to the fate test has an rgba pixel format which needs
to be converted to rgb32 (argb on big-endian) for the hqx filter. Because auto
scaling in the fate test is disabled, this needs a separate scale
filter.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>