Go to the source code of this file.
◆ cudaVideoSurfaceFormat_YUV444
#define cudaVideoSurfaceFormat_YUV444 2 |
◆ cudaVideoSurfaceFormat_YUV444_16Bit
#define cudaVideoSurfaceFormat_YUV444_16Bit 3 |
◆ CHECK_CU
◆ OFFSET
◆ VD
◆ DEFINE_CUVID_CODEC
#define DEFINE_CUVID_CODEC |
( |
|
x, |
|
|
|
X, |
|
|
|
bsf_name |
|
) |
| |
Value: static const AVClass x##_cuvid_class = { \
}; \
const
FFCodec ff_##x##_cuvid_decoder = { \
.p.id = AV_CODEC_ID_##
X, \
.p.priv_class = &x##_cuvid_class, \
.bsfs = bsf_name, \
AV_PIX_FMT_NV12, \
AV_PIX_FMT_P010, \
AV_PIX_FMT_P016, \
AV_PIX_FMT_NONE }, \
.p.wrapper_name = "cuvid", \
};
Definition at line 1112 of file cuviddec.c.
◆ cuvid_handle_video_sequence()
static int CUDAAPI cuvid_handle_video_sequence |
( |
void * |
opaque, |
|
|
CUVIDEOFORMAT * |
format |
|
) |
| |
|
static |
◆ cuvid_handle_picture_decode()
static int CUDAAPI cuvid_handle_picture_decode |
( |
void * |
opaque, |
|
|
CUVIDPICPARAMS * |
picparams |
|
) |
| |
|
static |
◆ cuvid_handle_picture_display()
static int CUDAAPI cuvid_handle_picture_display |
( |
void * |
opaque, |
|
|
CUVIDPARSERDISPINFO * |
dispinfo |
|
) |
| |
|
static |
◆ cuvid_is_buffer_full()
◆ cuvid_decode_packet()
◆ cuvid_output_frame()
◆ cuvid_decode_end()
◆ cuvid_test_capabilities()
static int cuvid_test_capabilities |
( |
AVCodecContext * |
avctx, |
|
|
const CUVIDPARSERPARAMS * |
cuparseinfo, |
|
|
int |
probed_width, |
|
|
int |
probed_height, |
|
|
int |
bit_depth |
|
) |
| |
|
static |
◆ cuvid_decode_init()
◆ cuvid_flush()
◆ options
Initial value:= {
{
"deint",
"Set deinterlacing mode",
OFFSET(deint_mode),
AV_OPT_TYPE_INT, { .i64 = cudaVideoDeinterlaceMode_Weave }, cudaVideoDeinterlaceMode_Weave, cudaVideoDeinterlaceMode_Adaptive,
VD,
"deint" },
{
"weave",
"Weave deinterlacing (do nothing)", 0,
AV_OPT_TYPE_CONST, { .i64 = cudaVideoDeinterlaceMode_Weave }, 0, 0,
VD,
"deint" },
{
"bob",
"Bob deinterlacing", 0,
AV_OPT_TYPE_CONST, { .i64 = cudaVideoDeinterlaceMode_Bob }, 0, 0,
VD,
"deint" },
{
"adaptive",
"Adaptive deinterlacing", 0,
AV_OPT_TYPE_CONST, { .i64 = cudaVideoDeinterlaceMode_Adaptive }, 0, 0,
VD,
"deint" },
{
"surfaces",
"Maximum surfaces to be used for decoding",
OFFSET(nb_surfaces),
AV_OPT_TYPE_INT, { .i64 = 25 }, 0, INT_MAX,
VD },
{
"drop_second_field",
"Drop second field when deinterlacing",
OFFSET(drop_second_field),
AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1,
VD },
}
Definition at line 1086 of file cuviddec.c.
◆ cuvid_hw_configs
@ AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX
The codec supports this format via the hw_device_ctx interface.
@ AV_PIX_FMT_CUDA
HW acceleration through CUDA.
AVPixelFormat
Pixel format.
#define AV_CODEC_CAP_HARDWARE
Codec is backed by a hardware implementation.
static int cuvid_output_frame(AVCodecContext *avctx, AVFrame *frame)
static const AVOption options[]
@ AV_CODEC_HW_CONFIG_METHOD_INTERNAL
The codec supports this format by some internal method.
AVCodec p
The public AVCodec.
static const AVCodecHWConfigInternal *const cuvid_hw_configs[]
#define LIBAVUTIL_VERSION_INT
Describe the class of an AVClass context structure.
const char * av_default_item_name(void *ptr)
Return the context name.
static av_cold int cuvid_decode_init(AVCodecContext *avctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
#define FF_CODEC_CAP_SETS_FRAME_PROPS
Codec handles output frame properties internally instead of letting the internal logic derive them fr...
static av_cold int cuvid_decode_end(AVCodecContext *avctx)
const char * name
Name of the codec implementation.
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
#define FF_CODEC_RECEIVE_FRAME_CB(func)
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
static void cuvid_flush(AVCodecContext *avctx)
#define AV_CODEC_CAP_AVOID_PROBING
Decoder is not a preferred choice for probing.