ffmpeg.git
69 min agoavcodec/dvdsub_parser: Remove empty init function master
Andreas Rheinhardt [Mon, 29 Jun 2020 15:21:06 +0000 (17:21 +0200)]
avcodec/dvdsub_parser: Remove empty init function

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
69 min agoavcodec/dvbsub_parser: Don't allocate buffer separately
Andreas Rheinhardt [Mon, 29 Jun 2020 15:11:48 +0000 (17:11 +0200)]
avcodec/dvbsub_parser: Don't allocate buffer separately

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
78 min agocfhd: Add tag names
Kieran Kunhya [Sat, 27 Jun 2020 22:07:12 +0000 (23:07 +0100)]
cfhd: Add tag names

19 hours agolibavformat/img2dec: Added pgx demuxer
Gautam Ramakrishnan [Thu, 2 Jul 2020 19:19:39 +0000 (00:49 +0530)]
libavformat/img2dec: Added pgx demuxer

This patch adds support to demux pgx file
format.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
19 hours agolibavcodec/pgxdec: Add PGX decoder
Gautam Ramakrishnan [Thu, 2 Jul 2020 19:19:38 +0000 (00:49 +0530)]
libavcodec/pgxdec: Add PGX decoder

This patch adds a pgx decoder.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
41 hours agoavcodec/amfenc_hevc: set default gops_per_idr 1
Lu Jiao [Tue, 16 Jun 2020 14:10:10 +0000 (22:10 +0800)]
avcodec/amfenc_hevc: set default gops_per_idr 1

Previously gops_per_idr default 60 would make amd gpu encoding hevc
has erratic seek bar behaviour as descripted in this ticket:
https://trac.ffmpeg.org/ticket/7272

This bad default is already fixed in newer AMF headers:
https://github.com/GPUOpen-LibrariesAndSDKs/AMF/blob/master/amf/public/include/components/VideoEncoderHEVC.h

Fixes ticket #7272.

Signed-off-by: Marton Balint <cus@passwd.hu>
42 hours agoavdevice/decklink_dec: add support for extracting and outputing klv from vanc
Milos Zivkovic [Mon, 8 Jun 2020 09:56:37 +0000 (11:56 +0200)]
avdevice/decklink_dec: add support for extracting and outputing klv from vanc

Signed-off-by: Milos Zivkovic <zivkovic@teralogics.com>
Signed-off-by: Marton Balint <cus@passwd.hu>
44 hours agoconfigure: remove libvmaf from EXTERNAL_LIBRARY_VERSION3_LIST
Kyle Swanson [Mon, 29 Jun 2020 16:58:50 +0000 (09:58 -0700)]
configure: remove libvmaf from EXTERNAL_LIBRARY_VERSION3_LIST

since libvmaf v1.5.1, libvmaf has been relicensed as BSD+Patent

Signed-off-by: Kyle Swanson <k@ylo.ph>
46 hours agoffprobe: Allow unknown format private AVOptions
Derek Buitenhuis [Fri, 26 Jun 2020 13:08:37 +0000 (14:08 +0100)]
ffprobe: Allow unknown format private AVOptions

This useful, because by ffprobe's very nature, you use it to probe
a file and find out what it is. Requiring every format private option
to be known to the demuxer forces one to run ffprobe twice, if one
wants to use ffprobe in a generic way.

For example, say one wants to probe all user-uploaded files, while
also ignoring edit lists for any MP4s that are uploaded. Currently,
you'd have to run ffprobe twice: once to identify the format, and
once again to actually probe the metadata you want. After this
patch, you could set -ignore_editlist 1 on every call and only
probe once.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2 days agoavcodec/mv30: Fix integer overflows in idct2_1d()
Michael Niedermayer [Thu, 18 Jun 2020 09:52:47 +0000 (11:52 +0200)]
avcodec/mv30: Fix integer overflows in idct2_1d()

Fixes: signed integer overflow: 6500736 * 473 cannot be represented in type 'int'
Fixes: 23259/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_MV30_fuzzer-5179394271477760

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agoavcodec/hcadec: Check total_band_count against imdct_in size
Michael Niedermayer [Tue, 30 Jun 2020 19:32:53 +0000 (21:32 +0200)]
avcodec/hcadec: Check total_band_count against imdct_in size

Fixes: index 128 out of bounds for type 'float [128]'
Fixes: 23465/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_HCA_fuzzer-5089866596745216

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agoavcodec/scpr3: Fix out of array access with dectab
Michael Niedermayer [Wed, 1 Jul 2020 21:31:47 +0000 (23:31 +0200)]
avcodec/scpr3: Fix out of array access with dectab

Fixes: 23721/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_SCPR_fuzzer-5914074721550336

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agoavcodec/tiff: Do not overrun the array ends in dng_blit()
Michael Niedermayer [Wed, 1 Jul 2020 21:05:22 +0000 (23:05 +0200)]
avcodec/tiff: Do not overrun the array ends in dng_blit()

Fixes: out of array access
Fixes: 23589/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_TIFF_fuzzer-5110559589793792.fuzz

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agoavcodec/dstdec: Replace AC overread check by sample rate check
Michael Niedermayer [Wed, 1 Jul 2020 19:27:23 +0000 (21:27 +0200)]
avcodec/dstdec: Replace AC overread check by sample rate check

