Go to the source code of this file.
◆ IN_TOP
◆ IN_BOTTOM
◆ DEFINE_BLEND_MODE
#define DEFINE_BLEND_MODE |
( |
|
MODE, |
|
|
|
EXPR |
|
) |
| |
Value:static const char blend_##MODE[] = "blend_"#MODE; \
static const char blend_##MODE##_func[] = { \
C(0, vec4 blend_##MODE(vec4 top, vec4 bottom, float opacity) { ) \
C(1, vec4
dst = EXPR; ) \
};
Definition at line 59 of file vf_blend_vulkan.c.
◆ FN
#define FN |
( |
|
EXPR | ) |
A + ((EXPR) - A) * opacity |
◆ CASE
Value: case BLEND_##MODE: \
param->blend = blend_##MODE;\
param->blend_func = blend_##MODE##_func; \
break;
◆ OFFSET
◆ FLAGS
◆ init_blend_func()
◆ config_params()
◆ process_command()
static int process_command |
( |
AVFilterContext * |
ctx, |
|
|
const char * |
cmd, |
|
|
const char * |
args, |
|
|
char * |
res, |
|
|
int |
res_len, |
|
|
int |
flags |
|
) |
| |
|
static |
◆ init_filter()
◆ blend_frame()
◆ init()
◆ uninit()
◆ config_props_output()
◆ activate()
◆ AVFILTER_DEFINE_CLASS()
AVFILTER_DEFINE_CLASS |
( |
blend_vulkan |
| ) |
|
◆ blend_vulkan_options
◆ blend_vulkan_inputs
Initial value:= {
{
.name = "top",
},
{
.name = "bottom",
},
}
Definition at line 368 of file vf_blend_vulkan.c.
◆ blend_vulkan_outputs
◆ ff_vf_blend_vulkan
Initial value:= {
.name = "blend_vulkan",
.priv_class = &blend_vulkan_class,
}
Definition at line 390 of file vf_blend_vulkan.c.
static int config_props_output(AVFilterLink *outlink)
#define FILTER_INPUTS(array)
@ AV_PIX_FMT_VULKAN
Vulkan hardware images.
static av_cold int init(AVFilterContext *avctx)
static const AVFilterPad blend_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
static const AVFilterPad blend_vulkan_inputs[]
@ AV_OPT_TYPE_DOUBLE
Underlying C type is double.
static int activate(AVFilterContext *avctx)
#define FILTER_OUTPUTS(array)
#define FF_FILTER_FLAG_HWFRAME_AWARE
The filter is aware of hardware frames, and any hardware frame context should not be automatically pr...
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
uint8_t ptrdiff_t const uint8_t ptrdiff_t int intptr_t intptr_t int int16_t * dst
#define AVFILTER_FLAG_HWDEVICE
The filter can create hardware frames using AVFilterContext.hw_device_ctx.
static av_cold void uninit(AVFilterContext *avctx)
@ AV_OPT_TYPE_INT
Underlying C type is int.
static int process_command(AVFilterContext *ctx, const char *cmd, const char *args, char *res, int res_len, int flags)
int ff_vk_filter_config_input(AVFilterLink *inlink)
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.
#define FILTER_SINGLE_PIXFMT(pix_fmt_)