Commit Graph

8471 Commits

Author SHA1 Message Date
Mohamed Khaled Mohamed b1648150b2 avfilter: add chromakey_cuda filter
GSoC'22

libavfilter/vf_chromakey_cuda.cu:the CUDA kernel for the filter
libavfilter/vf_chromakey_cuda.c: the C side that calls the kernel and gets user input
libavfilter/allfilters.c: added the filter to it
libavfilter/Makefile: added the filter to it
cuda/cuda_runtime.h: added two math CUDA functions that are used in the filter

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
2022-07-10 17:20:15 +02:00
Paul B Mahol fc1ca18fcf avfilter/vf_xfade: add two more transitions 2022-07-09 16:55:50 +02:00
Paul B Mahol 6ed9eaf664 avfilter: add remap opencl filter 2022-07-07 17:52:32 +02:00
Vignesh Venkatasubramanian aa8905a1b1 avfilter/xstack: Add support for fixed size grid
Add a short hand parameter for making a fixed size grid. The existing
xstack layout parameter syntax gets tedious if all one wants is a
matrix like grid of the input streams. Add a grid option to the xstack
filter that simplifies this use case by simply specifying the number of
rows and columns instead of specific x/y co-ordinate for each stream.

Also updating the filter documentation to explain the new option.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
2022-07-04 19:49:31 +02:00
Gyan Doshi dba7376d59 doc/ffmpeg: correct description of -shortest
-shortest stops 'recording' when the shortest output stream ends. The
native or even seek-adjusted duration of the source input stream isn't
considered.
2022-07-04 14:43:48 +05:30
Paul B Mahol ff1450e449 avcodec: add PHM decoder and encoder 2022-07-03 15:16:31 +02:00
Li Kai df8ad4e391 avformat/hls: add #EXT-X-START tag support by prefer_x_start opt
Reviewed-by: Steven Liu <liuqi05@kuaishou.com>
Signed-off-by: Li Kai <wolfleekay@gmail.com>
2022-06-29 14:03:36 +08:00
Lucy 1af3698296 avformat/hlsenc: Use HLS version 2 if rounded durations are enabled
This allows for wider compatibility with older devices, such as those
running iOS 3. The only difference between HLS version 2 and version 3 is
that version 3 supports non-integer EXTINF values, and as such, we can
default to version 2 if we're using whole-integer EXTINFs anyways, when
`-hls_flags round_durations` is set.

As this code seems to otherwise consistently use the lowest compatible
version, this seems to fit in properly with existing behavior.

Testing confirms with that this patch, HLS output can work all the way back
to iOS 3.

Reviewed-by: Steven Liu <liuqi05@kuaishou.com>
Signed-off-by: Lucy <lucy@absolucy.moe>
2022-06-29 14:03:32 +08:00
Yue Heng 53baf60603 libavcodec/qsvenc: Enable fixed QP configure in qsv CQP runtime
Enable dynamic QP configuration in runtime on qsv encoder. Through
AVFrame->metadata, we can set key "qsv_config_qp" to change QP
configuration when we encode video in CQP mode.

Signed-off-by: Yue Heng <yue.heng@intel.com>
Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
2022-06-27 12:09:44 +08:00
Paul B Mahol aa1babc59a avfilter/vf_estdif: tweak ecost option 2022-06-21 18:10:39 +02:00
Marton Balint 5468548d5e doc/decoders: add docs for v210 decoder
Signed-off-by: Marton Balint <cus@passwd.hu>
2022-06-20 22:56:50 +02:00
Marton Balint 1b3ec3c8ca avdevice/pulse_audio_dec: deprecate frame_size option
It does not do anything. Frame sizes can be controlled by using fragment_size.

Signed-off-by: Marton Balint <cus@passwd.hu>
2022-06-16 21:28:20 +02:00
Marton Balint b67ca8a7a5 avdevice/pulse_audio_dec: reduce default fragment size
Reduces default fragment size from the pulse audio default of 2 sec to 50 ms.
This also has an effect on the size of the returned frames, which will be
around 50 ms as well, making timestamps more accurate.

This should fix the regression in ticket #9776.