Real files do skip coding 0 bits at the end, thus this kind of check
does not work reliable.

Fixes: Ticket 8770
Fixes: dst-256fs44-6ch-refdstencoder.dff

The samplerate is specified in ISO/IEC 14496-3:2005(E) as one of 3 fixed
values, this also can be used to limit the duration and avoid the timeout

This reverts commit f6df99dba1ae64b05d08fba8160d13eb9795042f.

2 days agoavformat/icecast: Add option to use TLS connection
Marvin Scholz [Sat, 13 Jun 2020 22:52:44 +0000 (00:52 +0200)]
avformat/icecast: Add option to use TLS connection

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2 days agoavformat/hlsenc: simplify code to pass s directly
Limin Wang [Wed, 24 Jun 2020 16:14:55 +0000 (00:14 +0800)]
avformat/hlsenc: simplify code to pass s directly

Suggested-by: Nicolas George <george@nsup.org>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2 days agoavformat/hlsenc: fix av_bprint_finalize() usage
Limin Wang [Mon, 22 Jun 2020 14:04:36 +0000 (22:04 +0800)]
avformat/hlsenc: fix av_bprint_finalize() usage

Don't need to do double check by the description of the API.

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2 days agoavformat/hlsenc: use proper error codes
Limin Wang [Mon, 22 Jun 2020 13:58:47 +0000 (21:58 +0800)]
avformat/hlsenc: use proper error codes

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2 days agoavformat/au: check return value of au_read_annotation()
Limin Wang [Mon, 22 Jun 2020 23:14:51 +0000 (07:14 +0800)]
avformat/au: check return value of au_read_annotation()

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2 days agoavformat/au: check return value of av_bprint_finalize()
Limin Wang [Mon, 22 Jun 2020 13:49:30 +0000 (21:49 +0800)]
avformat/au: check return value of av_bprint_finalize()

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2 days agoavutil/opt: check return value of av_bprint_finalize()
Limin Wang [Mon, 22 Jun 2020 13:39:30 +0000 (21:39 +0800)]
avutil/opt: check return value of av_bprint_finalize()

Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2 days agoavformat/dump: add a \n for end of ERROR log
Limin Wang [Wed, 1 Jul 2020 13:51:03 +0000 (21:51 +0800)]
avformat/dump: add a \n for end of ERROR log

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2 days agoFATE: fix colorbalance fate test failed on x86_32
Limin Wang [Wed, 1 Jul 2020 12:57:58 +0000 (20:57 +0800)]
FATE: fix colorbalance fate test failed on x86_32

floating point precision will cause rgb*max generate different value on
x86_32 and x86_64. have pass fate test on x86_32 and x86_64 by using
lrintf to get the nearest integral value for rgb * max before av_clip.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
2 days agoReplace 'FontName' with 'Fontname' in the documentation.
Joe Ratterman [Thu, 28 May 2020 17:31:48 +0000 (10:31 -0700)]
Replace 'FontName' with 'Fontname' in the documentation.

This is the only use of 'FontName' with that capitalization, as both
source-code and tests use 'Fontname'. Having consistent capitalization
makes it easier to find the relevant source from the docs.

See these examples for other uses:
    libavcodec/ass_split.c:68
    tests/ref/fate/sub-cc:9

2 days agovf_dnn_processing.c: add dnn backend openvino
Guo, Yejun [Mon, 25 May 2020 08:16:22 +0000 (16:16 +0800)]
vf_dnn_processing.c: add dnn backend openvino

We can try with the srcnn model from sr filter.
1) get srcnn.pb model file, see filter sr
2) convert srcnn.pb into openvino model with command:
python mo_tf.py --input_model srcnn.pb --data_type=FP32 --input_shape [1,960,1440,1] --keep_shape_ops

See the script at https://github.com/openvinotoolkit/openvino/tree/master/model-optimizer
We'll see srcnn.xml and srcnn.bin at current path, copy them to the
directory where ffmpeg is.

I have also uploaded the model files at https://github.com/guoyejun/dnn_processing/tree/master/models

3) run with openvino backend:
ffmpeg -i input.jpg -vf format=yuv420p,scale=w=iw*2:h=ih*2,dnn_processing=dnn_backend=openvino:model=srcnn.xml:input=x:output=srcnn/Maximum -y srcnn.ov.jpg
(The input.jpg resolution is 720*480)

Also copy the logs on my skylake machine (4 cpus) locally with openvino backend
and tensorflow backend. just for your information.

$ time ./ffmpeg -i 480p.mp4 -vf format=yuv420p,scale=w=iw*2:h=ih*2,dnn_processing=dnn_backend=tensorflow:model=srcnn.pb:input=x:output=y -y srcnn.tf.mp4

frame=  343 fps=2.1 q=31.0 Lsize=    2172kB time=00:00:11.76 bitrate=1511.9kbits/s speed=0.0706x
video:1973kB audio:187kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.517637%
[aac @ 0x2f5db80] Qavg: 454.353
real    2m46.781s
user    9m48.590s
sys     0m55.290s

