]>
git.sesse.net Git - ffmpeg/log
Michael Niedermayer [Wed, 14 Oct 2020 15:53:07 +0000 (17:53 +0200)]
avcodec/notchlc: Check uncompressed size against input for LZ4
Fixes: OOM
Fixes: 26168/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_NOTCHLC_fuzzer-6019839015256064
Fixes: 28397/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_NOTCHLC_fuzzer-5649039941042176
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Jan Ekström [Sat, 2 Jan 2021 12:30:36 +0000 (14:30 +0200)]
avcodec/videotoolbox: make FFmpeg-to-VT mapping error more informative
Now logs the actual failed-to-map pixel format as well as range.
Andreas Rheinhardt [Sun, 27 Dec 2020 16:36:59 +0000 (17:36 +0100)]
Mark some pointers as const
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Anton Khirnov [Sat, 12 Dec 2020 13:53:30 +0000 (14:53 +0100)]
lavc/mjpegdec: cosmetics, org->orig
Anton Khirnov [Sat, 12 Dec 2020 12:40:47 +0000 (13:40 +0100)]
fate: add tests for AVID
Samples cut from tickets 971 and 4741
Anton Khirnov [Thu, 10 Dec 2020 19:55:43 +0000 (20:55 +0100)]
api-seek-test: use non-obsolete decoding API
Anton Khirnov [Thu, 10 Dec 2020 19:55:43 +0000 (20:55 +0100)]
api-band-test: use non-obsolete decoding API
Anton Khirnov [Thu, 10 Dec 2020 19:55:43 +0000 (20:55 +0100)]
api-h264-test: use non-obsolete decoding API
Anton Khirnov [Fri, 17 Apr 2020 08:32:12 +0000 (10:32 +0200)]
lavfi/vf_uspp: convert to the video_enc_params API
Anton Khirnov [Fri, 17 Apr 2020 08:32:12 +0000 (10:32 +0200)]
lavfi/vf_codecview: convert to the video_enc_params API
Anton Khirnov [Fri, 17 Apr 2020 08:32:12 +0000 (10:32 +0200)]
lavfi/vf_fspp: convert to the video_enc_params API
Anton Khirnov [Fri, 17 Apr 2020 08:32:12 +0000 (10:32 +0200)]
lavfi/vf_pp7: convert to the video_enc_params API
Re-enable fate-filter-pp7
Anton Khirnov [Fri, 17 Apr 2020 08:32:12 +0000 (10:32 +0200)]
lavfi/vf_spp: convert to the video_enc_params API
Re-enable fate-filter-spp
Anton Khirnov [Fri, 17 Apr 2020 08:32:12 +0000 (10:32 +0200)]
lavfi/vf_pp: convert to the video_enc_params API
Re-enable fate-filter-qp and fate-filter-pp.
Anton Khirnov [Mon, 14 Dec 2020 13:36:05 +0000 (14:36 +0100)]
lavfi: add common code to handle QP tables
It will be used for converting the *pp filters to the new
AVVideoEncParams API.
Anton Khirnov [Fri, 17 Apr 2020 08:32:12 +0000 (10:32 +0200)]
lavfi/vf_qp: convert to the video_enc_params API
Temporarily disable fate-filter-qp until vf_pp is converted.
Anton Khirnov [Tue, 10 Mar 2020 10:45:55 +0000 (11:45 +0100)]
mpegvideo: use the AVVideoEncParams API for exporting QP tables
Do it only when requested with the AV_CODEC_EXPORT_DATA_VIDEO_ENC_PARAMS
flag.
Drop previous code using the long-deprecated AV_FRAME_DATA_QP_TABLE*
API. Temporarily disable fate-filter-pp, fate-filter-pp7,
fate-filter-spp. They will be reenabled once these filters are converted
in following commits.
Anton Khirnov [Wed, 27 May 2020 12:54:38 +0000 (14:54 +0200)]
lavu/mem: move the DECLARE_ALIGNED macro family to mem_internal on next+1 bump
They are not properly namespaced and not intended for public use.
Anton Khirnov [Wed, 10 Jun 2020 13:38:08 +0000 (15:38 +0200)]
lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h
That is a more appropriate place for it.
Paul B Mahol [Sat, 26 Dec 2020 12:52:24 +0000 (13:52 +0100)]
avfilter: add temporal midway equalizer filter
Lynne [Thu, 31 Dec 2020 23:00:00 +0000 (00:00 +0100)]
configure: update copyright year
Andreas Rheinhardt [Tue, 29 Dec 2020 19:34:01 +0000 (20:34 +0100)]
avcodec/svq1dec: Increase nb_bits of VLC to read it in one go
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Tue, 29 Dec 2020 14:33:03 +0000 (15:33 +0100)]
avcodec/dirac_arith: Make table only used here static
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Mon, 28 Dec 2020 19:01:47 +0000 (20:01 +0100)]
avcodec/qdmc: Mark decoder as init-threadsafe
It already uses ff_thread_once() to initialize its static data.
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Mon, 28 Dec 2020 17:00:28 +0000 (18:00 +0100)]
avcodec/opusdec: Mark decoder as init-threadsafe
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Mon, 28 Dec 2020 16:58:43 +0000 (17:58 +0100)]
avcodec/opusdec: Cleanup generically on init failure
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Mon, 28 Dec 2020 16:46:44 +0000 (17:46 +0100)]
avcodec/opusdec: Move per-stream fields to OpusStreamContext
Besides being more natural it also avoids allocations for separate
arrays of decoded samples/output buffers/....
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Mon, 28 Dec 2020 16:52:12 +0000 (17:52 +0100)]
avcodec/opusdec: Return error upon error
The Opus decoder forgot to return an error when allocating an
SwrContext fails.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Mon, 28 Dec 2020 02:31:05 +0000 (03:31 +0100)]
avcodec/aacps_common: Use minimal VLC nb_bits/max_depth
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Mon, 28 Dec 2020 01:41:38 +0000 (02:41 +0100)]
avcodec/aacps: Factor out code shared by float and fixed point decoder
Saves about 7KiB.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Sun, 27 Dec 2020 20:16:08 +0000 (21:16 +0100)]
avcodec/mpegvideo: Don't zero-initialize unnecessarily
mbintra_table will be memset to 1 a few lines after its allocation.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Sun, 27 Dec 2020 19:46:06 +0000 (20:46 +0100)]
avcodec/aacsbr_template: Remove pointless runtime initialization
The sbr_qmf_window_us array is basically symmetric around its middle
element and therefore the latter half is currently initialized from the
first half at runtime. Yet because the first half is initialized, the
array can't be placed in .bss at all, so that one gains nothing from not
already initializing the whole array statically. Therefore this commit
does exactly this.
(There are two exceptions to the symmetry: Elements 384 and 512 are the
negations of their mirror element; for the fixed-point decoder, Q31(-x)
does not equal -Q31(x). In order to keep the array exactly the same, the
latter form has been used for these two elements.)
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Sun, 27 Dec 2020 18:57:27 +0000 (19:57 +0100)]
avcodec/aacsbr: Remove remnants of tablegen
These tables are always initialized at runtime since commit
cb93df0dcbd34107c64ec053504fa294b728a9c9 .
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Sun, 27 Dec 2020 18:42:35 +0000 (19:42 +0100)]
avcodec/atrac3plus_data: Mark array as const
Forgotten in
a7dbeb77c3c30ac4904928978938b209ff6e1ab1 .
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Sat, 26 Dec 2020 17:16:21 +0000 (18:16 +0100)]
avcodec/mlpenc: Simplify finding best codebook
Finding the best codebook involves comparing different paths, where each
path is a sequence of several decisions (namely which codebook to use).
Up until now, these sequence was encoded in a NUL-terminated string and
the actual decisions were encoded as ’\0'..'\3' (which encoded 0..3).
This commit modifies this to actually encode it via 0..3 by switching
away from a C-string to a simple array with an explicit length field.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Sat, 26 Dec 2020 12:09:49 +0000 (13:09 +0100)]
avcodec/opusdec: Remove always-true check
The celt_delay AVAudioFifo is always allocated during init, so checking
for its existence in .flush is unnecessary.
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Sat, 26 Dec 2020 09:33:12 +0000 (10:33 +0100)]
avfilter/vf_addroi: Use chars instead of strings for one-char strings
Reviewed-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Fri, 25 Dec 2020 17:41:26 +0000 (18:41 +0100)]
avcodec/opustab: Make array static
Reviewed-by: Lynne <dev@lynne.ee>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Wed, 9 Dec 2020 03:16:48 +0000 (04:16 +0100)]
avcodec/motion_est, mpegvideo: Make pointers to static storage const
Modifying static storage must not happen because of multithreading
(except initialization of course), so add const to the pointed-to type
for pointers that point to static storage.
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Thu, 10 Dec 2020 08:41:07 +0000 (09:41 +0100)]
configure, libavcodec/speedhq: Fix compiling SpeedHQ encoder
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Wed, 9 Dec 2020 02:23:32 +0000 (03:23 +0100)]
avcodec/mpegvideo: Merge ff_mpv_decode_defaults into ff_mpv_decode_init
These two are always called directly after each other (with the
exception of the calls in mpeg_decode_init() where some irrelevant
modifications of the avctx (which could just as well be done before
ff_mpv_decode_defaults(), because it doesn't have a pointer to the
AVCodecContext at all and therefore can't see these modifications at
all) are performed in between), so merge ff_mpv_decode_defaults() in
ff_mpv_decode_init().
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Wed, 9 Dec 2020 02:04:59 +0000 (03:04 +0100)]
avcodec/h261dec: Don't use too big max_depth in get_vlc2()
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Tue, 8 Dec 2020 20:59:09 +0000 (21:59 +0100)]
avcodec/speedhq: Remove cast
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Mon, 23 Nov 2020 02:12:23 +0000 (03:12 +0100)]
avcodec/mpeg12: Reindentation
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Andreas Rheinhardt [Mon, 23 Nov 2020 02:10:36 +0000 (03:10 +0100)]
avcodec/mpeg12: Make initializing VLCs thread-safe
This automatically makes the eamad, eatqi, ipu and mdec decoders
init-threadsafe; in addition to the actual mpeg[12]video decoders,
of course.
Reviewed-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
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>
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>
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>
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>
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>
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>
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.
Paul B Mahol [Wed, 30 Dec 2020 15:31:19 +0000 (16:31 +0100)]
avfilter/vf_w3fdif: add support for commands
Paul B Mahol [Wed, 30 Dec 2020 14:51:24 +0000 (15:51 +0100)]
avfilter/vf_xmedian: allow to control eof handling
Paul B Mahol [Wed, 30 Dec 2020 14:33:50 +0000 (15:33 +0100)]
avfilter/vf_xmedian: add timeline 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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/
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>
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>
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>
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.
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>
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>
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>
Paul B Mahol [Sun, 27 Dec 2020 21:22:40 +0000 (22:22 +0100)]
avfilter/vf_decimate: always properly handle EOF
Paul B Mahol [Sun, 27 Dec 2020 20:59:10 +0000 (21:59 +0100)]
avfilter/vf_decimate: stop dropping last frames with ppsrc
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.
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>
Gyan Doshi [Sun, 27 Dec 2020 09:20:24 +0000 (14:50 +0530)]
doc/protocols: document cache option
Add entry for read_ahead_limit
Paul B Mahol [Fri, 25 Dec 2020 15:41:44 +0000 (16:41 +0100)]
avfilter/vf_xmedian: add support for commands
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.
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
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
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>
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>
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>
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>
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.
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
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.
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>
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.
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.
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.
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>
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>
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>
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>
Paul B Mahol [Mon, 21 Dec 2020 22:09:58 +0000 (23:09 +0100)]
avfilter/vf_decimate: switch to activate
Paul B Mahol [Mon, 21 Dec 2020 12:07:23 +0000 (13:07 +0100)]
avfilter/af_crystalizer: implement inverse filtering
Paul B Mahol [Mon, 21 Dec 2020 10:57:24 +0000 (11:57 +0100)]
avfilter/af_crystalizer: use proper type for variable