Pulseaudio timestamps for monitor sources are still pretty inaccurate for me,
but I don't see how else should we query latencies from the library.

Signed-off-by: Marton Balint <cus@passwd.hu>
2022-06-16 21:28:20 +02:00
Peter Ross 5242ede48d doc: describe QOI image format 2022-06-16 15:16:58 +05:30
Paul B Mahol d39f9feddc avfilter: add virtualbass filter 2022-06-16 10:23:30 +02:00
Gyan Doshi 557a1a8af2 doc/APIchanges: add missing marker for release 5.0 2022-06-16 12:52:24 +05:30
Zane van Iperen 9874baf2cd doc/APIchanges: add missing uuid and csp entries
Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
Signed-off-by: James Almer <jamrial@gmail.com>
2022-06-13 22:04:36 -03:00
Stefano Sabatini ff07492cd8 ffprobe: add -o option
This enables printing to a resource specified with -o OUTPUT.

In case the output is not specified, prints to stdout as usual.

Address issue: http://trac.ffmpeg.org/ticket/8024

Signed-off-by: Marton Balint <cus@passwd.hu>
2022-06-13 22:42:55 +02:00
Stefano Sabatini 7cae3d8b76 lavf/avio: add avio_vprintf()
This new function makes it possible to use avio_printf() functionality from
a function taking a variable list of arguments.

Signed-off-by: Marton Balint <cus@passwd.hu>
2022-06-13 22:42:55 +02:00
Marton Balint 843c4346b1 doc/ffmpeg: fix typo in VCD creation example
Fixes ticket #9753.

Signed-off-by: Marton Balint <cus@passwd.hu>
2022-06-12 09:35:50 +05:30
Gyan Doshi 09c53a04c5 ffmpeg: add option fps_mode
fps_mode sets video sync per output stream. Overrides vsync for matching
streams.

vsync is deprecated.
2022-06-11 09:47:27 +05:30
Gijs Peskens 7f3f3539e8 avformat/librist: allow setting fifo size and fail on overflow
Introduce fifo_size and overrun_nonfatal params to configure fifo buffer
behavior.

Use newly introduced RIST_DATA_FLAGS_OVERFLOW flag to check for overrun
and error out in that case.

Signed-off-by: Marton Balint <cus@passwd.hu>
2022-06-09 23:57:20 +02:00
Yue Heng 11912f65ef libavcodec/qsvenc: Add min/max QP control options for I/P/B frame
To do more accurate QP control, add min/max QP control on I/P/B frame
separately to qsv encoder. qmax and qmin still work but newly-added
options have higher priority.

Signed-off-by: Yue Heng <yue.heng@intel.com>
Signed-off-by: Wenbin Chen <wenbin.chen@intel.com>
2022-06-06 13:56:10 +08:00
Linjie Fu e838169181 doc/vaapi_encode: add documentations for max_frame_size
Add docs for max_frame_size option.

Signed-off-by: Linjie Fu <linjie.fu@intel.com>
Signed-off-by: Fei Wang <fei.w.wang@intel.com>
2022-06-06 13:56:10 +08:00
Paul B Mahol 525f83becd avfilter: add tiltshelf audio filter 2022-05-29 12:37:46 +02:00
Gyan Doshi 0dcbe1c1aa doc/protocols: add details and reformat IPFS section 2022-05-26 16:21:28 +05:30
Gyan Doshi 8a0f7f7bfe doc/protocols: sort IPFS section alphabetically 2022-05-26 16:20:49 +05:30
Thilo Borgmann 9cb9da62a3 avfilter: Add blockdetect filter 2022-05-24 11:21:36 +02:00
Martin Storsjö 4cdc14aa95 libavutil: Deprecate av_fopen_utf8, provide an avpriv version
Since every DLL can use an individual CRT on Windows, having
an exported function that opens a FILE* won't work if that
FILE* is going to be used from a different DLL (or from user
application code).

Internally within the libraries, the issue can be worked around
by duplicating the function in all libraries (this already happened
implicitly because the function resided in file_open.c) and renaming
the function to ff_fopen_utf8 (so that it doesn't end up exported from
the DLLs) and duplicating it in all libraries that use it.

