FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations
Video Decoder

Data Structures

struct  CUVIDDECODECREATEINFO
 
struct  CUVIDH264DPBENTRY
 
struct  CUVIDH264MVCEXT
 
struct  CUVIDH264SVCEXT
 
struct  CUVIDH264PICPARAMS
 
struct  CUVIDMPEG2PICPARAMS
 
struct  CUVIDMPEG4PICPARAMS
 
struct  CUVIDVC1PICPARAMS
 
struct  CUVIDJPEGPICPARAMS
 
struct  CUVIDHEVCPICPARAMS
 
struct  CUVIDVP8PICPARAMS
 
struct  CUVIDVP9PICPARAMS
 
struct  CUVIDPICPARAMS
 
struct  CUVIDPROCPARAMS
 

Macros

#define I_VOP   0
 
#define P_VOP   1
 
#define B_VOP   2
 
#define S_VOP   3
 

Typedefs

typedef CUresult CUDAAPI tcuvidCreateDecoder (CUvideodecoder *phDecoder, CUVIDDECODECREATEINFO *pdci)
 
typedef CUresult CUDAAPI tcuvidDestroyDecoder (CUvideodecoder hDecoder)
 
typedef CUresult CUDAAPI tcuvidDecodePicture (CUvideodecoder hDecoder, CUVIDPICPARAMS *pPicParams)
 
typedef CUresult CUDAAPI tcuvidMapVideoFrame (CUvideodecoder hDecoder, int nPicIdx, unsigned int *pDevPtr, unsigned int *pPitch, CUVIDPROCPARAMS *pVPP)
 
typedef CUresult CUDAAPI tcuvidUnmapVideoFrame (CUvideodecoder hDecoder, unsigned int DevPtr)
 
typedef CUresult CUDAAPI tcuvidCtxLockCreate (CUvideoctxlock *pLock, CUcontext ctx)
 
typedef CUresult CUDAAPI tcuvidCtxLockDestroy (CUvideoctxlock lck)
 
typedef CUresult CUDAAPI tcuvidCtxLock (CUvideoctxlock lck, unsigned int reserved_flags)
 
typedef CUresult CUDAAPI tcuvidCtxUnlock (CUvideoctxlock lck, unsigned int reserved_flags)
 

Enumerations

enum  cudaVideoCodec {
  cudaVideoCodec_MPEG1 =0, cudaVideoCodec_MPEG2, cudaVideoCodec_MPEG4, cudaVideoCodec_VC1,
  cudaVideoCodec_H264, cudaVideoCodec_JPEG, cudaVideoCodec_H264_SVC, cudaVideoCodec_H264_MVC,
  cudaVideoCodec_HEVC, cudaVideoCodec_VP8, cudaVideoCodec_VP9, cudaVideoCodec_NumCodecs,
  cudaVideoCodec_YUV420 = (('I'<<24)|('Y'<<16)|('U'<<8)|('V')), cudaVideoCodec_YV12 = (('Y'<<24)|('V'<<16)|('1'<<8)|('2')), cudaVideoCodec_NV12 = (('N'<<24)|('V'<<16)|('1'<<8)|('2')), cudaVideoCodec_YUYV = (('Y'<<24)|('U'<<16)|('Y'<<8)|('V')),
  cudaVideoCodec_UYVY = (('U'<<24)|('Y'<<16)|('V'<<8)|('Y'))
}
 
enum  cudaVideoSurfaceFormat { cudaVideoSurfaceFormat_NV12 =0, cudaVideoSurfaceFormat_P016 =1 }
 
enum  cudaVideoDeinterlaceMode { cudaVideoDeinterlaceMode_Weave =0, cudaVideoDeinterlaceMode_Bob, cudaVideoDeinterlaceMode_Adaptive }
 
enum  cudaVideoChromaFormat { cudaVideoChromaFormat_Monochrome =0, cudaVideoChromaFormat_420, cudaVideoChromaFormat_422, cudaVideoChromaFormat_444 }
 
enum  cudaVideoCreateFlags { cudaVideoCreate_Default = 0x00, cudaVideoCreate_PreferCUDA = 0x01, cudaVideoCreate_PreferDXVA = 0x02, cudaVideoCreate_PreferCUVID = 0x04 }
 

Detailed Description

Macro Definition Documentation

#define I_VOP   0

Definition at line 334 of file dynlink_cuviddec.h.

#define P_VOP   1

Definition at line 335 of file dynlink_cuviddec.h.

#define B_VOP   2

Definition at line 336 of file dynlink_cuviddec.h.

#define S_VOP   3

