Commit Graph

100677 Commits

Author SHA1 Message Date
rcombs eabf5e6d6b All: update names in copyright headers 2021-01-20 01:02:56 -06:00
Paul B Mahol f359575c0b avfilter/vf_nnedi: unbreak nsize=0:nns=0 output 2021-01-19 20:37:37 +01:00
Paul B Mahol c737f6edce avfilter/vf_nnedi: simplify code even more 2021-01-19 20:37:37 +01:00
Paul B Mahol 553eb07737 avfilter/vf_nnedi: small cleanups 2021-01-19 14:59:05 +01:00
Paul B Mahol f3f5ba0bf8 avfilter/vf_nnedi: fix some compilation errors and warnings 2021-01-19 12:15:07 +01:00
Michael Niedermayer c48110a4a4 avformat/id3v2: Check against max compression ratio before allocation
Fixes: Timeout (>10sec -> 12ms)
Fixes: 27612/clusterfuzz-testcase-minimized-ffmpeg_dem_PCM_S24BE_fuzzer-6605893000757248

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

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

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

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

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2021-01-19 00:05:50 +01:00
Paul B Mahol d03c7b1ad4 avfilter/vf_w3fdif: add more forgotten formats 2021-01-18 14:05:51 +01:00
Paul B Mahol e3baf45303 avfilter/vf_estdif: add some forgotten formats 2021-01-18 14:05:51 +01:00
Paul B Mahol 117bf7394f avfilter/vf_nnedi: rewrite and cleanup code
Also add slice threading support.
Also add support for >8 depth formats.
Also add support for commands.
2021-01-18 14:05:51 +01:00
Ting Fu 71b82e4ffd dnn/openvino: support model input resize
OpenVINO APIs require specify input size to run the model, while some
OpenVINO model does accept different input size. To enable this feature
adding input_resizable option here for easier use.
Setting bool variable input_resizable to specify if the input can be resizable or not.
input_resizable = 1 means support input resize, aka accept different input size.
input_resizable = 0 (default) means do not support input resize.
Please make sure the inference model does accept different input size
before use this option, otherwise the inference engine may report error(s).
eg: ./ffmpeg -i video_name.mp4 -vf dnn_processing=dnn_backend=openvino:\
      model=model_name.xml:input=input_name:output=output_name:\
      options=device=CPU\&input_resizable=1 -y output_video_name.mp4

Signed-off-by: Ting Fu <ting.fu@intel.com>
2021-01-18 13:09:22 +08:00
Ting Fu 048d5cc620 dnn/openvino: refine code for better model initialization
Move openvino model/inference request creation and initialization steps
from ff_dnn_load_model_ov to new function init_model_ov, for later input
resize support.

Signed-off-by: Ting Fu <ting.fu@intel.com>
2021-01-18 13:09:22 +08:00
Ting Fu 946fcd4508 dnn/openvino: remove unnecessary code
Signed-off-by: Ting Fu <ting.fu@intel.com>
2021-01-18 13:09:21 +08:00
tpol 71ce5c32f0 avformat/rtsp: correctly set media control uri with mpegts
Fixes #1941

Currently the media control uri is not correctly assigned when mpegts is
signalled in the media description.

The code checks whether at least one AVStream has been setup before
assigning to the media's uri. With mpegts the AVStreams are setup when
parsing packets and so the media's uri is skipped. This is fixed by
using rt->nb_rtsp_streams in the check which counts all medias in the
sdp.

Reviewed-by: Andriy Gelman <andriy.gelman@gmail.com>
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2021-01-17 21:36:16 -05:00
Paul B Mahol 41ddb27597 avfilter/vsrc_testsrc: add missing break 2021-01-17 15:56:31 +01:00
Paul B Mahol 9e1956175c avfilter/vf_maskedmerge: add yuv440p10 and commands support 2021-01-17 15:56:31 +01:00
Derek Buitenhuis e55a80da38 avcodec/librav1e: Pass through timestamps as opaque user data
avcodec has no facilities to generate timestamps properly from
output frame numbers (and it would be wrong for VFR anyway),
so pass through the timestamps using rav1e's opaque user data
feature, which was added in v0.4.0.