$ time ./ffmpeg -i 480p.mp4 -vf format=yuv420p,scale=w=iw*2:h=ih*2,dnn_processing=dnn_backend=openvino:model=srcnn.xml:input=x:output=srcnn/Maximum -y srcnn.ov.mp4

frame=  343 fps=4.0 q=31.0 Lsize=    2172kB time=00:00:11.76 bitrate=1511.9kbits/s speed=0.137x
video:1973kB audio:187kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.517640%
[aac @ 0x31a9040] Qavg: 454.353
real    1m25.882s
user    5m27.004s
sys     0m0.640s

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2 days agodnn: add openvino as one of dnn backend
Guo, Yejun [Mon, 25 May 2020 07:38:09 +0000 (15:38 +0800)]
dnn: add openvino as one of dnn backend

OpenVINO is a Deep Learning Deployment Toolkit at
https://github.com/openvinotoolkit/openvino, it supports CPU, GPU
and heterogeneous plugins to accelerate deep learning inferencing.

Please refer to https://github.com/openvinotoolkit/openvino/blob/master/build-instruction.md
to build openvino (c library is built at the same time). Please add
option -DENABLE_MKL_DNN=ON for cmake to enable CPU path. The header
files and libraries are installed to /usr/local/deployment_tools/inference_engine/
with default options on my system.

To build FFmpeg with openvion, take my system as an example, run with:
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/deployment_tools/inference_engine/lib/intel64/:/usr/local/deployment_tools/inference_engine/external/tbb/lib/
$ ../ffmpeg/configure --enable-libopenvino --extra-cflags=-I/usr/local/deployment_tools/inference_engine/include/ --extra-ldflags=-L/usr/local/deployment_tools/inference_engine/lib/intel64
$ make

Here are the features provided by OpenVINO inference engine:
- support more DNN model formats
It supports TensorFlow, Caffe, ONNX, MXNet and Kaldi by converting them
into OpenVINO format with a python script. And torth model
can be first converted into ONNX and then to OpenVINO format.

see the script at https://github.com/openvinotoolkit/openvino/tree/master/model-optimizer/mo.py
which also does some optimization at model level.

- optimize at inference stage
It optimizes for X86 CPUs with SSE, AVX etc.

It also optimizes based on OpenCL for Intel GPUs.
(only Intel GPU supported becuase Intel OpenCL extension is used for optimization)

Signed-off-by: Guo, Yejun <yejun.guo@intel.com>
Signed-off-by: Pedro Arthur <bygrandao@gmail.com>
2 days agoavformat/hevc: Defer initializations in ff_isom_write_hvcc()
Andreas Rheinhardt [Thu, 23 Jan 2020 03:10:48 +0000 (04:10 +0100)]
avformat/hevc: Defer initializations in ff_isom_write_hvcc()

Saves initialization of an HEVCDecoderConfigurationRecord when
the data is already in ISOBMFF-format or if it is plainly invalid.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2 days agoavcodec/libaomenc: Add command-line options for intra-coding tools
Wang Cao [Fri, 26 Jun 2020 00:55:14 +0000 (17:55 -0700)]
avcodec/libaomenc: Add command-line options for intra-coding tools

Signed-off-by: Wang Cao <wangcao@google.com>
Signed-off-by: James Zern <jzern@google.com>
2 days agoavcodec/libaomenc: Add command-line options to control the use of partition tools
Wang Cao [Fri, 26 Jun 2020 00:55:13 +0000 (17:55 -0700)]
avcodec/libaomenc: Add command-line options to control the use of partition tools

This patch adds the control for enabling rectangular partitions, 1:4/4:1
partitions and AB shape partitions.

Signed-off-by: Wang Cao <wangcao@google.com>
Signed-off-by: James Zern <jzern@google.com>
3 days agoavcodec/nvenc: add new h264 levels from Video SDK 10
Timo Rothenpieler [Wed, 1 Jul 2020 14:09:08 +0000 (16:09 +0200)]
avcodec/nvenc: add new h264 levels from Video SDK 10

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
3 days agoavcodec/nvenc: add new Video SDK 10 features
Roman Arzumanyan [Thu, 19 Mar 2020 08:35:29 +0000 (11:35 +0300)]
avcodec/nvenc: add new Video SDK 10 features

1. new Nvenc presets
2. new multipass encode modes
3. low delay key frame scale

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
3 days agoavformat/mov: fix memleaks
Zhao Zhili [Sun, 28 Jun 2020 03:15:39 +0000 (11:15 +0800)]
avformat/mov: fix memleaks

Fix two cases of memleaks:
1. The leak of dv_demux
2. The leak of dv_fctx upon dv_demux allocate failure

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 days agolibavformat/mov: Fix memleaks when demuxing DV audio
Andreas Rheinhardt [Mon, 16 Sep 2019 13:48:31 +0000 (15:48 +0200)]
libavformat/mov: Fix memleaks when demuxing DV audio

The code for demuxing DV audio predates the introduction of refcounted
packets and when the latter was added, changes to the former were
forgotten. This meant that when avpriv_dv_produce_packet initialized the
packet containing the AVBufferRef, the AVBufferRef as well as the
underlying AVBuffer leaked; the actual packet data didn't leak: They
were directly freed, but not via their AVBuffer's free function.

