Go to the source code of this file.
|
static int CUDAAPI | cuvid_handle_video_sequence (void *opaque, CUVIDEOFORMAT *format) |
|
static int CUDAAPI | cuvid_handle_picture_decode (void *opaque, CUVIDPICPARAMS *picparams) |
|
static int CUDAAPI | cuvid_handle_picture_display (void *opaque, CUVIDPARSERDISPINFO *dispinfo) |
|
static int | cuvid_is_buffer_full (AVCodecContext *avctx) |
|
static int | cuvid_decode_packet (AVCodecContext *avctx, const AVPacket *avpkt) |
|
static int | cuvid_output_frame (AVCodecContext *avctx, AVFrame *frame) |
|
static int | cuvid_decode_frame (AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt) |
|
static av_cold int | cuvid_decode_end (AVCodecContext *avctx) |
|
static int | cuvid_test_capabilities (AVCodecContext *avctx, const CUVIDPARSERPARAMS *cuparseinfo, int probed_width, int probed_height, int bit_depth) |
|
static av_cold int | cuvid_decode_init (AVCodecContext *avctx) |
|
static void | cuvid_flush (AVCodecContext *avctx) |
|
◆ 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 |
|
) |
| |
Value: static const AVClass x##_cuvid_class = { \
}; \
AVCodec ff_##x##_cuvid_decoder = { \
.name = #x "_cuvid", \
.id = AV_CODEC_ID_##X, \
.priv_class = &x##_cuvid_class, \
AV_PIX_FMT_NV12, \
AV_PIX_FMT_P010, \
AV_PIX_FMT_P016, \
AV_PIX_FMT_NONE }, \
.wrapper_name = "cuvid", \
};
Definition at line 1154 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_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 1128 of file cuviddec.c.
◆ cuvid_hw_configs
@ AV_PIX_FMT_CUDA
HW acceleration through CUDA.
AVPixelFormat
Pixel format.
static av_cold int init(AVCodecContext *avctx)
static int cuvid_decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVPacket *avpkt)
#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[]
static void decode(AVCodecContext *dec_ctx, AVPacket *pkt, AVFrame *frame, FILE *outfile)
static enum AVPixelFormat pix_fmts[]
@ AV_CODEC_HW_CONFIG_METHOD_INTERNAL
The codec supports this format by some internal method.
#define LIBAVUTIL_VERSION_INT
Describe the class of an AVClass context structure.
static void flush(AVCodecContext *avctx)
static CopyRet receive_frame(AVCodecContext *avctx, AVFrame *frame, int *got_frame)
static const AVCodecHWConfigInternal * cuvid_hw_configs[]
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.
static av_cold int cuvid_decode_end(AVCodecContext *avctx)
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 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)
@ AV_CODEC_HW_CONFIG_METHOD_HW_DEVICE_CTX
The codec supports this format via the hw_device_ctx interface.
#define AV_CODEC_CAP_AVOID_PROBING
Decoder is not a preferred choice for probing.