This bumps the minimum librav1e version to 0.4.0.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2021-01-17 14:49:46 +00:00
Paul B Mahol f975cf7cc0 avcodec/cfhd: only increase s->level if transform is supported 2021-01-17 13:40:15 +01:00
Derek Buitenhuis b085a72c54 avcodec/librav1e: Fix indentation
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2021-01-17 12:38:49 +00:00
Paul B Mahol 8d86d58941 avfilter/vf_datascope: add option to show only subset of components 2021-01-17 13:18:23 +01:00
Paul B Mahol eb0f532c98 avfilter/vf_bbox: add support for commands 2021-01-17 12:22:28 +01:00
Paul B Mahol 4f81e24c34 avfilter/vf_bbox: add support for >8 depth 2021-01-17 12:17:19 +01:00
Paul B Mahol 9b44f99329 avfilter/bbox: add support for >8 depth 2021-01-17 12:06:01 +01:00
Paul B Mahol 294854bd0a avfilter/vsrc_testsrc: add complement mode to rgbtestsrc 2021-01-16 23:54:21 +01:00
Paul B Mahol 79f2bca59c avfilter/vsrc_testsrc: add planar support to rgbtestsrc 2021-01-16 23:54:21 +01:00
Paul B Mahol 1ed6b80c28 avfilter/vf_threshold: add support for more formats 2021-01-16 23:52:54 +01:00
Paul B Mahol 95179dff82 avfilter/vf_chromanr: add support for more formats 2021-01-16 23:34:06 +01:00
Andriy Gelman 35eb5eeca8 ffmpeg: use sigaction() instead of signal() on linux
As per signal() help (man 2 signal) the semantics of using signal may
vary across platforms. It is suggested to use sigaction() instead.

Reviewed-by: Zane van Iperen <zane@zanevaniperen.com>
Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2021-01-16 16:21:09 -05:00
Paul B Mahol 4ae2dfd7ea avfilter/vf_detelecine: use ff_formats_pixdesc_filter() 2021-01-16 21:35:44 +01:00
Paul B Mahol bc2632f867 avfilter/vf_mix: use ff_formats_pixdesc_filter() 2021-01-16 21:35:44 +01:00
Paul B Mahol 6baed9ce03 avfilter/vf_telecine: use ff_formats_pixdesc_filter() 2021-01-16 21:35:44 +01:00
Paul B Mahol 737bb01540 avfilter/vf_weave: use ff_formats_pixdesc_filter() 2021-01-16 21:35:44 +01:00
Paul B Mahol 9beee83043 avfilter/vf_il: use ff_formats_pixdesc_filter() 2021-01-16 21:35:44 +01:00
Paul B Mahol c590ff1fbb avfilter/vf_copy: use ff_formats_pixdesc_filter() 2021-01-16 21:35:44 +01:00
Paul B Mahol 60836fb6f6 avfilter/vf_fieldhint: use ff_formats_pixdesc_filter() 2021-01-16 21:35:44 +01:00
Paul B Mahol 5b34fcaa8d avfilter/vf_stack: use ff_formats_pixdesc_filter() 2021-01-16 21:35:44 +01:00
Paul B Mahol b7817f23c0 avfilter/vf_phase: add support for commands 2021-01-16 20:47:52 +01:00
Paul B Mahol e722b443e4 avfilter: add estdif video filter 2021-01-16 14:08:59 +01:00
Limin Wang bf1cc9a43b avformat/hlsenc: reindent the code
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2021-01-16 08:53:27 +08:00
Limin Wang 5ef20244de avformat/udp: add memory alloc checks
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2021-01-16 08:51:31 +08:00
Limin Wang f6eaa864f3 avformat/udp: return the error code instead of generic EIO
Reviewed-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2021-01-16 08:51:22 +08:00
Limin Wang 6696a07ac6 avutil/timecode: fix sscanf format string with garbage at the end
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2021-01-16 08:51:11 +08:00
Martin Storsjö c2424b1f35 movenc: Present durations in mvhd/tkhd/mdhd as they are after edits
If the edit lists remove parts of the output timeline, or add a
delay to it, this should be included in the mvhd/tkhd/mdhd durations,
which should correspond to the edit lists.

For tracks starting with pts < 0, the edit list trims out the segment
before pts=0. For tracks starting with pts > 0, a delay element is
added in the edit list, delaying the start of the track data.

In both cases, the practical effect is that the post-edit output
is as if the track had started with pts = 0. Thus calculate the range
from pts=0 to end_pts, for the purposes of mvhd/tkhd/mdhd, unless
edit lists explicitly are disabled.

mov_write_edts_tag needs to operate on the actual pts duration of
the track samples, not the duration that already takes the edit
list effect into account.

Signed-off-by: Martin Storsjö <martin@martin.st>
2021-01-15 15:01:03 +02:00
Paul B Mahol d4902751cb avfilter/vf_w3fdif: fix parity in frame mode 2021-01-15 11:43:38 +01:00
Guo, Yejun 64ea15f050 libavfilter/dnn: add batch mode for async execution
the default number of batch_size is 1

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>
2021-01-15 08:59:54 +08:00
Wonkap Jang 57dae5723f avcodec/libvpxenc: add a way to set VP9E_SET_SVC_REF_FRAME_CONFIG
In order to fine-control referencing schemes in VP9 encoding, there
is a need to use VP9E_SET_SVC_REF_FRAME_CONFIG method. This commit
provides a way to use the API through frame metadata.
2021-01-14 11:08:33 -08:00
Paul B Mahol aaeee01eab avfilter/vf_w3fdif: add support for >8 depth gray formats 2021-01-14 19:16:55 +01:00