https://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket4671/dir1.tar.bz2
contains samples for this (enable_drefs needs to be enabled for them).

Moreover, errors in avpriv_dv_produce_packet were ignored; this has been
changed, too.

Furthermore, in the hypothetical scenario that the track has a palette,
this would leak, too, so reorder the code so that the palette code
appears after the DV audio code.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
3 days agoavutil/avsscanf: Add () to avoid integer overflow in scanexp()
Michael Niedermayer [Thu, 18 Jun 2020 09:56:53 +0000 (11:56 +0200)]
avutil/avsscanf: Add () to avoid integer overflow in scanexp()

Fixes: signed integer overflow: 2147483610 + 52 cannot be represented in type 'int'
Fixes: 23260/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PBM_fuzzer-5187871274434560

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agoavformat/utils: reorder duration computation to avoid overflow
Michael Niedermayer [Sun, 21 Jun 2020 10:24:04 +0000 (12:24 +0200)]
avformat/utils: reorder duration computation to avoid overflow

Fixes: signed integer overflow: 8 * 9223372036854774783 cannot be represented in type 'long'
Fixes: 23381/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-4818340509122560

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agoavcodec/pngdec: Check for fctl after idat
Michael Niedermayer [Thu, 25 Jun 2020 17:22:01 +0000 (19:22 +0200)]
avcodec/pngdec: Check for fctl after idat

Fixes: out of array access
Fixes: 23554/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_APNG_fuzzer-4796622520451072.fuzz

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agoavformat/hls: Pass a copy of the URL for probing
Michael Niedermayer [Mon, 29 Jun 2020 17:49:41 +0000 (19:49 +0200)]
avformat/hls: Pass a copy of the URL for probing

The segments / url can be modified by the io read when reloading

This may be an alternative or additional fix for Ticket8673
as a further alternative the reload stuff could be disabled during
probing

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agoavformat/isom: add comment to mov_mdhd_language_map
Zhao Zhili [Sat, 27 Jun 2020 14:26:43 +0000 (22:26 +0800)]
avformat/isom: add comment to mov_mdhd_language_map

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agoavcodec/mlpenc: free filter state buffers on allocation failure
James Almer [Wed, 24 Jun 2020 13:25:39 +0000 (10:25 -0300)]
avcodec/mlpenc: free filter state buffers on allocation failure

Signed-off-by: James Almer <jamrial@gmail.com>
3 days agoavcodec/mlpenc: propagate proper error values
James Almer [Wed, 24 Jun 2020 03:34:20 +0000 (00:34 -0300)]
avcodec/mlpenc: propagate proper error values

Signed-off-by: James Almer <jamrial@gmail.com>
3 days agoavcodec/mlpenc: remove delay codec capability
James Almer [Wed, 24 Jun 2020 03:28:14 +0000 (00:28 -0300)]
avcodec/mlpenc: remove delay codec capability

The encoder has no delayed packets at the end of the encoding
process, so signaling this capability is unnecessary.

This also fixes an assertion failure introduced in 827d6fe73d, as
return values higher than 0 are not expected.

Signed-off-by: James Almer <jamrial@gmail.com>
3 days agoavcodec/internal: remove unused out_frame field from DecodeSimpleContext
James Almer [Sun, 28 Jun 2020 01:05:16 +0000 (22:05 -0300)]
avcodec/internal: remove unused out_frame field from DecodeSimpleContext

It was introduced in 061a0c14bb but apparently never used

Signed-off-by: James Almer <jamrial@gmail.com>
3 days agoavutil/common: Fix integer overflow in av_ceil_log2_c()
Michael Niedermayer [Sat, 27 Jun 2020 22:21:09 +0000 (00:21 +0200)]
avutil/common: Fix integer overflow in av_ceil_log2_c()

Fixes: left shift of 1913647649 by 1 places cannot be represented in type 'int'
Fixes: 23572/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMALOSSLESS_fuzzer-5082619795734528

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agoavcodec/wmalosslessdec: fix overflow with pred in revert_cdlms
Michael Niedermayer [Sat, 27 Jun 2020 22:10:19 +0000 (00:10 +0200)]
avcodec/wmalosslessdec: fix overflow with pred in revert_cdlms

Fixes: signed integer overflow: 2048 + 2147483646 cannot be represented in type 'int'
Fixes: 23538/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_WMALOSSLESS_fuzzer-5227567073460224

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agolibavcodec/jpeg2000.c: Precinct size check removed
Gautam Ramakrishnan [Mon, 29 Jun 2020 17:59:06 +0000 (23:29 +0530)]
libavcodec/jpeg2000.c: Precinct size check removed

This patch removes a check which throws an error if
the log2 precinct width/height is 0. The standard allows
the first component to have 0 as the log2 width/height.
However, to ensure proper intialization of coding style,
an extra check has been added.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
3 days agoavcodec/nvenc: rename tc option to something more unique
Timo Rothenpieler [Tue, 30 Jun 2020 17:03:56 +0000 (19:03 +0200)]
avcodec/nvenc: rename tc option to something more unique

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
3 days agoavcodec/nvenc: add a53cc option for hevc_nvenc
Timo Rothenpieler [Tue, 23 Jun 2020 15:19:22 +0000 (17:19 +0200)]
avcodec/nvenc: add a53cc option for hevc_nvenc

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
4 days agoavformat/dump: Use intermediate pointer for access to programs array
Andreas Rheinhardt [Tue, 30 Jun 2020 12:26:40 +0000 (14:26 +0200)]
avformat/dump: Use intermediate pointer for access to programs array

