FFmpeg
Loading...
Searching...
No Matches
vf_flip_vulkan.c File Reference
#include "libavutil/opt.h"
#include "vulkan_filter.h"
#include "filters.h"
#include "video.h"

Go to the source code of this file.

Data Structures

struct  FlipVulkanContext
 

Enumerations

enum  FlipType { FLIP_VERTICAL , FLIP_HORIZONTAL , FLIP_BOTH }
 

Functions

static av_cold int init_filter (AVFilterContext *ctx, AVFrame *in)
 
static av_cold void flip_vulkan_uninit (AVFilterContext *avctx)
 
static int filter_frame (AVFilterLink *link, AVFrame *in, enum FlipType type)
 
static int hflip_vulkan_filter_frame (AVFilterLink *link, AVFrame *in)
 
static int vflip_vulkan_filter_frame (AVFilterLink *link, AVFrame *in)
 
static int flip_vulkan_filter_frame (AVFilterLink *link, AVFrame *in)
 
 AVFILTER_DEFINE_CLASS (hflip_vulkan)
 
 AVFILTER_DEFINE_CLASS (vflip_vulkan)
 
 AVFILTER_DEFINE_CLASS (flip_vulkan)
 

Variables

const unsigned char ff_flip_comp_spv_data []
 
const unsigned int ff_flip_comp_spv_len
 
static const AVFilterPad flip_vulkan_outputs []
 
static const AVOption hflip_vulkan_options []
 
static const AVFilterPad hflip_vulkan_inputs []
 
const FFFilter ff_vf_hflip_vulkan
 
static const AVOption vflip_vulkan_options []
 
static const AVFilterPad vflip_vulkan_inputs []
 
const FFFilter ff_vf_vflip_vulkan
 
static const AVOption flip_vulkan_options []
 
static const AVFilterPad flip_vulkan_inputs []
 
const FFFilter ff_vf_flip_vulkan
 

Enumeration Type Documentation

◆ FlipType

enum FlipType
Enumerator
FLIP_VERTICAL 
FLIP_HORIZONTAL 
FLIP_BOTH 

Definition at line 31 of file vf_flip_vulkan.c.

Function Documentation

◆ init_filter()

static av_cold int init_filter ( AVFilterContext * ctx,
AVFrame * in )
static

Definition at line 46 of file vf_flip_vulkan.c.

Referenced by filter_frame().

◆ flip_vulkan_uninit()

static av_cold void flip_vulkan_uninit ( AVFilterContext * avctx)
static

Definition at line 95 of file vf_flip_vulkan.c.

◆ filter_frame()

static int filter_frame ( AVFilterLink * link,
AVFrame * in,
enum FlipType type )
static

◆ hflip_vulkan_filter_frame()

static int hflip_vulkan_filter_frame ( AVFilterLink * link,
AVFrame * in )
static

Definition at line 140 of file vf_flip_vulkan.c.

◆ vflip_vulkan_filter_frame()

static int vflip_vulkan_filter_frame ( AVFilterLink * link,
AVFrame * in )
static

Definition at line 145 of file vf_flip_vulkan.c.

◆ flip_vulkan_filter_frame()

static int flip_vulkan_filter_frame ( AVFilterLink * link,
AVFrame * in )
static

Definition at line 150 of file vf_flip_vulkan.c.

◆ AVFILTER_DEFINE_CLASS() [1/3]

AVFILTER_DEFINE_CLASS ( hflip_vulkan )

◆ AVFILTER_DEFINE_CLASS() [2/3]

AVFILTER_DEFINE_CLASS ( vflip_vulkan )

◆ AVFILTER_DEFINE_CLASS() [3/3]

AVFILTER_DEFINE_CLASS ( flip_vulkan )

Variable Documentation

◆ ff_flip_comp_spv_data

const unsigned char ff_flip_comp_spv_data[]
extern

Referenced by init_filter().

◆ ff_flip_comp_spv_len

const unsigned int ff_flip_comp_spv_len
extern

Referenced by init_filter().

◆ flip_vulkan_outputs

const AVFilterPad flip_vulkan_outputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = &ff_vk_filter_config_output,
}
}
@ AVMEDIA_TYPE_VIDEO
Definition avutil.h:200
int ff_vk_filter_config_output(AVFilterLink *outlink)

Definition at line 155 of file vf_flip_vulkan.c.

◆ hflip_vulkan_options