This makes the avpriv_fopen_utf8 / ff_fopen_utf8 function work in
the exact same way as the existing avpriv_open / ff_open, with the
same setup as introduced in e743e7ae6e.

That mechanism doesn't work for external users, thus deprecate the
existing function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2022-05-23 13:52:26 +03:00
Gyan Doshi 00ae20dfb4 doc/muxers: note write_btrt option for MOV/MP4 2022-05-16 13:56:38 +05:30
Paul B Mahol 163e737c17 avfilter/af_afir: add support for double sample format 2022-05-15 13:34:50 +02:00
Paul B Mahol e6f0cec880 avfilter/af_acrossover: add precision option 2022-05-14 14:11:52 +02:00
Gyan Doshi 8b64d8d9aa avformat/dashdec: accept and relay CENC decryption key
Allows to process CENC-encrypted media segments.
Option arg syntax is same as that for option decryption_key in MOV demuxer
2022-05-14 14:46:01 +05:30
Paul B Mahol b90341d1d5 avfilter/af_asubboost: add channels option 2022-05-13 22:09:08 +02:00
Paul B Mahol 075c2308e3 avfilter/af_asubboost: add boost option 2022-05-13 15:18:42 +02:00
Tomas Härdin 30e2bb0f64 doc/encoders.texi: Document updated behavior
Bitrates of akiyo changed slightly.
2022-05-12 11:19:12 +02:00
Tomas Härdin 61bcd7737d doc/encoders.texi: Document cinepak encoder 2022-05-12 11:19:12 +02:00
Wang Cao d82481ef41 avfilter/af_alimiter: add latency compensation option
Signed-off-by: Wang Cao <wangcao@google.com>
2022-05-12 10:52:52 +02:00
Paul B Mahol cbc1b8adad avfilter/af_biquads: add zdf transform type 2022-05-11 22:14:58 +02:00
NetSysFire cd78d5bba9 doc/ffmpeg: fix typo in ffmpeg.texi 2022-05-10 22:02:58 +02:00
John Stebbins 326f9fd01b lavc/pgs_frame_merge_bsf: add bsf to merge PGS segments
Required to remux m2ts to mkv
Minor changes and porting to FFBitStreamFilter done by the committer.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-05-10 10:03:30 +02:00
Paul B Mahol 5ccd8f492b avfilter/af_crossfeed: add option for linear phase filtering
But at expense of additional delay.
2022-05-09 22:21:40 +02:00
Paul B Mahol 1309867022 avfilter/af_biquads: add option for block based linear phase processing 2022-05-09 22:21:40 +02:00
Paul B Mahol d166317cdd avfilter/af_biquads: add tdi transform type 2022-05-08 18:27:11 +02:00
Paul B Mahol 767f66ea5d avfilter: add multiply video filter 2022-05-05 19:07:10 +02:00
Paul B Mahol 003f9a9b41 avfilter/vf_fftdnoiz: add alternative denoising method 2022-05-05 19:06:08 +02:00
Andreas Unterweger 40f2ea971f doc/examples/transcode_aac: Bump date
Signed-off-by: Andreas Unterweger <dustsigns@gmail.com>
2022-05-02 15:01:15 +05:30
Andreas Unterweger 04642de4b4 doc/examples/transcode_aac: AAC encoder is no longer experimental
Signed-off-by: Andreas Unterweger <dustsigns@gmail.com>
2022-05-02 15:01:03 +05:30
Andreas Unterweger 3c7382e368 doc/examples/transcode_aac: Set decoder packet timebase
Previously, the default timebase caused two warnings during decoding about not being able to update timestamps for skipped and discarded samples, respectively.

Signed-off-by: Andreas Unterweger <dustsigns@gmail.com>
2022-05-02 14:59:38 +05:30
Andreas Unterweger e13429c9c4 doc/examples/transcode_aac: Don't ignore last encoded frame
The last encoded frame is now fetched on EOF. It was previously left in the encoder and caused a "1 frame left in queue" warning.

Signed-off-by: Andreas Unterweger <dustsigns@gmail.com>
2022-05-02 14:56:41 +05:30