summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* configure, libavcodec/speedhq: Fix compiling SpeedHQ encoderAndreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/mpegvideo: Merge ff_mpv_decode_defaults into ff_mpv_decode_initAndreas Rheinhardt2020-12-31
| | | | | | | | | | | | | 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>
* avcodec/h261dec: Don't use too big max_depth in get_vlc2()Andreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/speedhq: Remove castAndreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/mpeg12: ReindentationAndreas Rheinhardt2020-12-31
| | | | | Reviewed-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avcodec/mpeg12: Make initializing VLCs thread-safeAndreas Rheinhardt2020-12-31
| | | | | | | | | 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>
* avcodec/mpeg12: Don't initialize encoder-only parts of RLTableAndreas Rheinhardt2020-12-31
| | | | | | | | | | | 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>
* avcodec/rl: Remove nonstatic storage of RL tablesAndreas Rheinhardt2020-12-31
| | | | | | | | 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>
* dnn_interface.h: fix redefining typedefsGuo, Yejun2020-12-31
| | | | Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
* dnn/queue: add error check and cleanupGuo, Yejun2020-12-31
| | | | Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
* dnn: fix issue when pthread is not supportedGuo, Yejun2020-12-31
| | | | Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
* dnn: fix redefining typedefs and also refine naming with correct prefixGuo, Yejun2020-12-31
| | | | | | | 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>
* hwcontext_drm: make dependency on Linux kernel headers optionalLynne2020-12-30
| | | | | | | | | | 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.
* avfilter/vf_w3fdif: add support for commandsPaul B Mahol2020-12-30
|
* avfilter/vf_xmedian: allow to control eof handlingPaul B Mahol2020-12-30
|
* avfilter/vf_xmedian: add timeline supportPaul B Mahol2020-12-30
|
* vf_dnn_processing.c: add async supportGuo, Yejun2020-12-29
| | | | | | 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>
* dnn_interface: change from 'void *userdata' to 'AVFilterContext *filter_ctx'Guo, Yejun2020-12-29
| | | | | | | | | | '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>
* dnn: add async execution support for openvino backendGuo, Yejun2020-12-29
| | | | | | 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>
* dnn_interface: add interface to support async executionGuo, Yejun2020-12-29
| | | | | | 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>
* dnn_backend_openvino.c: refine code for error handleGuo, Yejun2020-12-29
| | | | | | 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>
* dnn_backend_openvino.c: separate function execute_model_ovGuo, Yejun2020-12-29
| | | | | | | | | 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>
* dnn/queue: add queue and safe_queue supportXie, Lin2020-12-29
| | | | | | 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>
* vf_dnn_processing.c: replace filter_frame with activate funcGuo, Yejun2020-12-29
| | | | | | | | 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>
* avcodec/codec_desc: describe AV_CODEC_ID_MPEG2TSAman Karmani2020-12-28
| | | | Signed-off-by: Aman Karmani <aman@tmm1.net>
* avformat/rtsp: add satip_raw flag to receive raw mpegts streamAman Karmani2020-12-28
| | | | | | | | | | | | | | | | | | | 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>
* avformat/rtsp: add support for satip://Aman Karmani2020-12-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/
* avcodec/tiff: Disallow striped and tiled tiffs except for DNGMichael Niedermayer2020-12-28
| | | | | | | | | | | | | | 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>
* avformat/mpegts: Fix argument type for av_logMichael Niedermayer2020-12-28
| | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mxfdec: Do not clear arrays in mxf_read_index_entry_array()Michael Niedermayer2020-12-28
| | | | | | They are written too immediately, so it should not be needed. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavu: use address-of operator checking clock_gettimeMarvin Scholz2020-12-28
| | | | | | | | | | | | 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.
* avformat/hlsproto: update comment of file descriptionSteven Liu2020-12-28
| | | | | | reference link to rfc8216 Signed-off-by: liuqi05 <liuqi05@kuaishou.com>
* avformat/hls: update comment of file descriptionSteven Liu2020-12-28
| | | | | | reference link to rfc8216 Signed-off-by: liuqi05 <liuqi05@kuaishou.com>
* doc/muxers: correct description of hls_enc_key and hls_enc_ivSteven Liu2020-12-28
| | | | | | | | | 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>
* avfilter/vf_decimate: always properly handle EOFPaul B Mahol2020-12-27
|
* avfilter/vf_decimate: stop dropping last frames with ppsrcPaul B Mahol2020-12-27
|
* avfilter/vf_decimate: fix broken logic with ppsrc handlingPaul B Mahol2020-12-27
| | | | Make output bit exact with VIVTC VDecimate filter.
* avfilter/vf_framerate: fix infinite loop with 1-frame inputMarton Balint2020-12-27
| | | | | | | 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>
* doc/protocols: document cache optionGyan Doshi2020-12-27
| | | | Add entry for read_ahead_limit
* avfilter/vf_xmedian: add support for commandsPaul B Mahol2020-12-25
|
* avfilter/af_vibrato: make sure table size is at least 1Paul B Mahol2020-12-25
| | | | Fixes overreads.
* avfilter/af_tremolo: make sure table size is at least 1Paul B Mahol2020-12-25
|
* avcodec/cfhd: properly handle midstream size changes for transform type 2Paul B Mahol2020-12-25
|
* libswscale: avoid UB nullptr-with-offset.Jeremy Leconte2020-12-24
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/swfdec: Allocate output buffer after reading inputMichael Niedermayer2020-12-24
| | | | | | | | 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>
* avformat/cafdec: clip sample rateMichael Niedermayer2020-12-24
| | | | | | | | 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>
* tools/target_dec_fuzzer: Adjust maxpixels for G2MMichael Niedermayer2020-12-24
| | | | | | | | 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>
* lavf/img2dec: Increase score for very large jpeg images.Carl Eugen Hoyos2020-12-24
| | | | Avoids a conflict with the raw mjpeg demuxer.
* lavd/decklink_dec: Do not set codec_tags.Carl Eugen Hoyos2020-12-24
| | | | | | | | Only set the pix_fmt for rawvideo. Fixes ticket #9005. Reviewed-by: Marton Balint
* ffmpeg: delay first statsGyan Doshi2020-12-24
| | | | | | Wait for all output files to be initialized before printing first stats. Avoids breaking output file dump report.