Improves readability.

Reviewed-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
4 days agoavformat/dump: Use const where appropriate
Andreas Rheinhardt [Tue, 30 Jun 2020 12:13:39 +0000 (14:13 +0200)]
avformat/dump: Use const where appropriate

Also switch to using a pointer to access stream side data instead of
copying the stream's AVPacketSideData.

Reviewed-by: Limin Wang <lance.lmwang@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
4 days agoavcodec/smacker: Add FF_CODEC_CAP_INIT_CLEANUP
Andreas Rheinhardt [Thu, 25 Jun 2020 08:19:55 +0000 (10:19 +0200)]
avcodec/smacker: Add FF_CODEC_CAP_INIT_CLEANUP

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
4 days agoavcodec/mpeg12dec: Fix uninitialized data in fate-sub-cc-scte20
Limin Wang [Sun, 28 Jun 2020 12:46:19 +0000 (20:46 +0800)]
avcodec/mpeg12dec: Fix uninitialized data in fate-sub-cc-scte20

The issue is introduced in a705bcd763e344fa, please tested with below command line:
make V=1 fate-sub-cc-scte20 TARGET_EXEC="valgrind --error-exitcode=1"

Reported-by: Martin Storsjö <martin@martin.st>
Reviewed-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
5 days agofate: Update fate refs after cca982ee018aad54214e94f2a0a5921c8bbf1328
Andreas Rheinhardt [Mon, 29 Jun 2020 15:48:54 +0000 (17:48 +0200)]
fate: Update fate refs after cca982ee018aad54214e94f2a0a5921c8bbf1328

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
5 days agoavfilter/vf_colorbalance: remove wrong addition
Paul B Mahol [Mon, 29 Jun 2020 12:50:06 +0000 (14:50 +0200)]
avfilter/vf_colorbalance: remove wrong addition

5 days agoMAINTAINERS: remove myself as Twitter maintainer
Lou Logan [Sun, 28 Jun 2020 20:37:55 +0000 (12:37 -0800)]
MAINTAINERS: remove myself as Twitter maintainer

Signed-off-by: Lou Logan <lou@lrcd.com>
5 days agolavf/movenc: Use a dynamic buffer when writing the mfra box
Derek Buitenhuis [Tue, 23 Jun 2020 15:05:18 +0000 (16:05 +0100)]
lavf/movenc: Use a dynamic buffer when writing the mfra box

When doing streamed output, with e.g. +dash, if the mfra box ended
up being larger than the AVIOContext write buffer, the (unchecked)
seeking back to update the box size would silently fail and produce
an invalid mfra box.

This is similar to how other boxes are written in fragmented mode.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
6 days agoavcodec/nvenc: support for HEVC timecode passthrough
Limin Wang [Sun, 28 Jun 2020 02:34:12 +0000 (10:34 +0800)]
avcodec/nvenc: support for HEVC timecode passthrough

Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
6 days agoavcodec/nvenc: add more sei data support
Limin Wang [Mon, 15 Jun 2020 14:08:40 +0000 (22:08 +0800)]
avcodec/nvenc: add more sei data support

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
6 days agoavcodec/utils: add ff_alloc_timecode_sei() for hevc timecode sei
Limin Wang [Thu, 18 Jun 2020 03:58:50 +0000 (11:58 +0800)]
avcodec/utils: add ff_alloc_timecode_sei() for hevc timecode sei

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
6 days agoavcodec/hevcdec: create AVFrame side data from HEVC timecodes like H.264
Limin Wang [Wed, 24 Jun 2020 06:29:32 +0000 (14:29 +0800)]
avcodec/hevcdec: create AVFrame side data from HEVC timecodes like H.264

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
6 days agoavcodec/hevc_sei: support HEVC timecode decode
Limin Wang [Mon, 15 Jun 2020 12:55:17 +0000 (20:55 +0800)]
avcodec/hevc_sei: support HEVC timecode decode

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
6 days agoavcodec/h264_slice: use av_timecode_get_smpte()
Limin Wang [Wed, 24 Jun 2020 06:07:22 +0000 (14:07 +0800)]
avcodec/h264_slice: use av_timecode_get_smpte()

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
6 days agoavutil/timecode: add function av_timecode_get_smpte()
Limin Wang [Wed, 24 Jun 2020 05:59:34 +0000 (13:59 +0800)]
avutil/timecode: add function av_timecode_get_smpte()

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
6 days agoavfilter/vf_showinfo: add a \n for end of ERROR and WARNNING log
Limin Wang [Fri, 26 Jun 2020 11:10:47 +0000 (19:10 +0800)]
avfilter/vf_showinfo: add a \n for end of ERROR and WARNNING log

 Note for info level, one extra \n will be print after the log.

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
6 days agoavcodec/bitstream: Avoid allocation when creating VLC tables
Andreas Rheinhardt [Thu, 25 Jun 2020 11:20:19 +0000 (13:20 +0200)]
avcodec/bitstream: Avoid allocation when creating VLC tables

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
6 days agoavcodec/bitstream: Don't check for undefined behaviour after it happened
Andreas Rheinhardt [Thu, 25 Jun 2020 13:10:35 +0000 (15:10 +0200)]
avcodec/bitstream: Don't check for undefined behaviour after it happened

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
6 days agoavformat/smoothstreaming: Add deinit function
Andreas Rheinhardt [Fri, 20 Dec 2019 18:57:34 +0000 (19:57 +0100)]
avformat/smoothstreaming: Add deinit function

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
6 days agoavformat/smoothstreaming: Don't write trailer of subcontext
Andreas Rheinhardt [Fri, 20 Dec 2019 18:26:00 +0000 (19:26 +0100)]
avformat/smoothstreaming: Don't write trailer of subcontext

