[FFmpeg-devel] [PATCH 08/11] gblur_vulkan: port to imageLoad()
Lynne
dev at lynne.ee
Mon Feb 17 20:31:18 EET 2025
---
libavfilter/vf_gblur_vulkan.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/libavfilter/vf_gblur_vulkan.c b/libavfilter/vf_gblur_vulkan.c
index 101c8ffd8c..bc4c2217b5 100644
--- a/libavfilter/vf_gblur_vulkan.c
+++ b/libavfilter/vf_gblur_vulkan.c
@@ -51,17 +51,17 @@ typedef struct GBlurVulkanContext {
} GBlurVulkanContext;
static const char gblur_func[] = {
- C(0, void gblur(const ivec2 pos, const int index) )
- C(0, { )
+ C(0, void gblur(const ivec2 pos, const int index) )
+ C(0, { )
C(1, vec4 sum = imageLoad(input_images[index], pos) * kernel[0]; )
- C(0, )
- C(1, for(int i = 1; i < kernel.length(); i++) { )
+ C(0, )
+ C(1, for(int i = 1; i < kernel.length(); i++) { )
C(2, sum += imageLoad(input_images[index], pos + OFFSET) * kernel[i]; )
C(2, sum += imageLoad(input_images[index], pos - OFFSET) * kernel[i]; )
- C(1, } )
- C(0, )
- C(1, imageStore(output_images[index], pos, sum); )
- C(0, } )
+ C(1, } )
+ C(0, )
+ C(1, imageStore(output_images[index], pos, sum); )
+ C(0, } )
};
static inline float gaussian(float sigma, float x)
@@ -254,7 +254,7 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in)
RET(ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 2, 0, 0));
- GLSLC(0, #define OFFSET (vec2(i, 0.0)));
+ GLSLC(0, #define OFFSET (ivec2(i, 0.0)));
RET(init_gblur_pipeline(s, shd, &s->params_hor, s->size, s->sigma, spv));
}
@@ -268,7 +268,7 @@ static av_cold int init_filter(AVFilterContext *ctx, AVFrame *in)
RET(ff_vk_shader_add_descriptor_set(vkctx, shd, desc, 2, 0, 0));
- GLSLC(0, #define OFFSET (vec2(0.0, i)));
+ GLSLC(0, #define OFFSET (ivec2(0.0, i)));
RET(init_gblur_pipeline(s, shd, &s->params_ver, s->sizeV, s->sigmaV, spv));
}
@@ -285,7 +285,6 @@ static av_cold void gblur_vulkan_uninit(AVFilterContext *avctx)
{
GBlurVulkanContext *s = avctx->priv;
FFVulkanContext *vkctx = &s->vkctx;
- FFVulkanFunctions *vk = &vkctx->vkfn;
ff_vk_exec_pool_free(vkctx, &s->e);
ff_vk_shader_free(vkctx, &s->shd_hor);
--
2.47.2
More information about the ffmpeg-devel
mailing list