FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
cuviddec.h File Reference

NvCuvid API provides Video Decoding interface to NVIDIA GPU devices. More...

#include <cuda.h>

Go to the source code of this file.

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 voidCUvideodecoder
 
typedef struct _CUcontextlock_st * CUvideoctxlock
 

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 }
 
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 }
 

Functions

CUresult CUDAAPI cuvidCreateDecoder (CUvideodecoder *phDecoder, CUVIDDECODECREATEINFO *pdci)
 In order to minimize decode latencies, there should be always at least 2 pictures in the decode queue at any time, in order to make sure that all decode engines are always busy. More...
 
CUresult CUDAAPI cuvidDestroyDecoder (CUvideodecoder hDecoder)
 Destroy the decoder object. More...
 
CUresult CUDAAPI cuvidDecodePicture (CUvideodecoder hDecoder, CUVIDPICPARAMS *pPicParams)
 Decode a single picture (field or frame) More...
 
CUresult CUDAAPI cuvidMapVideoFrame (CUvideodecoder hDecoder, int nPicIdx, unsigned int *pDevPtr, unsigned int *pPitch, CUVIDPROCPARAMS *pVPP)
 Post-process and map a video frame for use in cuda. More...
 
CUresult CUDAAPI cuvidUnmapVideoFrame (CUvideodecoder hDecoder, unsigned int DevPtr)
 Unmap a previously mapped video frame. More...
 
CUresult CUDAAPI cuvidCtxLockCreate (CUvideoctxlock *pLock, CUcontext ctx)
 Context-locking: to facilitate multi-threaded implementations, the following 4 functions provide a simple mutex-style host synchronization. More...
 
CUresult CUDAAPI cuvidCtxLockDestroy (CUvideoctxlock lck)
 
CUresult CUDAAPI cuvidCtxLock (CUvideoctxlock lck, unsigned int reserved_flags)
 
CUresult CUDAAPI cuvidCtxUnlock (CUvideoctxlock lck, unsigned int reserved_flags)
 

Detailed Description

NvCuvid API provides Video Decoding interface to NVIDIA GPU devices.

Date
2015-2016 This file contains constants, structure definitions and function prototypes used for decoding.

Definition in file cuviddec.h.

Typedef Documentation

typedef void* CUvideodecoder

Definition at line 52 of file cuviddec.h.

typedef struct _CUcontextlock_st* CUvideoctxlock

Definition at line 53 of file cuviddec.h.