Nothing written in avformat_write_trailer() for the submuxers will be
output anyway because the AVIOContexts used for actual output have been
closed before the call. Writing the trailer of the subcontext has probably
only been done in order to free the memory allocated by the submuxer.
And this job has been taken over by the deinit functions.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
7 days agoavformat/mvdec: Fix integer overflow with billions of channels
Michael Niedermayer [Mon, 22 Jun 2020 23:01:53 +0000 (01:01 +0200)]
avformat/mvdec: Fix integer overflow with billions of channels

Fixes: signed integer overflow: 1394614304 * 2 cannot be represented in type 'int'
Fixes: 23491/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5697377020411904

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 days agolibavcodec/jpeg2000dec.c Fixed WRITE_FRAME and tile co-ordinates:
Gautam Ramakrishnan [Sun, 21 Jun 2020 18:42:06 +0000 (00:12 +0530)]
libavcodec/jpeg2000dec.c Fixed WRITE_FRAME and tile co-ordinates:

libopenjpeg2000 uses ceiling division while dividing tile
co-ordinates with the sample separation. Also, corrections
were made to the WRITE_FRAME macro.

Improves: p1_01.j2k and p1_07.j2k

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 days agolibavcodec/jpeg2000dec.c: Modify image dimensions
Gautam Ramakrishnan [Sun, 21 Jun 2020 18:42:05 +0000 (00:12 +0530)]
libavcodec/jpeg2000dec.c: Modify image dimensions

Reduce image size of the image if all components have
a non zero sample separation. This is to replicate the
output of opj_decompress.

Improves: p1_01.j2k

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
7 days agoavcodec/adpcm_ima_apm: support new extradata format
Zane van Iperen [Sat, 20 Jun 2020 10:59:14 +0000 (10:59 +0000)]
avcodec/adpcm_ima_apm: support new extradata format

Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
8 days agoavcodec/mpeg12dec: switch to AVBufferRef buffer for a53 caption
Limin Wang [Sun, 21 Jun 2020 12:57:22 +0000 (20:57 +0800)]
avcodec/mpeg12dec: switch to AVBufferRef buffer for a53 caption

Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
8 days agoavformat/avc, mxfenc: Avoid allocation of H264 SPS structure, fix memleak
Andreas Rheinhardt [Wed, 24 Jun 2020 15:51:58 +0000 (17:51 +0200)]
avformat/avc, mxfenc: Avoid allocation of H264 SPS structure, fix memleak

Up until now, ff_avc_decode_sps would parse a SPS and return some
properties from it in a freshly allocated structure. Yet said structure
is very small and completely internal to libavformat, so there is no
reason to use the heap for it. This commit therefore changes the
function to return an int and to modify a caller-provided structure.
This will also allow ff_avc_decode_sps to return better error codes in
the future.

It also fixes a memleak in mxfenc: If a packet contained multiple SPS,
only the SPS structure belonging to the last SPS would be freed, the
other ones would leak when the pointer is overwritten to point to the
new SPS structure. Of course, without allocations there are no leaks.
This is Coverity issue #1445194.

Furthermore, the SPS structure has been renamed from
H264SequenceParameterSet to H264SPS in order to avoid overlong lines.

Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
8 days agoavformat/avc: Don't use ff_ prefix for static function
Andreas Rheinhardt [Wed, 24 Jun 2020 14:54:43 +0000 (16:54 +0200)]
avformat/avc: Don't use ff_ prefix for static function

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
8 days agoavformat/webvttdec: Accept \r as newline
Andreas Rheinhardt [Sat, 20 Jun 2020 05:06:04 +0000 (07:06 +0200)]
avformat/webvttdec: Accept \r as newline

After parsing the end timestamp of a WebVTT cue block, the current code
skips everything after the start of the timestamp that is not a \t, ' '
or \n and treats what is next as the start of a WebVTT cue settings list.
Yet if there is no such list, but a single \r, this will skip a part of
the cue payload (namely everything until the first occurence of \t, ' '
or \n) and treat what has not been skipped as the beginning of the
WebVTT cue settings list that extends until the next \r or \n (or the
end).

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
8 days agoavformat/av1: Avoid using dynamic buffer when assembling av1c
Andreas Rheinhardt [Sun, 21 Jun 2020 10:58:21 +0000 (12:58 +0200)]
avformat/av1: Avoid using dynamic buffer when assembling av1c

