Go to the source code of this file.
|
static av_cold int | cudascale_init (AVFilterContext *ctx) |
|
static av_cold void | cudascale_uninit (AVFilterContext *ctx) |
|
static av_cold int | init_hwframe_ctx (CUDAScaleContext *s, AVBufferRef *device_ctx, int width, int height) |
|
static int | format_is_supported (enum AVPixelFormat fmt) |
|
static av_cold void | set_format_info (AVFilterContext *ctx, enum AVPixelFormat in_format, enum AVPixelFormat out_format) |
|
static av_cold int | init_processing_chain (AVFilterContext *ctx, int in_width, int in_height, int out_width, int out_height) |
|
static av_cold int | cudascale_load_functions (AVFilterContext *ctx) |
|
static av_cold int | cudascale_config_props (AVFilterLink *outlink) |
|
static int | call_resize_kernel (AVFilterContext *ctx, CUfunction func, CUtexObject src_tex[4], int src_width, int src_height, AVFrame *out_frame, int dst_width, int dst_height, int dst_pitch) |
|
static int | scalecuda_resize (AVFilterContext *ctx, AVFrame *out, AVFrame *in) |
|
static int | cudascale_scale (AVFilterContext *ctx, AVFrame *out, AVFrame *in) |
|
static int | cudascale_filter_frame (AVFilterLink *link, AVFrame *in) |
|
static AVFrame * | cudascale_get_video_buffer (AVFilterLink *inlink, int w, int h) |
|
◆ DIV_UP
#define DIV_UP |
( |
|
a, |
|
|
|
b |
|
) |
| ( ((a) + (b) - 1) / (b) ) |
◆ BLOCKX
◆ BLOCKY
◆ CHECK_CU
◆ OFFSET
◆ FLAGS
◆ anonymous enum
Enumerator |
---|
INTERP_ALGO_DEFAULT | |
INTERP_ALGO_NEAREST | |
INTERP_ALGO_BILINEAR | |
INTERP_ALGO_BICUBIC | |
INTERP_ALGO_LANCZOS | |
INTERP_ALGO_COUNT | |
Definition at line 61 of file vf_scale_cuda.c.
◆ cudascale_init()
◆ cudascale_uninit()
◆ init_hwframe_ctx()
◆ format_is_supported()
◆ set_format_info()
◆ init_processing_chain()
◆ cudascale_load_functions()
◆ cudascale_config_props()
◆ call_resize_kernel()
◆ scalecuda_resize()
◆ cudascale_scale()
◆ cudascale_filter_frame()
◆ cudascale_get_video_buffer()
◆ supported_formats
◆ options
Initial value:= {
{
"passthrough",
"Do not process frames at all if parameters match",
OFFSET(passthrough),
AV_OPT_TYPE_BOOL, { .i64 = 1 }, 0, 1,
FLAGS },
{
"force_original_aspect_ratio",
"decrease or increase w/h if necessary to keep the original AR",
OFFSET(force_original_aspect_ratio),
AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 2,
FLAGS,
"force_oar" },
{
"force_divisible_by",
"enforce that the output resolution is divisible by a defined integer when force_original_aspect_ratio is used",
OFFSET(force_divisible_by),
AV_OPT_TYPE_INT, { .i64 = 1 }, 1, 256,
FLAGS },
}
Definition at line 585 of file vf_scale_cuda.c.
◆ cudascale_class
Initial value:= {
.class_name = "cudascale",
}
Definition at line 604 of file vf_scale_cuda.c.
◆ cudascale_inputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 611 of file vf_scale_cuda.c.
◆ cudascale_outputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 620 of file vf_scale_cuda.c.
◆ ff_vf_scale_cuda
static const AVOption options[]
@ AV_PIX_FMT_CUDA
HW acceleration through CUDA.
static av_cold int cudascale_init(AVFilterContext *ctx)
#define FF_FILTER_FLAG_HWFRAME_AWARE
The filter is aware of hardware frames, and any hardware frame context should not be automatically pr...
static av_cold void cudascale_uninit(AVFilterContext *ctx)
static const AVClass cudascale_class
static av_cold int cudascale_config_props(AVFilterLink *outlink)
#define AV_PIX_FMT_YUV444P16
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample format(the sample packing is implied by the sample format) and sample rate. The lists are not just lists
#define AV_PIX_FMT_0BGR32
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
#define FILTER_INPUTS(array)
#define LIBAVUTIL_VERSION_INT
const char * av_default_item_name(void *ptr)
Return the context name.
static const AVFilterPad cudascale_inputs[]
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
#define FILTER_SINGLE_PIXFMT(pix_fmt_)
@ AV_PIX_FMT_NV12
planar YUV 4:2:0, 12bpp, 1 plane for Y and 1 plane for the UV components, which are interleaved (firs...
#define AV_PIX_FMT_0RGB32
static AVFrame * cudascale_get_video_buffer(AVFilterLink *inlink, int w, int h)
@ AV_PIX_FMT_YUV444P
planar YUV 4:4:4, 24bpp, (1 Cr & Cb sample per 1x1 Y samples)
static const AVFilterPad cudascale_outputs[]
static int cudascale_filter_frame(AVFilterLink *link, AVFrame *in)
#define FILTER_OUTPUTS(array)
#define SCALE_CUDA_PARAM_DEFAULT