Gyan Doshi
7df9271272
avfilter/whisper: correct option formatting
2025-08-17 00:58:03 +00:00
Zhao Zhili
1d06e8ddcd
avfilter/af_whisper: fix broken output for multibyte character
...
text + 1 can break a multibyte character, e.g., Chinese in UTF-8.
There is no space at the beginning in this case.
2025-08-16 13:58:14 +00:00
Jiasheng Jiang
b8d5f65b9e
libavfilter/dnn/dnn_backend_tf: Remove redundant av_freep() to avoid double free
...
Remove redundant av_freep() to avoid double free since task will be freed in dnn_free_model_tf() after the success of ff_queue_push_back().
Fixes: af052f9066 ("lavfi/dnn: fix mem leak in TF backend error handle")
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
2025-08-13 19:50:26 +08:00
Niklas Haas
5929d46f7b
avfilter/vf_vignette: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
ec3c9ecaa7
avfilter/vf_tonemap: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
a75f673713
avfilter/vf_selectivecolor: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
2cdf4f08b4
avfilter/vf_scdet_vulkan: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
7751f261de
avfilter/vf_scdet: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
dee56511b0
avfilter/vf_scale_vulkan: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
bd59c6651b
avfilter/vf_photosensitivity: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
663a37f7f9
avfilter/vf_libvmaf: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
a45113c28a
avfilter/vf_libplacebo: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
ea72804295
avfilter/vf_gblur_vulkan: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
d1d64c804e
avfilter/vf_freezedetect: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
d276875c90
avfilter/vf_drawtext: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
029f501a95
avfilter/vf_drawbox: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
86387038f8
avfilter/vf_delogo: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
b02d6fc556
avfilter/vf_dctdnoiz: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
d84a21a023
avfilter/vf_curves: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
8c51a8b954
avfilter/vf_blackdetect_vulkan: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
0b7827cd10
avfilter/vf_blackdetect: log with correct filter ID
...
If we use the private BlackDetectContext for logging, the filter ID does
not get printed alongside the filter name. Using the parent AVFilterContext
makes this consistent with other filters.
2025-08-12 09:01:39 +00:00
Niklas Haas
a47ebee7df
avfilter/f_bench: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
0913576225
avfilter/avf_aphasemeter: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
96f860853e
avfilter/asrc_sine: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
dcd378ad04
avfilter/asrc_sinc: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
d360c212af
avfilter/asrc_hilbert: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
2e8d3548e1
avfilter/asrc_afirsrc: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
4cc71fb806
avfilter/af_silencedetect: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
892c439525
avfilter/af_lv2: use AVFilterContext when logging
2025-08-12 09:01:39 +00:00
Niklas Haas
fb8f52d66c
avfilter/af_afftdn: use AVFilterContext for logging
2025-08-12 09:01:39 +00:00
Niklas Haas
f610b55525
avfilter/vf_libplacebo: fix possible segfault when frame mixing
...
pl_frame_mix_current() will return NULL if all frames are in the future,
but when libplacebo is using a frame mixer with a radius greater than 1,
future frames are expected to already be partially renderered. Instead, use
pl_frame_mix_nearest(), which is guaranteed to give us a valid frame for any
nonempty frame mix.
Fixes: 3091bca3ed
2025-08-11 21:21:55 +00:00
Kacper Michajłow
1a1377c53d
avfilter/stack_internal: fix checkheaders test
...
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
2025-08-11 19:29:53 +00:00
Kacper Michajłow
a6380c35d6
avfilter/vf_blackdetect: add missing config.h include
...
For ARCH_X86.
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
2025-08-11 19:29:53 +00:00
Kacper Michajłow
e6635ada64
avfilter/vf_colordetect: optimize C functions a bit
...
They are used to process tail, so it's still good to have them faster.
Even if AVX version are used.
GCC 14.2.0 | x86_64 (default config) | Before:
detect_alpha_8_full_c: 3803.0 ( 1.00x)
detect_alpha_8_full_avx2: 166.4 (22.86x)
detect_alpha_8_full_avx512icl: 144.2 (26.37x)
detect_alpha_8_limited_c: 10454.4 ( 1.00x)
detect_alpha_8_limited_avx2: 616.5 (16.96x)
detect_alpha_8_limited_avx512icl: 509.4 (20.52x)
detect_alpha_16_full_c: 1903.0 ( 1.00x)
detect_alpha_16_full_avx2: 172.4 (11.04x)
detect_alpha_16_full_avx512icl: 163.4 (11.65x)
detect_alpha_16_limited_c: 3703.6 ( 1.00x)
detect_alpha_16_limited_avx2: 644.4 ( 5.75x)
detect_alpha_16_limited_avx512icl: 558.0 ( 6.64x)
detect_range_8_c: 5855.9 ( 1.00x)
detect_range_8_avx2: 150.4 (38.94x)
detect_range_8_avx512icl: 146.7 (39.91x)
detect_range_16_c: 2702.2 ( 1.00x)
detect_range_16_avx2: 256.7 (10.53x)
detect_range_16_avx512icl: 116.8 (23.13x)
GCC 14.2.0 | x86_64 (default config) | After:
detect_alpha_8_full_c: 376.3 ( 1.00x)
detect_alpha_8_full_avx2: 169.2 ( 2.22x)
detect_alpha_8_full_avx512icl: 134.6 ( 2.80x)
detect_alpha_8_limited_c: 6024.1 ( 1.00x)
detect_alpha_8_limited_avx2: 641.8 ( 9.39x)
detect_alpha_8_limited_avx512icl: 493.0 (12.22x)
detect_alpha_16_full_c: 436.4 ( 1.00x)
detect_alpha_16_full_avx2: 156.3 ( 2.79x)
detect_alpha_16_full_avx512icl: 151.8 ( 2.87x)
detect_alpha_16_limited_c: 3679.9 ( 1.00x)
detect_alpha_16_limited_avx2: 642.0 ( 5.73x)
detect_alpha_16_limited_avx512icl: 555.2 ( 6.63x)
detect_range_8_c: 655.2 ( 1.00x)
detect_range_8_avx2: 153.9 ( 4.26x)
detect_range_8_avx512icl: 147.4 ( 4.45x)
detect_range_16_c: 743.3 ( 1.00x)
detect_range_16_avx2: 258.6 ( 2.87x)
detect_range_16_avx512icl: 107.7 ( 6.90x)
Clang 19.1.7 | x86_64 (default config) | Before:
detect_alpha_8_full_c: 7013.4 ( 1.00x)
detect_alpha_8_full_avx2: 141.8 (49.46x)
detect_alpha_8_full_avx512icl: 133.8 (52.40x)
detect_alpha_8_limited_c: 7038.8 ( 1.00x)
detect_alpha_8_limited_avx2: 605.0 (11.63x)
detect_alpha_8_limited_avx512icl: 506.5 (13.90x)
detect_alpha_16_full_c: 1799.5 ( 1.00x)
detect_alpha_16_full_avx2: 143.0 (12.59x)
detect_alpha_16_full_avx512icl: 127.5 (14.12x)
detect_alpha_16_limited_c: 3499.6 ( 1.00x)
detect_alpha_16_limited_avx2: 633.6 ( 5.52x)
detect_alpha_16_limited_avx512icl: 551.9 ( 6.34x)
detect_range_8_c: 5253.6 ( 1.00x)
detect_range_8_avx2: 125.0 (42.01x)
detect_range_8_avx512icl: 123.2 (42.65x)
detect_range_16_c: 3055.2 ( 1.00x)
detect_range_16_avx2: 230.0 (13.28x)
detect_range_16_avx512icl: 95.9 (31.86x)
Clang 19.1.7 | x86_64 (default config) | After:
detect_alpha_8_full_c: 323.3 ( 1.00x)
detect_alpha_8_full_avx2: 149.7 ( 2.16x)
detect_alpha_8_full_avx512icl: 127.7 ( 2.53x)
detect_alpha_8_limited_c: 5075.9 ( 1.00x)
detect_alpha_8_limited_avx2: 625.4 ( 8.12x)
detect_alpha_8_limited_avx512icl: 493.0 (10.30x)
detect_alpha_16_full_c: 421.0 ( 1.00x)
detect_alpha_16_full_avx2: 238.8 ( 1.76x)
detect_alpha_16_full_avx512icl: 126.0 ( 3.34x)
detect_alpha_16_limited_c: 3516.8 ( 1.00x)
detect_alpha_16_limited_avx2: 624.7 ( 5.63x)
detect_alpha_16_limited_avx512icl: 544.7 ( 6.46x)
detect_range_8_c: 609.1 ( 1.00x)
detect_range_8_avx2: 239.4 ( 2.54x)
detect_range_8_avx512icl: 89.0 ( 6.84x)
detect_range_16_c: 463.9 ( 1.00x)
detect_range_16_avx2: 127.4 ( 3.64x)
detect_range_16_avx512icl: 86.4 ( 5.37x)
Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
2025-08-11 17:39:23 +00:00
Michael Niedermayer
638b521c7b
Bump versions for master after release/8.0
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-08-09 18:03:05 +02:00
Michael Niedermayer
7eaa0f799a
Bump versions for release/8.0
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-08-09 17:30:39 +02:00
Vittorio Palmisano
13ce36fef9
libavfilter: Whisper audio filter
...
It adds a new audio filter for running audio transcriptions with the whisper model.
Documentation and examples are included into the patch.
2025-08-08 21:59:56 +02:00
Muhammad Faiz
35ea458354
avfilter/avf_showcqt: fix unbounded index when copying to fft_data
...
When timeclamp and/or fps are low, j can be negative.
Fix Ticket11640
2025-08-08 18:47:44 +02:00
Niklas Haas
6862ec704a
avfilter/vf_libplaceb: use TS2T() macro
2025-08-08 11:29:27 +00:00
Niklas Haas
d69ccbfc18
avfilter/vf_libplacebo: use the first visible input for metadata
...
Instead of undconditionally using the first input. This covers the case of
one layer fully obscuring another layer, in which case that should become
the new "base" layer.
2025-08-08 11:29:27 +00:00
Niklas Haas
62893fb94e
avfilter/vf_libplacebo: flush render cache when input is invisible
...
This prevents leaking stale metadata from previous frames, for example if
an overlay temporarily obscures this input and then un-obscures it again. It
is worth pointing out that this does change the semantics subtly, because of
the smoothing period on detected HDR metadata, but I argue that the new
behavior is an improvement, as it will avoid leaking past metadata that is
definitely no longer relevant after an image is unobscured.
2025-08-08 11:29:27 +00:00
Niklas Haas
3091bca3ed
avfilter/vf_libplacebo: skip rendering fully invisible planes
...
Sometimes, one input fully obscures another. In this case, we can skip
actually rendering any input below the obscuring one.
The reason I don't simply start the main render loop at `idx_start` will
become apparent in the following commit.
We can't use pl_frame_is_cropped() on this dummy frame, but we need to
determine the reference frame before we can map the real output, so to
resolve this conflict, we just reimplement the crop detection logic using
the output link dimensions.
2025-08-08 11:29:27 +00:00
Niklas Haas
6627c8ea4b
avfilter/vf_libplacebo: skip empty inputs
...
It is possible for pl_queue_update() to return PL_QUEUE_OK, but to generate
an empty frame mix. This happens if the first frame of that input is in the
future.
In this case, we should skip an input as not active, similar to inputs that
have already reached EOF.
2025-08-08 11:29:27 +00:00
Niklas Haas
e57874768a
avfilter/vf_libplacebo: simplify unnecessary indirection
...
in->idx is equal to the array index by definition, so just use the loop
index directly.
2025-08-08 11:29:27 +00:00
Niklas Haas
4125495849
avfilter/vf_libplacebo: whitelist properties on linear blend tex
...
Instead of copying over the entire target and changing a few fields,
set the entire struct to a whitelist of safe properties that we want to
persist on the intermediate texture.
In particular, this avoids leaking irrelevant state related to the
acquire/release callbacks, e.g., which can otherwise cause deadlocks
when the same vulkan frame is attempted to be acquired twice.
2025-08-08 11:29:27 +00:00
Lynne
b8c92e2893
scale_vulkan: add support for basic Debayering
2025-08-08 01:06:11 +09:00
Lynne
bc327222e5
scale_vulkan: refactor shader initialization
2025-08-08 01:06:11 +09:00
Jiasheng Jiang
a25462482c
libavfilter/af_firequalizer: Add check for av_malloc_array()
...
Add check for the return value of av_malloc_array() to avoid potential NULL pointer dereference.
Fixes: d3be186ed1 ("avfilter/firequalizer: add dumpfile and dumpscale option")
Signed-off-by: Jiasheng Jiang <jiashengjiangcool@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2025-08-07 03:07:44 +02:00
Niklas Haas
ac59fc542f
avfilter/vf_thumbnail: fix buffer overflow for odd sized HBD inputs
...
This histogram index was not correctly downshifted to 8-bit.
2025-08-06 21:25:46 +00:00
Lynne
d3288013ab
vf_libplacebo: add support for specifying a LUT for the input
...
This makes it possible to apply Adobe .cube files to inputs.
2025-08-05 23:51:13 +09:00