Given that AV1 only has exactly one sequence header, it is unnecessary
to copy the content of said sequence header into an intermediate dynamic
buffer; instead the sequence header can be copied from where it is in
the input buffer.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
8 days agoavcodec: add AV1 profiles to profile.h
James Almer [Fri, 26 Jun 2020 02:28:57 +0000 (23:28 -0300)]
avcodec: add AV1 profiles to profile.h

Signed-off-by: James Almer <jamrial@gmail.com>
8 days agoavcodec/cbs_h265: set default VUI parameters when vui_parameters_present_flag is...
James Almer [Sun, 21 Jun 2020 18:30:45 +0000 (15:30 -0300)]
avcodec/cbs_h265: set default VUI parameters when vui_parameters_present_flag is false

Based on cbs_h264 code.

Should fix ticket #8752.

Signed-off-by: James Almer <jamrial@gmail.com>
8 days agolavc/aac_ac3_parser: improve the raw AAC file bit rate calculation
Jun Zhao [Sun, 17 May 2020 04:10:05 +0000 (12:10 +0800)]
lavc/aac_ac3_parser: improve the raw AAC file bit rate calculation

Now we just use one ADTS raw frame to calculate the bit rate, it's
lead to a larger error when get the duration from bit rate, the
improvement cumulate Nth ADTS frames to get the average bit rate.

e,g used the command get the duration like:
ffprobe -show_entries format=duration -i fate-suite/aac/foo.aac

before this improvement dump the duration=2.173935
after this improvement  dump the duration=1.979267

in fact, the real duration can be get by command like:
ffmpeg -i fate-suite/aac/foo.aac -f null /dev/null with time=00:00:01.97

Also update the fate-adtstoasc_ticket3715.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
9 days agoavformat/microdvddec: skip malformed lines without frame number.
Michael Niedermayer [Mon, 22 Jun 2020 23:43:14 +0000 (01:43 +0200)]
avformat/microdvddec: skip malformed lines without frame number.

Fixes: signed integer overflow: 1 - -9223372036854775808 cannot be represented in type 'long'
Fixes: 23490/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5133490093031424

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>
9 days agoavfilter/zoompan: add in_time variable
exwm [Fri, 19 Jun 2020 15:58:41 +0000 (15:58 +0000)]
avfilter/zoompan: add in_time variable

Currently, the zoompan filter exposes a 'time' variable (missing from docs) for use in
the 'zoom', 'x', and 'y' expressions. This variable is perhaps better named
'out_time' as it represents the timestamp in seconds of each output frame
produced by zoompan. This patch adds aliases 'out_time' and 'ot' for 'time'.

This patch also adds an 'in_time' (alias 'it') variable that provides access
to the timestamp in seconds of each input frame to the zoompan filter.
This helps to design zoompan filters that depend on the input video timestamps.
For example, it makes it easy to zoom in instantly for only some portion of a video.
Both the 'out_time' and 'in_time' variables have been added in the documentation
for zoompan.

Example usage of 'in_time' in the zoompan filter to zoom in 2x for the
first second of the input video and 1x for the rest:
    zoompan=z='if(between(in_time,0,1),2,1):d=1'

V2: Fix zoompan filter documentation stating that the time variable
would be NAN if the input timestamp is unknown.

V3: Add 'it' alias for 'in_time. Add 'out_time' and 'ot' aliases for 'time'.
Minor corrections to zoompan docs.

Signed-off-by: exwm <thighsman@protonmail.com>
9 days agoavformat/libamqp: add option delivery_mode
Levis Florian [Sat, 20 Jun 2020 17:16:50 +0000 (19:16 +0200)]
avformat/libamqp: add option delivery_mode

Reviewed-by: Andriy Gelman <andriy.gelman@gmail.com>
Signed-off-by: Levis Florian <levis.florian@gmail.com>
9 days agodnn-layer-math-unary-test: add unit test for atan
Ting Fu [Thu, 18 Jun 2020 09:15:36 +0000 (17:15 +0800)]
dnn-layer-math-unary-test: add unit test for atan

Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com>
9 days agodnn_backend_native_layer_mathunary: add atan support
Ting Fu [Thu, 18 Jun 2020 09:15:35 +0000 (17:15 +0800)]
dnn_backend_native_layer_mathunary: add atan support

It can be tested with the model generated with below python script:

import tensorflow as tf
import numpy as np
import imageio

in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]

x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.atan(x)
x2 = tf.divide(x1, 3.1416/4) # pi/4
y = tf.identity(x2, name='dnn_out')

sess=tf.Session()
sess.run(tf.global_variables_initializer())

graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)

print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")

output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))

Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com>
9 days agodnn-layer-math-unary-test: add unit test for acos
Ting Fu [Thu, 18 Jun 2020 09:15:34 +0000 (17:15 +0800)]
dnn-layer-math-unary-test: add unit test for acos

Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com>
9 days agodnn_backend_native_layer_mathunary: add acos support
Ting Fu [Thu, 18 Jun 2020 09:15:33 +0000 (17:15 +0800)]
dnn_backend_native_layer_mathunary: add acos support

