[FFmpeg-devel] [PATCH 3/3] lavfi: add a Vulkan avgblur filter

Mark Thompson sw at jkqxz.net
Mon Apr 2 23:55:13 EEST 2018


On 30/03/18 04:14, Rostislav Pehlivanov wrote:
> This commit adds an average blur Vulkan filter which functions
> exactly the same as avgblur but on Vulkan surfaces.
> 
> Currently contains a workaround that will be removed for the actual,
> non-RFC version.
> 
> It implements a clever way of minimizing texel fetches by storing
> all texels needed to filter and entire wavefront's worth of
> workgroups in a shared cache, and then averaging over the area needed.
> 
> Currently, it lacks the ability to avoid edges of images and will mix
> 0s around the edges of planes. This will be fixed for the non-RFC
> version.
> 
> Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>
> ---
>  configure                       |   1 +
>  libavfilter/Makefile            |   1 +
>  libavfilter/allfilters.c        |   1 +
>  libavfilter/vf_avgblur_vulkan.c | 353 ++++++++++++++++++++++++++++++++++++++++
>  4 files changed, 356 insertions(+)
>  create mode 100644 libavfilter/vf_avgblur_vulkan.c

Not much to say on this one, looks like the structure comes out ok with the shared code - maybe it contains a bit more boilerplate that we could avoid, but I admit that's true for OpenCL as well.

Thanks,

- Mark


More information about the ffmpeg-devel mailing list