This is an automated email from the git hooks/post-receive script. Git pushed a commit to branch master in repository ffmpeg.
commit d381151ae3a8ea8b923751c9b6d4e1e81386f59e Author: Lynne <[email protected]> AuthorDate: Thu Feb 12 11:33:07 2026 +0100 Commit: Lynne <[email protected]> CommitDate: Tue Apr 21 08:28:45 2026 +0200 vulkan_filter: add an argument for setting the Z workgroup count --- libavfilter/vf_avgblur_vulkan.c | 2 +- libavfilter/vf_blend_vulkan.c | 2 +- libavfilter/vf_bwdif_vulkan.c | 2 +- libavfilter/vf_chromaber_vulkan.c | 2 +- libavfilter/vf_flip_vulkan.c | 2 +- libavfilter/vf_gblur_vulkan.c | 2 +- libavfilter/vf_interlace_vulkan.c | 2 +- libavfilter/vf_overlay_vulkan.c | 2 +- libavfilter/vf_scale_vulkan.c | 2 +- libavfilter/vf_transpose_vulkan.c | 2 +- libavfilter/vf_v360_vulkan.c | 2 +- libavfilter/vf_xfade_vulkan.c | 2 +- libavfilter/vsrc_testsrc_vulkan.c | 4 ++-- libavfilter/vulkan_filter.c | 15 +++++++++------ libavfilter/vulkan_filter.h | 9 ++++++--- 15 files changed, 29 insertions(+), 23 deletions(-) diff --git a/libavfilter/vf_avgblur_vulkan.c b/libavfilter/vf_avgblur_vulkan.c index db0b1b8612..3716f62ccd 100644 --- a/libavfilter/vf_avgblur_vulkan.c +++ b/libavfilter/vf_avgblur_vulkan.c @@ -122,7 +122,7 @@ static int avgblur_vulkan_filter_frame(AVFilterLink *link, AVFrame *in) RET(ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->shd, out, in, VK_NULL_HANDLE, - &s->opts, sizeof(s->opts))); + 1, &s->opts, sizeof(s->opts))); err = av_frame_copy_props(out, in); if (err < 0) diff --git a/libavfilter/vf_blend_vulkan.c b/libavfilter/vf_blend_vulkan.c index 35b6dd2827..4f1d4644c3 100644 --- a/libavfilter/vf_blend_vulkan.c +++ b/libavfilter/vf_blend_vulkan.c @@ -265,7 +265,7 @@ static int blend_frame(FFFrameSync *fs) RET(ff_vk_filter_process_Nin(&s->vkctx, &s->e, &s->shd, out, (AVFrame *[]){ top, bottom }, 2, - VK_NULL_HANDLE, NULL, 0)); + VK_NULL_HANDLE, 1, NULL, 0)); return ff_filter_frame(outlink, out); diff --git a/libavfilter/vf_bwdif_vulkan.c b/libavfilter/vf_bwdif_vulkan.c index 5fefb3396d..ea4154daf5 100644 --- a/libavfilter/vf_bwdif_vulkan.c +++ b/libavfilter/vf_bwdif_vulkan.c @@ -115,7 +115,7 @@ static void bwdif_vulkan_filter_frame(AVFilterContext *ctx, AVFrame *dst, ff_vk_filter_process_Nin(&s->vkctx, &s->e, &s->shd, dst, (AVFrame *[]){ y->prev, y->cur, y->next }, 3, - VK_NULL_HANDLE, ¶ms, sizeof(params)); + VK_NULL_HANDLE, 1, ¶ms, sizeof(params)); if (y->current_field == YADIF_FIELD_END) y->current_field = YADIF_FIELD_NORMAL; diff --git a/libavfilter/vf_chromaber_vulkan.c b/libavfilter/vf_chromaber_vulkan.c index 65b53afd64..6dd50c1bb4 100644 --- a/libavfilter/vf_chromaber_vulkan.c +++ b/libavfilter/vf_chromaber_vulkan.c @@ -188,7 +188,7 @@ static int chromaber_vulkan_filter_frame(AVFilterLink *link, AVFrame *in) RET(init_filter(ctx, in)); RET(ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->shd, out, in, - s->sampler, &s->opts, sizeof(s->opts))); + s->sampler, 1, &s->opts, sizeof(s->opts))); err = av_frame_copy_props(out, in); if (err < 0) diff --git a/libavfilter/vf_flip_vulkan.c b/libavfilter/vf_flip_vulkan.c index 3e2aed0fda..4f38a39950 100644 --- a/libavfilter/vf_flip_vulkan.c +++ b/libavfilter/vf_flip_vulkan.c @@ -174,7 +174,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *in, enum FlipType type) RET(init_filter(ctx, in, type)); RET(ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->shd, out, in, - VK_NULL_HANDLE, NULL, 0)); + VK_NULL_HANDLE, 1, NULL, 0)); RET(av_frame_copy_props(out, in)); diff --git a/libavfilter/vf_gblur_vulkan.c b/libavfilter/vf_gblur_vulkan.c index 1b447e2754..8ade1c955d 100644 --- a/libavfilter/vf_gblur_vulkan.c +++ b/libavfilter/vf_gblur_vulkan.c @@ -316,7 +316,7 @@ static int gblur_vulkan_filter_frame(AVFilterLink *link, AVFrame *in) RET(ff_vk_filter_process_2pass(&s->vkctx, &s->e, (FFVulkanShader *[2]){ &s->shd_hor, &s->shd_ver }, - out, tmp, in, VK_NULL_HANDLE, NULL, 0)); + out, tmp, in, VK_NULL_HANDLE, 1, NULL, 0)); err = av_frame_copy_props(out, in); if (err < 0) diff --git a/libavfilter/vf_interlace_vulkan.c b/libavfilter/vf_interlace_vulkan.c index 7afb30c2d7..afa8a634f8 100644 --- a/libavfilter/vf_interlace_vulkan.c +++ b/libavfilter/vf_interlace_vulkan.c @@ -218,7 +218,7 @@ static int interlace_vulkan_filter_frame(AVFilterLink *link, AVFrame *in) RET(ff_vk_filter_process_Nin(&s->vkctx, &s->e, &s->shd, out, (AVFrame *[]){ input_top, input_bot }, 2, - s->sampler, NULL, 0)); + s->sampler, 1, NULL, 0)); err = av_frame_copy_props(out, s->cur); if (err < 0) diff --git a/libavfilter/vf_overlay_vulkan.c b/libavfilter/vf_overlay_vulkan.c index 1f9eed8e08..e1a07e4bfd 100644 --- a/libavfilter/vf_overlay_vulkan.c +++ b/libavfilter/vf_overlay_vulkan.c @@ -240,7 +240,7 @@ static int overlay_vulkan_blend(FFFrameSync *fs) RET(ff_vk_filter_process_Nin(&s->vkctx, &s->e, &s->shd, out, (AVFrame *[]){ input_main, input_overlay }, 2, - VK_NULL_HANDLE, &s->opts, sizeof(s->opts))); + VK_NULL_HANDLE, 1, &s->opts, sizeof(s->opts))); err = av_frame_copy_props(out, input_main); if (err < 0) diff --git a/libavfilter/vf_scale_vulkan.c b/libavfilter/vf_scale_vulkan.c index 1a78ad948d..ad9789ef27 100644 --- a/libavfilter/vf_scale_vulkan.c +++ b/libavfilter/vf_scale_vulkan.c @@ -389,7 +389,7 @@ static int scale_vulkan_filter_frame(AVFilterLink *link, AVFrame *in) } RET(ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->shd, out, in, - s->sampler, &s->opts, sizeof(s->opts))); + s->sampler, 1, &s->opts, sizeof(s->opts))); } else { err = sws_scale_frame(s->sws, out, in); if (err < 0) diff --git a/libavfilter/vf_transpose_vulkan.c b/libavfilter/vf_transpose_vulkan.c index 3fe2d11cb2..be37c36e1d 100644 --- a/libavfilter/vf_transpose_vulkan.c +++ b/libavfilter/vf_transpose_vulkan.c @@ -156,7 +156,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) RET(init_filter(ctx, in)); RET(ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->shd, out, in, - VK_NULL_HANDLE, NULL, 0)); + VK_NULL_HANDLE, 1, NULL, 0)); RET(av_frame_copy_props(out, in)); diff --git a/libavfilter/vf_v360_vulkan.c b/libavfilter/vf_v360_vulkan.c index 8d308d452e..25b55276f4 100644 --- a/libavfilter/vf_v360_vulkan.c +++ b/libavfilter/vf_v360_vulkan.c @@ -283,7 +283,7 @@ static int v360_vulkan_filter_frame(AVFilterLink *link, AVFrame *in) pd.rot_mat, s->rotation_order); RET(ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->shd, - out, in, s->sampler, + out, in, s->sampler, 1, &pd, sizeof(pd))); err = av_frame_copy_props(out, in); diff --git a/libavfilter/vf_xfade_vulkan.c b/libavfilter/vf_xfade_vulkan.c index 58e8797733..3aa96d62b0 100644 --- a/libavfilter/vf_xfade_vulkan.c +++ b/libavfilter/vf_xfade_vulkan.c @@ -447,7 +447,7 @@ static int xfade_frame(AVFilterContext *avctx, AVFrame *frame_a, AVFrame *frame_ 0.f, 1.f); RET(ff_vk_filter_process_Nin(&s->vkctx, &s->e, &s->shd, output, - (AVFrame *[]){ frame_a, frame_b }, 2, s->sampler, + (AVFrame *[]){ frame_a, frame_b }, 2, s->sampler, 1, &(XFadeParameters){ progress }, sizeof(XFadeParameters))); return ff_filter_frame(outlink, output); diff --git a/libavfilter/vsrc_testsrc_vulkan.c b/libavfilter/vsrc_testsrc_vulkan.c index ee0cfe254c..ae01af9791 100644 --- a/libavfilter/vsrc_testsrc_vulkan.c +++ b/libavfilter/vsrc_testsrc_vulkan.c @@ -236,7 +236,7 @@ static int testsrc_vulkan_activate(AVFilterContext *ctx) return AVERROR(ENOMEM); err = ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->shd, s->picref, NULL, - VK_NULL_HANDLE, &s->opts, sizeof(s->opts)); + VK_NULL_HANDLE, 1, &s->opts, sizeof(s->opts)); if (err < 0) return err; } @@ -255,7 +255,7 @@ static int testsrc_vulkan_activate(AVFilterContext *ctx) frame->sample_aspect_ratio = s->sar; if (!s->draw_once) { err = ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->shd, frame, NULL, - VK_NULL_HANDLE, &s->opts, sizeof(s->opts)); + VK_NULL_HANDLE, 1, &s->opts, sizeof(s->opts)); if (err < 0) { av_frame_free(&frame); return err; diff --git a/libavfilter/vulkan_filter.c b/libavfilter/vulkan_filter.c index 44a4ce7242..2fc467c6d9 100644 --- a/libavfilter/vulkan_filter.c +++ b/libavfilter/vulkan_filter.c @@ -241,7 +241,8 @@ int ff_vk_filter_init(AVFilterContext *avctx) int ff_vk_filter_process_simple(FFVulkanContext *vkctx, FFVkExecPool *e, FFVulkanShader *shd, AVFrame *out_f, AVFrame *in_f, - VkSampler sampler, void *push_src, size_t push_size) + VkSampler sampler, uint32_t wgc_z, + void *push_src, size_t push_size) { int err = 0; FFVulkanFunctions *vk = &vkctx->vkfn; @@ -304,7 +305,7 @@ int ff_vk_filter_process_simple(FFVulkanContext *vkctx, FFVkExecPool *e, vk->CmdDispatch(exec->buf, FFALIGN(vkctx->output_width, shd->lg_size[0])/shd->lg_size[0], FFALIGN(vkctx->output_height, shd->lg_size[1])/shd->lg_size[1], - 1); + wgc_z); return ff_vk_exec_submit(vkctx, exec); fail: @@ -315,7 +316,8 @@ fail: int ff_vk_filter_process_2pass(FFVulkanContext *vkctx, FFVkExecPool *e, FFVulkanShader *shd_list[2], AVFrame *out, AVFrame *tmp, AVFrame *in, - VkSampler sampler, void *push_src, size_t push_size) + VkSampler sampler, uint32_t wgc_z, + void *push_src, size_t push_size) { int err = 0; FFVulkanFunctions *vk = &vkctx->vkfn; @@ -395,7 +397,7 @@ int ff_vk_filter_process_2pass(FFVulkanContext *vkctx, FFVkExecPool *e, vk->CmdDispatch(exec->buf, FFALIGN(vkctx->output_width, shd->lg_size[0])/shd->lg_size[0], FFALIGN(vkctx->output_height, shd->lg_size[1])/shd->lg_size[1], - 1); + wgc_z); } return ff_vk_exec_submit(vkctx, exec); @@ -407,7 +409,8 @@ fail: int ff_vk_filter_process_Nin(FFVulkanContext *vkctx, FFVkExecPool *e, FFVulkanShader *shd, AVFrame *out, AVFrame *in[], int nb_in, - VkSampler sampler, void *push_src, size_t push_size) + VkSampler sampler, uint32_t wgc_z, + void *push_src, size_t push_size) { int err = 0; FFVulkanFunctions *vk = &vkctx->vkfn; @@ -474,7 +477,7 @@ int ff_vk_filter_process_Nin(FFVulkanContext *vkctx, FFVkExecPool *e, vk->CmdDispatch(exec->buf, FFALIGN(vkctx->output_width, shd->lg_size[0])/shd->lg_size[0], FFALIGN(vkctx->output_height, shd->lg_size[1])/shd->lg_size[1], - 1); + wgc_z); return ff_vk_exec_submit(vkctx, exec); fail: diff --git a/libavfilter/vulkan_filter.h b/libavfilter/vulkan_filter.h index 6ed9c4de39..c54c8c56c4 100644 --- a/libavfilter/vulkan_filter.h +++ b/libavfilter/vulkan_filter.h @@ -44,7 +44,8 @@ int ff_vk_filter_init_context(AVFilterContext *avctx, FFVulkanContext *s, */ int ff_vk_filter_process_simple(FFVulkanContext *vkctx, FFVkExecPool *e, FFVulkanShader *shd, AVFrame *out_f, AVFrame *in_f, - VkSampler sampler, void *push_src, size_t push_size); + VkSampler sampler, uint32_t wgc_z, + void *push_src, size_t push_size); /** * Submit a compute shader with a single in and single out with 2 stages. @@ -52,7 +53,8 @@ int ff_vk_filter_process_simple(FFVulkanContext *vkctx, FFVkExecPool *e, int ff_vk_filter_process_2pass(FFVulkanContext *vkctx, FFVkExecPool *e, FFVulkanShader *shd_list[2], AVFrame *out, AVFrame *tmp, AVFrame *in, - VkSampler sampler, void *push_src, size_t push_size); + VkSampler sampler, uint32_t wgc_z, + void *push_src, size_t push_size); /** * Up to 16 inputs, one output @@ -60,6 +62,7 @@ int ff_vk_filter_process_2pass(FFVulkanContext *vkctx, FFVkExecPool *e, int ff_vk_filter_process_Nin(FFVulkanContext *vkctx, FFVkExecPool *e, FFVulkanShader *shd, AVFrame *out, AVFrame *in[], int nb_in, - VkSampler sampler, void *push_src, size_t push_size); + VkSampler sampler, uint32_t wgc_z, + void *push_src, size_t push_size); #endif /* AVFILTER_VULKAN_FILTER_H */ _______________________________________________ ffmpeg-cvslog mailing list -- [email protected] To unsubscribe send an email to [email protected]
