FFmpeg
Functions
vulkan_filter.c File Reference
#include "vulkan_filter.h"
#include "libavutil/vulkan_loader.h"

Go to the source code of this file.

Functions

int ff_vk_filter_init_context (AVFilterContext *avctx, FFVulkanContext *s, AVBufferRef *frames_ref, int width, int height, enum AVPixelFormat sw_format)
 Can be called manually, if not using ff_vk_filter_config_output. More...
 
int ff_vk_filter_config_input (AVFilterLink *inlink)
 
int ff_vk_filter_config_output (AVFilterLink *outlink)
 
int ff_vk_filter_init (AVFilterContext *avctx)
 General lavfi IO functions. More...
 
int ff_vk_filter_process_simple (FFVulkanContext *vkctx, FFVkExecPool *e, FFVulkanPipeline *pl, AVFrame *out_f, AVFrame *in_f, VkSampler sampler, void *push_src, size_t push_size)
 Submit a compute shader with a zero/one input and single out for execution. More...
 
int ff_vk_filter_process_2pass (FFVulkanContext *vkctx, FFVkExecPool *e, FFVulkanPipeline *pls[2], AVFrame *out, AVFrame *tmp, AVFrame *in, VkSampler sampler, void *push_src, size_t push_size)
 Submit a compute shader with a single in and single out with 2 stages. More...
 
int ff_vk_filter_process_Nin (FFVulkanContext *vkctx, FFVkExecPool *e, FFVulkanPipeline *pl, AVFrame *out, AVFrame *in[], int nb_in, VkSampler sampler, void *push_src, size_t push_size)
 Up to 16 inputs, one output. More...
 

Function Documentation

◆ ff_vk_filter_init_context()

int ff_vk_filter_init_context ( AVFilterContext avctx,
FFVulkanContext s,
AVBufferRef frames_ref,
int  width,
int  height,
enum AVPixelFormat  sw_format 
)

Can be called manually, if not using ff_vk_filter_config_output.

libplacebo does not use descriptor buffers.

Definition at line 24 of file vulkan_filter.c.

Referenced by bwdif_vulkan_config_output(), ff_vk_filter_config_output(), and testsrc_vulkan_config_props().

◆ ff_vk_filter_config_input()

int ff_vk_filter_config_input ( AVFilterLink inlink)

Definition at line 166 of file vulkan_filter.c.

Referenced by libplacebo_config_input().

◆ ff_vk_filter_config_output()

int ff_vk_filter_config_output ( AVFilterLink outlink)

◆ ff_vk_filter_init()

int ff_vk_filter_init ( AVFilterContext avctx)

General lavfi IO functions.

Definition at line 221 of file vulkan_filter.c.

Referenced by init(), and overlay_vulkan_init().

◆ ff_vk_filter_process_simple()

int ff_vk_filter_process_simple ( FFVulkanContext vkctx,
FFVkExecPool e,
FFVulkanPipeline pl,
AVFrame out_f,
AVFrame in_f,
VkSampler  sampler,
void *  push_src,
size_t  push_size 
)

Submit a compute shader with a zero/one input and single out for execution.

Definition at line 230 of file vulkan_filter.c.

Referenced by avgblur_vulkan_filter_frame(), chromaber_vulkan_filter_frame(), filter_frame(), scale_vulkan_filter_frame(), and testsrc_vulkan_activate().

◆ ff_vk_filter_process_2pass()

int ff_vk_filter_process_2pass ( FFVulkanContext vkctx,
FFVkExecPool e,
FFVulkanPipeline pls[2],
AVFrame out,
AVFrame tmp,
AVFrame in,
VkSampler  sampler,
void *  push_src,
size_t  push_size 
)

Submit a compute shader with a single in and single out with 2 stages.

Definition at line 298 of file vulkan_filter.c.

Referenced by gblur_vulkan_filter_frame().

◆ ff_vk_filter_process_Nin()

int ff_vk_filter_process_Nin ( FFVulkanContext vkctx,
FFVkExecPool e,
FFVulkanPipeline pl,
AVFrame out,
AVFrame in[],
int  nb_in,
VkSampler  sampler,
void *  push_src,
size_t  push_size 
)

Up to 16 inputs, one output.

Definition at line 387 of file vulkan_filter.c.

Referenced by blend_frame(), bwdif_vulkan_filter_frame(), overlay_vulkan_blend(), and xfade_frame().