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 int | cudascale_query_formats (AVFilterContext *ctx) |
|
static av_cold int | init_stage (CUDAScaleContext *s, AVBufferRef *device_ctx) |
|
static int | format_is_supported (enum AVPixelFormat fmt) |
|
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_config_props (AVFilterLink *outlink) |
|
static int | call_resize_kernel (AVFilterContext *ctx, CUfunction func, int channels, uint8_t *src_dptr, int src_width, int src_height, int src_pitch, uint8_t *dst_dptr, int dst_width, int dst_height, int dst_pitch, int pixel_size) |
|
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) |
|
◆ DIV_UP
#define DIV_UP |
( |
|
a, |
|
|
|
b |
|
) |
| ( ((a) + (b) - 1) / (b) ) |
◆ ALIGN_UP
#define ALIGN_UP |
( |
|
a, |
|
|
|
b |
|
) |
| (((a) + (b) - 1) & ~((b) - 1)) |
◆ NUM_BUFFERS
◆ BLOCKX
◆ BLOCKY
◆ CHECK_CU
◆ OFFSET
◆ FLAGS
◆ cudascale_init()
◆ cudascale_uninit()
◆ cudascale_query_formats()
◆ init_stage()
◆ format_is_supported()
◆ init_processing_chain()
◆ cudascale_config_props()
◆ call_resize_kernel()
static int call_resize_kernel |
( |
AVFilterContext * |
ctx, |
|
|
CUfunction |
func, |
|
|
int |
channels, |
|
|
uint8_t * |
src_dptr, |
|
|
int |
src_width, |
|
|
int |
src_height, |
|
|
int |
src_pitch, |
|
|
uint8_t * |
dst_dptr, |
|
|
int |
dst_width, |
|
|
int |
dst_height, |
|
|
int |
dst_pitch, |
|
|
int |
pixel_size |
|
) |
| |
|
static |
◆ scalecuda_resize()
◆ cudascale_scale()
◆ cudascale_filter_frame()
◆ supported_formats
◆ options
Initial value:= {
{
"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 542 of file vf_scale_cuda.c.
◆ cudascale_class
Initial value:= {
.class_name = "cudascale",
}
Definition at line 553 of file vf_scale_cuda.c.
◆ cudascale_inputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 560 of file vf_scale_cuda.c.
◆ cudascale_outputs
Initial value:= {
{
.name = "default",
},
}
Definition at line 569 of file vf_scale_cuda.c.
◆ ff_vf_scale_cuda
static const AVOption options[]
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
static const AVFilterPad outputs[]
@ AV_PIX_FMT_YUV420P
planar YUV 4:2:0, 12bpp, (1 Cr & Cb sample per 2x2 Y samples)
#define LIBAVUTIL_VERSION_INT
const char * av_default_item_name(void *ptr)
Return the context name.
these buffered frames must be flushed immediately if a new input produces new the filter must not call request_frame to get more It must just process the frame or queue it The task of requesting more frames is left to the filter s request_frame method or the application If a filter has several inputs
static const AVFilterPad cudascale_inputs[]
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
static int cudascale_query_formats(AVFilterContext *ctx)
@ 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...
@ 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)