Go to the source code of this file.
◆ OFFSET
◆ FLAGS
◆ ScalerFunc
◆ init_filter()
◆ scale_vulkan_filter_frame()
◆ scale_vulkan_config_output()
static int scale_vulkan_config_output |
( |
AVFilterLink * |
outlink | ) |
|
|
static |
◆ scale_vulkan_uninit()
◆ AVFILTER_DEFINE_CLASS()
AVFILTER_DEFINE_CLASS |
( |
scale_vulkan |
| ) |
|
◆ scale_bilinear
const char scale_bilinear[] |
|
static |
Initial value:= {
C(1, vec2 npos = (vec2(
pos) + 0.5
f) / imageSize(output_img[idx]); )
C(1, npos *= crop_range; )
C(1,
return texture(input_img[idx], npos); )
}
Definition at line 59 of file vf_scale_vulkan.c.
Referenced by init_filter().
◆ rgb2yuv
Initial value:= {
C(1,
src *= yuv_matrix; )
C(1,
if (fullrange == 1) { )
C(2,
src += vec4(0.0, 0.5, 0.5, 0.0); )
C(2,
src *= vec4(219.0 / 255.0, 224.0 / 255.0, 224.0 / 255.0, 1.0); )
C(2,
src += vec4(16.0 / 255.0, 128.0 / 255.0, 128.0 / 255.0, 0.0); )
}
Definition at line 69 of file vf_scale_vulkan.c.
Referenced by bayer_to_yv12_wrapper(), bgr24ToUV_c(), bgr24ToUV_half_c(), check_input_planar_rgb_to_a(), check_input_planar_rgb_to_uv(), check_input_planar_rgb_to_y(), check_rgb24toyv12(), check_rgb_to_y(), create_filtergraph(), ff_fill_rgb2yuv_table(), ff_rgb24toyv12_c(), gbr24pToUV_half_c(), init_filter(), p01x_wrapper(), planar_rgb16_to_uv(), planar_rgb16_to_y(), planar_rgb_to_uv(), planar_rgb_to_uv_lasx(), planar_rgb_to_y(), planar_rgb_to_y_lasx(), planar_rgbf32_to_uv(), planar_rgbf32_to_y(), rgb16_32ToUV_c_template(), rgb16_32ToUV_half_c_template(), rgb16_32ToY_c_template(), rgb24ToUV_c(), rgb24ToUV_half_c(), rgb24ToY_c(), rgb24toyv12(), rgb48ToUV_c_template(), rgb48ToUV_half_c_template(), rgb48ToY_c_template(), rgb64ToUV_c_template(), rgb64ToUV_half_c_template(), rgb64ToY_c_template(), rgb9plus_planar_funcs(), rgbaf16ToUV_endian(), rgbaf16ToY_endian(), rgbf16ToUV_endian(), rgbf16ToUV_half_endian(), rgbf16ToY_endian(), rgbf32_to_uv_c(), rgbf32_to_y_c(), tonemap_opencl_init(), yv12_copy(), and yv12_interpolate().
◆ write_nv12
Initial value:= {
C(1, imageStore(output_img[0],
pos, vec4(
src.r, 0.0, 0.0, 0.0)); )
C(1, imageStore(output_img[1],
pos, vec4(
src.
g,
src.
b, 0.0, 0.0)); )
}
Definition at line 83 of file vf_scale_vulkan.c.
Referenced by init_filter().
◆ write_420
Initial value:= {
C(1, imageStore(output_img[0],
pos, vec4(
src.r, 0.0, 0.0, 0.0)); )
C(1, imageStore(output_img[1],
pos, vec4(
src.
g, 0.0, 0.0, 0.0)); )
C(1, imageStore(output_img[2],
pos, vec4(
src.
b, 0.0, 0.0, 0.0)); )
}
Definition at line 92 of file vf_scale_vulkan.c.
Referenced by init_filter().
◆ write_444
Initial value:= {
C(1, imageStore(output_img[0],
pos, vec4(
src.r, 0.0, 0.0, 0.0)); )
C(1, imageStore(output_img[1],
pos, vec4(
src.
g, 0.0, 0.0, 0.0)); )
C(1, imageStore(output_img[2],
pos, vec4(
src.
b, 0.0, 0.0, 0.0)); )
}
Definition at line 102 of file vf_scale_vulkan.c.
Referenced by init_filter().
◆ scale_vulkan_options
◆ scale_vulkan_inputs
◆ scale_vulkan_outputs
◆ ff_vf_scale_vulkan
Initial value:= {
.name = "scale_vulkan",
.priv_class = &scale_vulkan_class,
}
Definition at line 404 of file vf_scale_vulkan.c.
#define FILTER_INPUTS(array)
int ff_vk_filter_init(AVFilterContext *avctx)
General lavfi IO functions.
@ AVCOL_RANGE_JPEG
Full range content.
static const AVFilterPad scale_vulkan_outputs[]
static const char rgb2yuv[]
static const char write_nv12[]
static const char write_420[]
@ AV_PIX_FMT_VULKAN
Vulkan hardware images.
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 int scale_vulkan_filter_frame(AVFilterLink *link, AVFrame *in)
#define FILTER_OUTPUTS(array)
static void scale_vulkan_uninit(AVFilterContext *avctx)
@ AVCOL_RANGE_UNSPECIFIED
#define FF_FILTER_FLAG_HWFRAME_AWARE
The filter is aware of hardware frames, and any hardware frame context should not be automatically pr...
int(* init)(AVBSFContext *ctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
#define AVFILTER_FLAG_HWDEVICE
The filter can create hardware frames using AVFilterContext.hw_device_ctx.
static void uninit(AVBSFContext *ctx)
static const char scale_bilinear[]
static const char write_444[]
static const AVFilterPad scale_vulkan_inputs[]
@ AVCOL_RANGE_MPEG
Narrow or limited range content.
@ AV_OPT_TYPE_INT
Underlying C type is int.
int ff_vk_filter_config_input(AVFilterLink *inlink)
static int scale_vulkan_config_output(AVFilterLink *outlink)
@ AV_OPT_TYPE_STRING
Underlying C type is a uint8_t* that is either NULL or points to a C string allocated with the av_mal...
@ AV_OPT_TYPE_CONST
Special option type for declaring named constants.
#define FILTER_SINGLE_PIXFMT(pix_fmt_)