Definition at line 337 of file dynlink_cuviddec.h.

Typedef Documentation

typedef CUresult CUDAAPI tcuvidCreateDecoder(CUvideodecoder *phDecoder, CUVIDDECODECREATEINFO *pdci)

Definition at line 721 of file dynlink_cuviddec.h.

typedef CUresult CUDAAPI tcuvidDestroyDecoder(CUvideodecoder hDecoder)

Definition at line 727 of file dynlink_cuviddec.h.

typedef CUresult CUDAAPI tcuvidDecodePicture(CUvideodecoder hDecoder, CUVIDPICPARAMS *pPicParams)

Definition at line 733 of file dynlink_cuviddec.h.

typedef CUresult CUDAAPI tcuvidMapVideoFrame(CUvideodecoder hDecoder, int nPicIdx, unsigned int *pDevPtr, unsigned int *pPitch, CUVIDPROCPARAMS *pVPP)

Definition at line 741 of file dynlink_cuviddec.h.

typedef CUresult CUDAAPI tcuvidUnmapVideoFrame(CUvideodecoder hDecoder, unsigned int DevPtr)

Definition at line 749 of file dynlink_cuviddec.h.

typedef CUresult CUDAAPI tcuvidCtxLockCreate(CUvideoctxlock *pLock, CUcontext ctx)

Definition at line 792 of file dynlink_cuviddec.h.

typedef CUresult CUDAAPI tcuvidCtxLockDestroy(CUvideoctxlock lck)

Definition at line 797 of file dynlink_cuviddec.h.

typedef CUresult CUDAAPI tcuvidCtxLock(CUvideoctxlock lck, unsigned int reserved_flags)

Definition at line 802 of file dynlink_cuviddec.h.

typedef CUresult CUDAAPI tcuvidCtxUnlock(CUvideoctxlock lck, unsigned int reserved_flags)

Definition at line 807 of file dynlink_cuviddec.h.

Enumeration Type Documentation

Video Codec Enums

Enumerator
cudaVideoCodec_MPEG1 

MPEG1.

cudaVideoCodec_MPEG2 

MPEG2.

cudaVideoCodec_MPEG4 

MPEG4.

cudaVideoCodec_VC1 

VC1.

cudaVideoCodec_H264 

H264.

cudaVideoCodec_JPEG 

JPEG.

cudaVideoCodec_H264_SVC 

H264-SVC.

cudaVideoCodec_H264_MVC 

H264-MVC.

cudaVideoCodec_HEVC 

HEVC.

cudaVideoCodec_VP8 

VP8.

cudaVideoCodec_VP9 

VP9.

cudaVideoCodec_NumCodecs 

Max COdecs.

cudaVideoCodec_YUV420 

Y,U,V (4:2:0)

cudaVideoCodec_YV12 

Y,V,U (4:2:0)

cudaVideoCodec_NV12 

Y,UV (4:2:0)

cudaVideoCodec_YUYV 

YUYV/YUY2 (4:2:2)

cudaVideoCodec_UYVY 

UYVY (4:2:2)

Definition at line 66 of file dynlink_cuviddec.h.

Video Surface Formats Enums

Enumerator
cudaVideoSurfaceFormat_NV12 

NV12.

cudaVideoSurfaceFormat_P016 

P016.

Definition at line 91 of file dynlink_cuviddec.h.

Deinterlacing Modes Enums

Enumerator
cudaVideoDeinterlaceMode_Weave 

Weave both fields (no deinterlacing)

cudaVideoDeinterlaceMode_Bob 

Drop one field.

cudaVideoDeinterlaceMode_Adaptive 

Adaptive deinterlacing.

Definition at line 100 of file dynlink_cuviddec.h.

Chroma Formats Enums

Enumerator
cudaVideoChromaFormat_Monochrome 

MonoChrome.

cudaVideoChromaFormat_420 

4:2:0

cudaVideoChromaFormat_422 

4:2:2

cudaVideoChromaFormat_444 

4:4:4

Definition at line 110 of file dynlink_cuviddec.h.

Decoder Flags Enums

Enumerator
cudaVideoCreate_Default 

Default operation mode: use dedicated video engines.

cudaVideoCreate_PreferCUDA 

Use a CUDA-based decoder if faster than dedicated engines (requires a valid vidLock object for multi-threading)

cudaVideoCreate_PreferDXVA 

Go through DXVA internally if possible (requires D3D9 interop)

cudaVideoCreate_PreferCUVID 

Use dedicated video engines directly.

Definition at line 121 of file dynlink_cuviddec.h.