summaryrefslogtreecommitdiff
path: root/libavfilter
Commit message (Collapse)AuthorAge
* avfilter: add chromakey_cuda filterMohamed Khaled Mohamed2022-07-10
| | | | | | | | | | | | 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>
* avfilter/vf_xfade: add two more transitionsPaul B Mahol2022-07-09
|
* avfilter: add remap opencl filterPaul B Mahol2022-07-07
|
* avfilter/xstack: Add support for fixed size gridVignesh Venkatasubramanian2022-07-04
| | | | | | | | | | | | 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>
* avfilter/vf_atadenoise: Remove unused-but-set variablesAndreas Rheinhardt2022-07-03
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/Makefile: always make colorspace.oGyan Doshi2022-06-25
| | | | | | | Unbreaks libavfilter builds when configured with a subset of filters. drawutils added ff_draw_init2 in 6c3a82f043 which calls functions defined in colorspace.c. So the latter needs to be built alongside the former.
* avfilter/vf_gblur: properly round outputPaul B Mahol2022-06-23
|
* avfilter/x86/vf_bwdif: Remove obsolete MMXEXT functionsAndreas Rheinhardt2022-06-22
| | | | | | | | | The only system which benefit from these are truely ancient 32bit x86s as all other systems use at least the SSE2 versions (this includes all x64 cpus (which is why this code is restricted to x86-32)). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/x86/vf_idet: Remove obsolete MMX(EXT) functionsAndreas Rheinhardt2022-06-22
| | | | | | | | | The only system which benefit from these are truely ancient 32bit x86s as all other systems use at least the SSE2 versions (this includes all x64 cpus (which is why this code is restricted to x86-32)). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/x86/vf_yadif: Remove obsolete MMXEXT functionsAndreas Rheinhardt2022-06-22
| | | | | | | | | The only system which benefit from these are truely ancient 32bit x86s as all other systems use at least the SSE2 versions (this includes all x64 cpus (which is why this code is restricted to x86-32)). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/x86/vf_eq_init: Remove obsolete MMXEXT functionAndreas Rheinhardt2022-06-22
| | | | | | | | | | | x64 always has MMX, MMXEXT, SSE and SSE2 and this means that some functions for MMX, MMXEXT and 3dnow are always overridden by other functions (unless one e.g. explicitly disables SSE2) for x64. So given that the only systems that benefit from process_mmxext are truely ancient 32bit x86s it is removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/x86/vf_noise: Remove obsolete MMX functionAndreas Rheinhardt2022-06-22
| | | | | | | | | | | x64 always has MMX, MMXEXT, SSE and SSE2 and this means that some functions for MMX, MMXEXT and 3dnow are always overridden by other functions (unless one e.g. explicitly disables SSE2) for x64. So given that the only systems that benefit from line_noise_mmx are truely ancient 32bit x86s it is removed. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_estdif: tweak ecost optionPaul B Mahol2022-06-21
|
* libavfilter/vf_frei0r.c: Use UTF-8 version of getenv()Nil Admirari2022-06-21
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* lavfi/drawutils: improve colorspace supportrcombs2022-06-19
| | | | | | | | | | | | | | | | | | | | | - Introduce ff_draw_init2, which takes explicit colorspace and range args - Use lavu/csp and lavfi/colorspace for conversion, rather than the lavu/colorspace.h macros - Use the passed-in colorspace when performing RGB->YUV conversions The upshot of this is: - Support for YUV spaces other than BT601 - Better rounding for all conversions - Particular rounding improvements in >8-bit formats, which previously used simple left-shifts - Support for limited-range RGB - Support for full-range YUV in non-J pixfmts Due to the rounding improvements, this results in a large number of minor changes to FATE tests. Signed-off-by: rcombs <rcombs@rcombs.me>
* lavfi/colorspace: add ff_matrix_mul_3x3_vecrcombs2022-06-19
| | | | Signed-off-by: rcombs <rcombs@rcombs.me>
* avfilter/vf_zscale: dissallow too small slicesPaul B Mahol2022-06-16
| | | | Also change rounding type when calculating slices size.
* avfilter: add virtualbass filterPaul B Mahol2022-06-16
|
* all: Replace if (ARCH_FOO) checks by #if ARCH_FOOAndreas Rheinhardt2022-06-15
| | | | | | | | | | | | | | | | | | This is more spec-compliant because it does not rely on dead-code elimination by the compiler. Especially MSVC has problems with this, as can be seen in https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/296373.html or https://ffmpeg.org/pipermail/ffmpeg-devel/2022-May/297022.html This commit does not eliminate every instance where we rely on dead code elimination: It only tackles branching to the initialization of arch-specific dsp code, not e.g. all uses of CONFIG_ and HAVE_ checks. But maybe it is already enough to compile FFmpeg with MSVC with whole-programm-optimizations enabled (if one does not disable too many components). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/showinfo: refactor to use avutil/uuidPierre-Anthony Lemieux2022-06-12
|
* lavfi/blockdetect: Reindent after last commitThilo Borgmann2022-06-06
|
* lavfi/blockdetect: Fix possible div by 0Thilo Borgmann2022-06-06
| | | | Found-by Covererity, CID 1504568, 1504569
* lavfi/vf_tonemap_opencl: fix buildrcombs2022-06-01
| | | | This was broken in d42b410e05ad1c4d6e74aa981b4a4423103291fb.
* lavfi/vf_scale_vulkan: fix buildrcombs2022-06-01
| | | | This was broken in d42b410e05ad1c4d6e74aa981b4a4423103291fb.
* lavfi/blockdetect: Remove nop init() functionThilo Borgmann2022-06-01
|
* avutil/csp: create public API for colorspace structsLeo Izen2022-06-01
| | | | | | | | | | This commit moves some of the functionality from avfilter/colorspace into avutil/csp and exposes it as a public API so it can be used by libavcodec and/or libavformat. It also converts those structs from double values to AVRational to make regression testing easier and more consistent. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avfilter/af_biquads: refactor some optionsPaul B Mahol2022-05-29
|
* avfilter: add tiltshelf audio filterPaul B Mahol2022-05-29
|
* avfilter/af_biquads: fix low/highshelf 'k' calculationPaul B Mahol2022-05-27
|
* avfilter/vf_vpp_qsv: set outlink to EOF correctlyFei Wang2022-05-26
| | | | | | | | | | | | | | | | | 1. Return error if filter frame fail before set outlink to EOF in none pass through mode. 2. Set outlink to EOF before return success in pass through mode. Fix endless cmd: ffmpeg -hwaccel qsv -qsv_device /dev/dri/renderD128 -hwaccel_output_format \ qsv -v debug -c:v hevc_qsv -i 4k.h265 \ -filter_complex "vpp_qsv=w=3840:h=2160:async_depth=4[o1];[o1]split=2[s1][s2]; [s2]vpp_qsv=w=1920:h=1080:async_depth=4[o2];[o2]split=2[s3][s4]; [s4]vpp_qsv=w=1920:h=1080:async_depth=4[o3]" \ -map [s1] -c:v hevc_qsv -async 3 -async_depth 3 -b:v 9000k -preset 7 -g 33 -y -f null - \ -map [s3] -c:v hevc_qsv -async 3 -async_depth 3 -b:v 4000k -preset 7 -g 33 -y -f null - \ -map [o3] -c:v hevc_qsv -async 3 -async_depth 3 -b:v 3100k -preset 7 -g 33 -y -f null -
* qsv: add requirement for the mininal version of libmfxHaihao Xiang2022-05-25
| | | | | | | | | | libmfx 1.28 was released 3 years ago, it is easy to get a greater version than 1.28. We may remove lots of compile-time checks if adding the requirement for the minimal version in the configure script. Reviewed-by: softworkz <softworkz@hotmail.com> Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org> Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
* lavfi/vf_v360: implement output mask for barrelsplitAnton Khirnov2022-05-24
| | | | | | | | | The top/bottom of the barrel are each coded as two semicircles inside a square block in the frame. Mask out the parts of the square that lie outside of these semicircles, so they are made transparent when alpha_mask=1. Fixes the other part of #9725.
* lavfi/vf_v360: fix barrelsplit transform with paddingAnton Khirnov2022-05-24
| | | | | | | Make it match Facebook's transform360 (https://github.com/facebook/transform360) Fixes one part of #9725.
* lavfi/vf_v360: factorize vector computation for barrelsplitAnton Khirnov2022-05-24
|
* lavfi/vf_v360: drop nonsense inline specifierAnton Khirnov2022-05-24
| | | | This function is always called indirectly, it cannot be inlined.
* avfilter: Add blockdetect filterThilo Borgmann2022-05-24
|
* avfilter: use avpriv_fopen_utf8() instead of plain fopen()softworkz2022-05-24
| | | | | | | | Unify file access operations by replacing usages of direct calls to posix fopen() to prepare for long filename support on Windows. Signed-off-by: softworkz <softworkz@hotmail.com> Signed-off-by: Martin Storsjö <martin@martin.st>
* avfilter/af_afftfilt: add threads supportPaul B Mahol2022-05-24
|
* Switch uses of av_fopen_utf8 to avpriv_fopen_utf8Martin Storsjö2022-05-23
| | | | | | The former has been deprecated. Signed-off-by: Martin Storsjö <martin@martin.st>
* libavutil: Deprecate av_fopen_utf8, provide an avpriv versionMartin Storsjö2022-05-23
| | | | | | | | | | | | | | | | | | | | | | 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 e743e7ae6ee7e535c4394bec6fe6650d2b0dbf65. That mechanism doesn't work for external users, thus deprecate the existing function. Signed-off-by: Martin Storsjö <martin@martin.st>
* avfilter/avf_showfreqs: fix memleak in plot_freqsSteven Liu2022-05-23
| | | | | | | plot_freqs should free colors before return error when ff_get_video_buffer failed Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avfilter/formats: Constify channel_layout in ff_add_channel_layout()Andreas Rheinhardt2022-05-19
| | | | | | It copies, not moves the channel layout. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/af_afir: add support for double sample formatPaul B Mahol2022-05-15
|
* avfilter/af_acrossover: add precision optionPaul B Mahol2022-05-14
|
* avfilter/af_asubboost: add channels optionPaul B Mahol2022-05-13
|
* avfilter/vf_zscale: active region use doubles so use that type here tooPaul B Mahol2022-05-13
|
* avfilter/af_asubboost: add boost optionPaul B Mahol2022-05-13
|
* avfilter/af_crossfeed: always return same number of samples with block ↵Paul B Mahol2022-05-13
| | | | processing
* avfilter/vf_zscale: improve slice processingPaul B Mahol2022-05-13
|
* avfilter/af_biquads: always return same number of samples with block processingPaul B Mahol2022-05-12
|