const AVOption hflip_vulkan_options[]
static
Initial value:
= {
{ NULL },
}
#define NULL
Definition coverity.c:32

Definition at line 163 of file vf_flip_vulkan.c.

◆ hflip_vulkan_inputs

const AVFilterPad hflip_vulkan_inputs[]
static
Initial value:
= {
{
.name = "default",
.filter_frame = &hflip_vulkan_filter_frame,
.config_props = &ff_vk_filter_config_input,
}
}
static int hflip_vulkan_filter_frame(AVFilterLink *link, AVFrame *in)
int ff_vk_filter_config_input(AVFilterLink *inlink)

Definition at line 169 of file vf_flip_vulkan.c.

◆ ff_vf_hflip_vulkan

const FFFilter ff_vf_hflip_vulkan
Initial value:
= {
.p.name = "hflip_vulkan",
.p.description = NULL_IF_CONFIG_SMALL("Horizontally flip the input video in Vulkan"),
.p.priv_class = &hflip_vulkan_class,
.priv_size = sizeof(FlipVulkanContext),
.flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE,
}
int(* init)(AVBSFContext *ctx)
Definition dts2pts.c:608
static av_cold void uninit(AVBitStreamFilterContext *ctx)
#define FILTER_INPUTS(array)
Definition filters.h:264
#define FILTER_OUTPUTS(array)
Definition filters.h:265
#define FF_FILTER_FLAG_HWFRAME_AWARE
The filter is aware of hardware frames, and any hardware frame context should not be automatically pr...
Definition filters.h:208
#define FILTER_SINGLE_PIXFMT(pix_fmt_)
Definition filters.h:254
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88
@ AV_PIX_FMT_VULKAN
Vulkan hardware images.
Definition pixfmt.h:379
static av_cold void flip_vulkan_uninit(AVFilterContext *avctx)
static const AVFilterPad hflip_vulkan_inputs[]
static const AVFilterPad flip_vulkan_outputs[]
int ff_vk_filter_init(AVFilterContext *avctx)
General lavfi IO functions.

Definition at line 178 of file vf_flip_vulkan.c.

◆ vflip_vulkan_options

const AVOption vflip_vulkan_options[]
static
Initial value:
= {
{ NULL },
}

Definition at line 191 of file vf_flip_vulkan.c.

◆ vflip_vulkan_inputs

const AVFilterPad vflip_vulkan_inputs[]
static
Initial value:
= {
{
.name = "default",
.filter_frame = &vflip_vulkan_filter_frame,
.config_props = &ff_vk_filter_config_input,
}
}
static int vflip_vulkan_filter_frame(AVFilterLink *link, AVFrame *in)

Definition at line 197 of file vf_flip_vulkan.c.

◆ ff_vf_vflip_vulkan

const FFFilter ff_vf_vflip_vulkan
Initial value:
= {
.p.name = "vflip_vulkan",
.p.description = NULL_IF_CONFIG_SMALL("Vertically flip the input video in Vulkan"),
.p.priv_class = &vflip_vulkan_class,
.priv_size = sizeof(FlipVulkanContext),
.flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE,
}
static const AVFilterPad vflip_vulkan_inputs[]

Definition at line 206 of file vf_flip_vulkan.c.

◆ flip_vulkan_options

const AVOption flip_vulkan_options[]
static
Initial value:
= {
{ NULL },
}

Definition at line 219 of file vf_flip_vulkan.c.

◆ flip_vulkan_inputs

const AVFilterPad flip_vulkan_inputs[]
static
Initial value:
= {
{
.name = "default",
.filter_frame = &flip_vulkan_filter_frame,
.config_props = &ff_vk_filter_config_input,
}
}
static int flip_vulkan_filter_frame(AVFilterLink *link, AVFrame *in)

Definition at line 225 of file vf_flip_vulkan.c.

◆ ff_vf_flip_vulkan

const FFFilter ff_vf_flip_vulkan
Initial value:
= {
.p.name = "flip_vulkan",
.p.description = NULL_IF_CONFIG_SMALL("Flip both horizontally and vertically"),
.p.priv_class = &flip_vulkan_class,
.priv_size = sizeof(FlipVulkanContext),
.flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE,
}
#define AVFILTER_FLAG_HWDEVICE
The filter can create hardware frames using AVFilterContext.hw_device_ctx.
Definition avfilter.h:187
static const AVFilterPad flip_vulkan_inputs[]

Definition at line 234 of file vf_flip_vulkan.c.