summaryrefslogtreecommitdiff
path: root/libavfilter/vf_gblur_vulkan.c
Commit message (Collapse)AuthorAge
* avfilter/vf_gblur_vulkan: add sizeV optionWu Jianhua2022-02-22
| | | | | | | | | | | | | | This commit added a sizeV option, integrated some identical operations to a separate function, and updated the CGS for horizontal and vertical respectively. The following command is on how to apply sizeV option: ffmpeg -init_hw_device vulkan -i input.264 -vf \ hwupload,gblur_vulkan=size=127:sigma=20:sizeV=3:sigmaV=0.5,hwdownload,format=yuv420p \ -y out.264 Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* lavfi/vulkan: split off lavfi-specific code into vulkan_filter.cLynne2021-11-19
| | | | | | | | | | | | | | | | | The issue is that libavfilter depends on libavcodec, and when doing a static build, if libavcodec also includes "libavfilter/vulkan.c", then during link-time, compiling programs will fail as there would be multiple definitions of the same symbols in both libavfilter and libavcodec's object files. Linkers are, however, more permitting if both files that include a common file that's used as a template are one-to-one identical. Hence, to make both files the same in the future, export all avfilter specific functions to a separate file. There is some work in progress to make templated files like this be compiled only once, so this is not a long-term solution. This also removes a macro that could be used to toggle SPIRV compilation capability on #include-time, as this could cause the files to be different.
* lavu/vulkan: move common Vulkan code from libavfilter to libavutilLynne2021-11-19
|
* avfilter/vf_gblur_vulkan: Fix use of uninitialized valueLimin Wang2021-11-17
| | | | Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
* avfilter/gblur_vulkan: fix memory leakWu Jianhua2021-11-17
| | | | | | | Whether failed or not, the block of codes labeled with fail should be always run to ensure the av_free(kernel_def) is executed. Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>
* libavfilter: add a gblur_vulkan filterWu Jianhua2021-11-16
This commit adds a powerful and customizable gblur Vulkan filter, which provides a maximum 127x127 kernel size of Gaussian Filter. The size could be adjusted by requirements on quality or performance. The following command is on how to apply gblur_vulkan filter: ffmpeg -init_hw_device vulkan -i input.264 -vf hwupload=extra_hw_frames=16,gblur_vulkan,hwdownload,format=yuv420p output.264 Signed-off-by: Wu Jianhua <jianhua.wu@intel.com>