Go to the source code of this file.
|
static float | gaussian (float sigma, float x) |
|
static float | gaussian_simpson_integration (float sigma, float a, float b) |
|
static void | init_gaussian_kernel (float *kernel, float sigma, float kernel_size) |
|
static void | init_kernel_size (GBlurVulkanContext *s, int *out_size) |
|
static av_cold void | init_gaussian_params (GBlurVulkanContext *s) |
|
static int | init_gblur_pipeline (GBlurVulkanContext *s, FFVulkanPipeline *pl, FFVkSPIRVShader *shd, FFVkBuffer *params_buf, VkDescriptorBufferInfo *params_desc, int ksize, float sigma) |
|
static av_cold int | init_filter (AVFilterContext *ctx, AVFrame *in) |
|
static av_cold void | gblur_vulkan_uninit (AVFilterContext *avctx) |
|
static int | process_frames (AVFilterContext *avctx, AVFrame *outframe, AVFrame *inframe) |
|
static int | gblur_vulkan_filter_frame (AVFilterLink *link, AVFrame *in) |
|
| AVFILTER_DEFINE_CLASS (gblur_vulkan) |
|
◆ CGS
◆ GBLUR_MAX_KERNEL_SIZE
#define GBLUR_MAX_KERNEL_SIZE 127 |
◆ OFFSET
◆ FLAGS
◆ gaussian()
◆ gaussian_simpson_integration()
◆ init_gaussian_kernel()
static void init_gaussian_kernel |
( |
float * |
kernel, |
|
|
float |
sigma, |
|
|
float |
kernel_size |
|
) |
| |
|
static |
◆ init_kernel_size()
◆ init_gaussian_params()
◆ init_gblur_pipeline()
◆ init_filter()
◆ gblur_vulkan_uninit()
◆ process_frames()
◆ gblur_vulkan_filter_frame()
◆ AVFILTER_DEFINE_CLASS()
AVFILTER_DEFINE_CLASS |
( |
gblur_vulkan |
| ) |
|
◆ gblur_func
◆ gblur_vulkan_options
◆ gblur_vulkan_inputs
◆ gblur_vulkan_outputs
◆ ff_vf_gblur_vulkan
Initial value:= {
.name = "gblur_vulkan",
.priv_class = &gblur_vulkan_class,
}
Definition at line 495 of file vf_gblur_vulkan.c.
static const struct @346 planes[]
#define FF_FILTER_FLAG_HWFRAME_AWARE
The filter is aware of hardware frames, and any hardware frame context should not be automatically pr...
int ff_vk_filter_init(AVFilterContext *avctx)
General lavfi IO functions.
@ AV_PIX_FMT_VULKAN
Vulkan hardware images.
static const AVFilterPad gblur_vulkan_inputs[]
static const AVFilterPad gblur_vulkan_outputs[]
s EdgeDetect Foobar g libavfilter vf_edgedetect c libavfilter vf_foobar c edit libavfilter and add an entry for foobar following the pattern of the other filters edit libavfilter allfilters and add an entry for foobar following the pattern of the other filters configure make j< whatever > ffmpeg ffmpeg i you should get a foobar png with Lena edge detected That s your new playground is ready Some little details about what s going which in turn will define variables for the build system and the C
int(* init)(AVBSFContext *ctx)
#define FILTER_INPUTS(array)
int ff_vk_filter_config_output(AVFilterLink *outlink)
#define GBLUR_MAX_KERNEL_SIZE
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static av_cold void gblur_vulkan_uninit(AVFilterContext *avctx)
#define FILTER_SINGLE_PIXFMT(pix_fmt_)
#define i(width, name, range_min, range_max)
static int gblur_vulkan_filter_frame(AVFilterLink *link, AVFrame *in)
int ff_vk_filter_config_input(AVFilterLink *inlink)
#define FILTER_OUTPUTS(array)
static av_cold int uninit(AVCodecContext *avctx)