summaryrefslogtreecommitdiff
path: root/libavfilter
Commit message (Collapse)AuthorAge
* avfilter/opencl: Fix program_opencl for source code larger than 64kBTsutomu Seki2021-10-16
| | | | | | | | | The condition (pos < len) is always true and the rest of the OpenCL program code would not be read, while the maximum number of "rb" is "len - pos - 1", and then, the maximum number of the "pos" is "len - 1". Fixes: trac.ffmpeg.org/ticket/9217
* avfilter/vf_v360: add reset_rot optionPaul B Mahol2021-10-16
|
* avfilter/window_func: unify all filters win_func option that use this headerPaul B Mahol2021-10-15
|
* x86/vf_lut3d: use three operand form for some instructionsJames Almer2021-10-14
| | | | | | Fixes compilation with old yasm. Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/vf_fftfilt: export FFT arrays sizePaul B Mahol2021-10-14
|
* avfilter/vf_overlay: unbreak alpha composition with negative y and threads > 1Paul B Mahol2021-10-14
|
* avfilter/vf_fftfilt: Use av_clip_uint8Martin Storsjö2021-10-14
| | | | | | | | The refactoring in 844890b1bc86316a38bc9e1dbf8ba0dd254307e3 caused fate-source to point out that this could be av_clip_uintp2 (or rather av_clip_uint8). Signed-off-by: Martin Storsjö <martin@martin.st>
* avfilter/vf_histogram: add colors_mode optionPaul B Mahol2021-10-14
|
* avfilter/vf_fftfilt: add gray formats >8 depth supportPaul B Mahol2021-10-14
|
* avfilter/vf_fftfilt: add slice threading supportPaul B Mahol2021-10-14
|
* avfilter/vf_fftfilt: simplify bits/len calculationPaul B Mahol2021-10-14
|
* avfilter: add xcorrelate video filterPaul B Mahol2021-10-13
|
* avfilter: add limitdiff video filterPaul B Mahol2021-10-13
|
* avfilter/vf_palettegen: cosmetic changesSoft Works2021-10-13
| | | | Signed-off-by: softworkz <softworkz@hotmail.com>
* avfilter/vf_palette(gen|use): support palettes with alphaSoft Works2021-10-13
|
* avfilter/vf_lut3d: fix building with --disable-optimizationsMark Reid2021-10-13
|
* Revert "avfilter/vf_idet: reduce noisyness if the filter has been auto inserted"Andreas Rheinhardt2021-10-11
| | | | | | | | | | | This reverts commit 723c37d3b7b5555f23bfdfe3e5c3599543c06332. Said commit was in preparation for auto-inserting the idet filter. This has never happened; even if it did, the code is wrong, because it segfaults if the filter instance doesn't have a name (having one is not mandatory). Furthermore, it is documented for libavfilter to not assign any semantics to the name, which this check violates. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vsrc_testsrc: add planar formats for haldclutsrcPaul B Mahol2021-10-11
|
* avfilter/vf_lut3d: add x86-optimized tetrahedral interpolationMark Reid2021-10-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I spotted an interesting pattern that I didn't see before that leads to the implementation being faster. The bit shifting table I was using before is no longer needed, and was able to remove quite a few lines.  I also add use of FMA on the AVX2 version. f32 1920x1080 1 thread with prelut c impl 1434012700 UNITS in lut3d->interp,       1 runs,      0 skips 1434035335 UNITS in lut3d->interp,       2 runs,      0 skips 1423615347 UNITS in lut3d->interp,       4 runs,      0 skips 1426268863 UNITS in lut3d->interp,       8 runs,      0 skips sse2 905484420 UNITS in lut3d->interp,       1 runs,      0 skips 905659010 UNITS in lut3d->interp,       2 runs,      0 skips 915167140 UNITS in lut3d->interp,       4 runs,      0 skips 915834222 UNITS in lut3d->interp,       8 runs,      0 skips avx 574794860 UNITS in lut3d->interp,       1 runs,      0 skips 581035090 UNITS in lut3d->interp,       2 runs,      0 skips 584116720 UNITS in lut3d->interp,       4 runs,      0 skips 581460290 UNITS in lut3d->interp,       8 runs,      0 skips avx2 301698880 UNITS in lut3d->interp,       1 runs,      0 skips 301982880 UNITS in lut3d->interp,       2 runs,      0 skips 306962430 UNITS in lut3d->interp,       4 runs,      0 skips 305472025 UNITS in lut3d->interp,       8 runs,      0 skips gbrap16 1920x1080 1 thread with prelut c impl 1480894840 UNITS in lut3d->interp,       1 runs,      0 skips 1502922990 UNITS in lut3d->interp,       2 runs,      0 skips 1496114307 UNITS in lut3d->interp,       4 runs,      0 skips 1492554551 UNITS in lut3d->interp,       8 runs,      0 skips sse2 980777180 UNITS in lut3d->interp,       1 runs,      0 skips 986121520 UNITS in lut3d->interp,       2 runs,      0 skips 986489840 UNITS in lut3d->interp,       4 runs,      0 skips 998832248 UNITS in lut3d->interp,       8 runs,      0 skips avx 622212360 UNITS in lut3d->interp,       1 runs,      0 skips 622981160 UNITS in lut3d->interp,       2 runs,      0 skips 645396315 UNITS in lut3d->interp,       4 runs,      0 skips 641057075 UNITS in lut3d->interp,       8 runs,      0 skips avx2 321336400 UNITS in lut3d->interp,       1 runs,      0 skips 321268920 UNITS in lut3d->interp,       2 runs,      0 skips 323459895 UNITS in lut3d->interp,       4 runs,      0 skips 324949967 UNITS in lut3d->interp,       8 runs,      0 skips
* avfilter/asrc_flite: Remove double ';'Andreas Rheinhardt2021-10-10
| | | | | | | | | (Inside a function a stray ';' is an empty statement; outside of a function it is actually invalid, but compilers happen to accept it without complaint (unless e.g. using -pedantic).) Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/asrc_flite: Fix races upon (un)registering voicesAndreas Rheinhardt2021-10-10
| | | | | | | | | | | | | | | | | | The voice registration system in libflite is broken: It is not thread-safe and also not based on internal counters; instead any call to unregister a voice frees said voice even if there are still many other users of said voice who have also registered said voice. While there is no way to guard against another library unregistering voices behind our back, we can at least be correct in the absence of other users of libflite. The current code already tried this by using a reference count of our own for each voice; but the implementation of this is not thread-safe at all. Fix this by using a mutex to guard all of libavfilter's libflite registration and unregistration calls, thereby being thread-safe in the absence of other libflite users. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/asrc_flite: Fix use-after-freesAndreas Rheinhardt2021-10-10
| | | | | | | | | | | | | When an flite filter instance is uninitialized and the refcount of the corresponding voice_entry reaches zero, the voice is unregistered, yet the voice_entry's pointer to the voice is not reset. (Whereas some other pointers are needlessly reset.) Because of this a new flite filter instance will believe said voice to already be registered, leading to use-after-frees. Fix this by resetting the right pointer instead of the wrong ones. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/asrc_flite: Don't segfault when using list_voices optionAndreas Rheinhardt2021-10-10
| | | | | | | | | | Could also happen if initializing flite failed* or if an unknown voice has been selected or if registering the voice failed. *: which it currently can't, because it is a no-op. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/tests/filtfmts: Check for existence of formats/channel layoutsAndreas Rheinhardt2021-10-10
| | | | | | | | Fixes segfaults with filters that either return AVERROR(EAGAIN) (or another error) or that do not set everything and rely on filter_query_formats() to set the rest. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_scale: ReindentationAndreas Rheinhardt2021-10-10
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_scale: Remove always-true checksAndreas Rheinhardt2021-10-10
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_transpose: Don't call av_pix_fmt_desc_get() twiceAndreas Rheinhardt2021-10-10
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/tests/filtfmts: Replace macro by ordinary functionAndreas Rheinhardt2021-10-10
| | | | | | This is possible now that AVFilterFormatsConfig exists. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_v360: fix scaling to give proper resultsPaul B Mahol2021-10-09
|
* avfilter/vf_v360: do not round second arg for rescale()Paul B Mahol2021-10-09
|
* avfilter: add audio signal to distortion ratio filterPaul B Mahol2021-10-09
|
* avfilter/af_axcorrelate: add DBLP sample format supportPaul B Mahol2021-10-09
|
* avfilter/af_atilt: Constify filterAndreas Rheinhardt2021-10-09
| | | | | | | | | (It is actually UB if a declaration and its definition differ wrt their types like they do in this case (the declaration in allfilters is const).) Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/af_axcorrelate: fix integer overflow for huge segmentsPaul B Mahol2021-10-09
|
* avfilter/af_axcorrelate: always process all input samplesPaul B Mahol2021-10-09
|
* avfilter/avfiltergraph: Fix use-after-free when inserting auto-converterAndreas Rheinhardt2021-10-08
| | | | | | | | | | | | | | | | | | | | When inserting an auto-resampler, it may be that the configuration of the filters that the auto-resampler is supposed to connect is already partially merged, i.e. converter->inputs[0].incfg.foo and converter->outputs[0].outcfg.foo (where foo is one of formats, samplerates, channel_layouts) can coincide. Therefore merging the converter filter's input link might modify the outcfg of the converter' outlink. Yet the current code in avfiltergraph.c used pointers from before merging the inlink for merging the outlink, leading to a use-after-free in command lines like: $ ffmpeg -f lavfi -i anullsrc=cl=stereo -lavfi channelsplit,axcorrelate -f null - Fix this by not using outdated values when merging the outlink. This is a regression since 85a6404d7e6c759ddf71d6374812d7ff719728ec. Found-by: Paul B Mahol <onemda@gmail.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_avgblur_vulkan: fix incorrect conditional judgementWu Jianhua2021-10-08
| | | | Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* avfilter/vf_showinfo: minor adjustment for the dump format of ROILimin Wang2021-10-08
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/sharpen_npp: use FILTER_SINGLE_PIXFMTTimo Rothenpieler2021-10-07
|
* avfilter/af_axcorrelate: fix typoPaul B Mahol2021-10-07
|
* avfilter/scale_npp: fix non-aligned output frame dimensionsTimo Rothenpieler2021-10-07
|
* avfilter/sharpen_npp: add sharpening video filter with borders controlRoman Arzumanyan2021-10-07
| | | | Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
* avfilter/vf_thumbnail_cuda: Reindent after the previous commitAndreas Rheinhardt2021-10-07
| | | | Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_thumbnail_cuda: Fix segfaults on uninitAndreas Rheinhardt2021-10-07
| | | | | | | | Uninit crashed if an array containing frames could not be allocated or config_props() has never been called. Reviewed-by: Timo Rothenpieler <timo@rothenpieler.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/aeval: Fix leak of expressions upon reallocation errorAndreas Rheinhardt2021-10-07
| | | | | | | | Fix this by switching to av_dynarray_add_nofree() which is more natural anyway because the entries of the array are pointers. Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/af_vibrato: Fix segfault upon allocation errorAndreas Rheinhardt2021-10-07
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/af_surround: Fix memleaks upon allocation errorAndreas Rheinhardt2021-10-07
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_w3fdif: Fix segfault on allocation errorAndreas Rheinhardt2021-10-07
| | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
* avfilter/vf_v360: fix dfisheye input regressionPaul B Mahol2021-10-06
|
* avfilter/vf_morpho: fix leak by not returning too earlyPaul B Mahol2021-10-05
|