It can be tested with the model generated with below python script:

import tensorflow as tf
import numpy as np
import imageio

in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]

x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.acos(x)
x2 = tf.divide(x1, 3.1416/2) # pi/2
y = tf.identity(x2, name='dnn_out')

sess=tf.Session()
sess.run(tf.global_variables_initializer())

graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)

print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")

output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))

Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com>
9 days agodnn-layer-math-unary-test: add unit test for asin
Ting Fu [Thu, 18 Jun 2020 09:15:32 +0000 (17:15 +0800)]
dnn-layer-math-unary-test: add unit test for asin

Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com>
9 days agodnn_backend_native_layer_mathunary: add asin support
Ting Fu [Thu, 18 Jun 2020 09:15:31 +0000 (17:15 +0800)]
dnn_backend_native_layer_mathunary: add asin support

It can be tested with the model generated with below python script:

import tensorflow as tf
import numpy as np
import imageio

in_img = imageio.imread('input.jpeg')
in_img = in_img.astype(np.float32)/255.0
in_data = in_img[np.newaxis, :]

x = tf.placeholder(tf.float32, shape=[1, None, None, 3], name='dnn_in')
x1 = tf.asin(x)
x2 = tf.divide(x1, 3.1416/2) # pi/2
y = tf.identity(x2, name='dnn_out')

sess=tf.Session()
sess.run(tf.global_variables_initializer())

graph_def = tf.graph_util.convert_variables_to_constants(sess, sess.graph_def, ['dnn_out'])
tf.train.write_graph(graph_def, '.', 'image_process.pb', as_text=False)

print("image_process.pb generated, please use \
path_to_ffmpeg/tools/python/convert.py to generate image_process.model\n")

output = sess.run(y, feed_dict={x: in_data})
imageio.imsave("out.jpg", np.squeeze(output))

Signed-off-by: Ting Fu <ting.fu@intel.com>
Signed-off-by: Guo Yejun <yejun.guo@intel.com>
10 days agoavformat/smoothstreaming: Forward errors from copying white/blacklists
Andreas Rheinhardt [Fri, 20 Dec 2019 17:50:21 +0000 (18:50 +0100)]
avformat/smoothstreaming: Forward errors from copying white/blacklists

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
10 days agoavcodec/cbs_av1: Simplify writing uvlc elements
Andreas Rheinhardt [Thu, 18 Jun 2020 17:55:30 +0000 (19:55 +0200)]
avcodec/cbs_av1: Simplify writing uvlc elements

There is no reason to special-case writing a value of zero as uvlc
element as the generic code is perfectly capable of doing so.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
10 days agoavcodec/cbs_av1: Fix writing uvlc numbers >= INT_MAX
Andreas Rheinhardt [Thu, 18 Jun 2020 12:37:38 +0000 (14:37 +0200)]
avcodec/cbs_av1: Fix writing uvlc numbers >= INT_MAX

Fixes: assertion failure
Fixes: left shift of 1 by 31 places cannot be represented in type 'int'
Fixes: 23264/clusterfuzz-testcase-minimized-ffmpeg_BSF_AV1_METADATA_fuzzer-6308429248593920

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
10 days agoavcodec/hevc: export chroma sample location
Hendrik Leppkes [Wed, 11 Apr 2018 11:46:10 +0000 (13:46 +0200)]
avcodec/hevc: export chroma sample location

10 days agoavfilter/vf_v360: do not ignore return value of allocate_plane()
Paul B Mahol [Tue, 23 Jun 2020 19:53:39 +0000 (21:53 +0200)]
avfilter/vf_v360: do not ignore return value of allocate_plane()

10 days agoavcodec/ccaption_dec: add support for background colors
Paul B Mahol [Sun, 21 Jun 2020 12:21:46 +0000 (14:21 +0200)]
avcodec/ccaption_dec: add support for background colors

10 days agolavc: Lower MediaFoundation audio encoder priority.
Carl Eugen Hoyos [Tue, 23 Jun 2020 18:41:46 +0000 (20:41 +0200)]
lavc: Lower MediaFoundation audio encoder priority.

The actual encoders may not be available.
Fixes ticket #8699.

11 days agodoc/general: mention BT20 decoder
Paul B Mahol [Tue, 23 Jun 2020 14:04:31 +0000 (16:04 +0200)]
doc/general: mention BT20 decoder

11 days agodoc/general: merge dupe ProRes entries
Paul B Mahol [Tue, 23 Jun 2020 13:53:45 +0000 (15:53 +0200)]
doc/general: merge dupe ProRes entries

While here add missing fourcc.

11 days agodoc/general: mention NotchLC
Paul B Mahol [Tue, 23 Jun 2020 13:51:13 +0000 (15:51 +0200)]
doc/general: mention NotchLC

11 days agoavfilter/vf_v360: add orthographic projection support
Paul B Mahol [Mon, 22 Jun 2020 18:16:22 +0000 (20:16 +0200)]
avfilter/vf_v360: add orthographic projection support

12 days agoavfilters/vf_v360: add equisolid projection support
Paul B Mahol [Mon, 22 Jun 2020 12:39:35 +0000 (14:39 +0200)]
avfilters/vf_v360: add equisolid projection support