FFmpeg
Loading...
Searching...
No Matches
vf_bwdif_cuda.c File Reference

Go to the source code of this file.

Data Structures

struct  DeintCUDAContext
 

Macros

#define DIV_UP(a, b)
 
#define ALIGN_UP(a, b)
 
#define BLOCKX   32
 
#define BLOCKY   16
 
#define CHECK_CU(x)
 

Functions

static CUresult call_kernel (AVFilterContext *ctx, CUfunction func, CUdeviceptr prev, CUdeviceptr cur, CUdeviceptr next, CUarray_format format, int channels, int src_width, int src_height, int src_pitch, CUdeviceptr dst, int dst_width, int dst_height, int dst_pitch, int parity, int tff, int clip_max)
 
static void filter (AVFilterContext *ctx, AVFrame *dst, int parity, int tff)
 
static av_cold void deint_cuda_uninit (AVFilterContext *ctx)
 
static int config_input (AVFilterLink *inlink)
 
static int config_output (AVFilterLink *link)
 

Variables

const unsigned char ff_vf_bwdif_cuda_ptx_data []
 
const unsigned int ff_vf_bwdif_cuda_ptx_len
 
static const AVClass bwdif_cuda_class
 
static const AVFilterPad deint_cuda_inputs []
 
static const AVFilterPad deint_cuda_outputs []
 
const FFFilter ff_vf_bwdif_cuda
 

Macro Definition Documentation

◆ DIV_UP

#define DIV_UP ( a,
b )
Value:
( ((a) + (b) - 1) / (b) )
int a
#define b
Definition input.c:43

Definition at line 49 of file vf_bwdif_cuda.c.

Referenced by call_kernel().

◆ ALIGN_UP

#define ALIGN_UP ( a,
b )
Value:
(((a) + (b) - 1) & ~((b) - 1))

Definition at line 50 of file vf_bwdif_cuda.c.

◆ BLOCKX

#define BLOCKX   32

Definition at line 51 of file vf_bwdif_cuda.c.

◆ BLOCKY

#define BLOCKY   16

Definition at line 52 of file vf_bwdif_cuda.c.

◆ CHECK_CU

#define CHECK_CU ( x)
Value:
FF_CUDA_CHECK_DL(ctx, s->hwctx->internal->cuda_dl, x)
#define s(width, name)
Definition cbs_vp9.c:198
#define FF_CUDA_CHECK_DL(avclass, cudl, x)
Convenience wrapper for ff_cuda_check when dynamically loading cuda symbols.
Definition cuda_check.h:65
static AVFormatContext * ctx
Definition movenc.c:49

Definition at line 54 of file vf_bwdif_cuda.c.

Referenced by call_kernel(), config_output(), deint_cuda_uninit(), and filter().

Function Documentation

◆ call_kernel()

static CUresult call_kernel ( AVFilterContext * ctx,
CUfunction func,
CUdeviceptr prev,
CUdeviceptr cur,
CUdeviceptr next,
CUarray_format format,
int channels,
int src_width,
int src_height,
int src_pitch,
CUdeviceptr dst,
int dst_width,
int dst_height,
int dst_pitch,
int parity,
int tff,
int clip_max )
static

Definition at line 56 of file vf_bwdif_cuda.c.

Referenced by filter().

◆ filter()

static void filter ( AVFilterContext * ctx,
AVFrame * dst,
int parity,
int tff )
static

Definition at line 125 of file vf_bwdif_cuda.c.

◆ deint_cuda_uninit()

static av_cold void deint_cuda_uninit ( AVFilterContext * ctx)
static

Definition at line 199 of file vf_bwdif_cuda.c.

◆ config_input()

static int config_input ( AVFilterLink * inlink)
static

Definition at line 219 of file vf_bwdif_cuda.c.

◆ config_output()

static int config_output ( AVFilterLink * link)
static

Definition at line 242 of file vf_bwdif_cuda.c.

Variable Documentation

◆ ff_vf_bwdif_cuda_ptx_data

const unsigned char ff_vf_bwdif_cuda_ptx_data[]
extern

Referenced by config_output().

◆ ff_vf_bwdif_cuda_ptx_len

const unsigned int ff_vf_bwdif_cuda_ptx_len
extern

Referenced by config_output().

◆ bwdif_cuda_class

const AVClass bwdif_cuda_class
static
Initial value:
= {
.class_name = "bwdif_cuda",
.item_name = av_default_item_name,
.option = ff_yadif_options,
}
const char * av_default_item_name(void *ptr)
Return the context name.
Definition log.c:241
#define LIBAVUTIL_VERSION_INT
Definition version.h:85
@ AV_CLASS_CATEGORY_FILTER
Definition log.h:36
const AVOption ff_yadif_options[]

Definition at line 334 of file vf_bwdif_cuda.c.

◆ deint_cuda_inputs

const AVFilterPad deint_cuda_inputs[]
static
Initial value:
= {
{
.name = "default",
.filter_frame = ff_yadif_filter_frame,
.config_props = config_input,
},
}
static int config_input(AVFilterLink *inlink)
@ AVMEDIA_TYPE_VIDEO
Definition avutil.h:200
int ff_yadif_filter_frame(AVFilterLink *link, AVFrame *frame)

Definition at line 342 of file vf_bwdif_cuda.c.

◆ deint_cuda_outputs

const AVFilterPad deint_cuda_outputs[]
static
Initial value:
= {
{
.name = "default",
.request_frame = ff_yadif_request_frame,
.config_props = config_output,
},
}
static int config_output(AVBitStreamFilterLink *outlink)
int ff_yadif_request_frame(AVFilterLink *link)

Definition at line 351 of file vf_bwdif_cuda.c.

◆ ff_vf_bwdif_cuda

const FFFilter ff_vf_bwdif_cuda
Initial value:
= {
.p.name = "bwdif_cuda",
.p.description = NULL_IF_CONFIG_SMALL("Deinterlace CUDA frames"),
.p.priv_class = &bwdif_cuda_class,
.priv_size = sizeof(DeintCUDAContext),
.flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE,
}
#define AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL
Same as AVFILTER_FLAG_SUPPORT_TIMELINE_GENERIC, except that the filter will have its filter_frame() c...
Definition avfilter.h:204
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_CUDA
HW acceleration through CUDA.
Definition pixfmt.h:260
static const AVClass bwdif_cuda_class
static av_cold void deint_cuda_uninit(AVFilterContext *ctx)
static const AVFilterPad deint_cuda_inputs[]
static const AVFilterPad deint_cuda_outputs[]

Definition at line 360 of file vf_bwdif_cuda.c.