Libav
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
nvenc.h File Reference
#include <nvEncodeAPI.h>
#include "config.h"
#include "libavutil/fifo.h"
#include "libavutil/opt.h"
#include "avcodec.h"

Go to the source code of this file.

Data Structures

struct  NVENCFrame
 
struct  NVENCLibraryContext
 
struct  NVENCContext
 

Macros

#define CUDAAPI
 
#define MAX_REGISTERED_FRAMES   64
 

Typedefs

typedef int CUdevice
 
typedef voidCUcontext
 
typedef voidCUdeviceptr
 
typedef CUresult(CUDAAPIPCUINIT) (unsigned int Flags)
 
typedef CUresult(CUDAAPIPCUDEVICEGETCOUNT) (int *count)
 
typedef CUresult(CUDAAPIPCUDEVICEGET) (CUdevice *device, int ordinal)
 
typedef CUresult(CUDAAPIPCUDEVICEGETNAME) (char *name, int len, CUdevice dev)
 
typedef CUresult(CUDAAPIPCUDEVICECOMPUTECAPABILITY) (int *major, int *minor, CUdevice dev)
 
typedef CUresult(CUDAAPIPCUCTXCREATE) (CUcontext *pctx, unsigned int flags, CUdevice dev)
 
typedef CUresult(CUDAAPIPCUCTXPOPCURRENT) (CUcontext *pctx)
 
typedef CUresult(CUDAAPIPCUCTXDESTROY) (CUcontext ctx)
 
typedef NVENCSTATUS(NVENCAPI * PNVENCODEAPICREATEINSTANCE) (NV_ENCODE_API_FUNCTION_LIST *functionList)
 

Enumerations

enum  CUresult { CUDA_SUCCESS = 0 }
 
enum  {
  PRESET_DEFAULT, PRESET_HP, PRESET_HQ, PRESET_BD,
  PRESET_LOW_LATENCY_DEFAULT, PRESET_LOW_LATENCY_HQ, PRESET_LOW_LATENCY_HP, PRESET_LOSSLESS_DEFAULT,
  PRESET_LOSSLESS_HP
}
 
enum  {
  NV_ENC_H264_PROFILE_BASELINE, NV_ENC_H264_PROFILE_MAIN, NV_ENC_H264_PROFILE_HIGH, NV_ENC_H264_PROFILE_HIGH_444,
  NV_ENC_H264_PROFILE_CONSTRAINED_HIGH
}
 
enum  { NVENC_LOWLATENCY = 1, NVENC_LOSSLESS }
 
enum  { LIST_DEVICES = -2, ANY_DEVICE }
 

Functions

int ff_nvenc_encode_init (AVCodecContext *avctx)
 
int ff_nvenc_encode_close (AVCodecContext *avctx)
 
int ff_nvenc_encode_frame (AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
 

Variables

enum AVPixelFormat ff_nvenc_pix_fmts []
 

Macro Definition Documentation

◆ CUDAAPI

#define CUDAAPI

Definition at line 38 of file nvenc.h.

◆ MAX_REGISTERED_FRAMES

#define MAX_REGISTERED_FRAMES   64

Definition at line 49 of file nvenc.h.

Typedef Documentation

◆ CUdevice

typedef int CUdevice

Definition at line 44 of file nvenc.h.

◆ CUcontext

typedef void* CUcontext

Definition at line 45 of file nvenc.h.

◆ CUdeviceptr

typedef void* CUdeviceptr

Definition at line 46 of file nvenc.h.

◆ PCUINIT

typedef CUresult(CUDAAPI * PCUINIT) (unsigned int Flags)

Definition at line 62 of file nvenc.h.

◆ PCUDEVICEGETCOUNT

typedef CUresult(CUDAAPI * PCUDEVICEGETCOUNT) (int *count)

Definition at line 63 of file nvenc.h.

◆ PCUDEVICEGET

typedef CUresult(CUDAAPI * PCUDEVICEGET) (CUdevice *device, int ordinal)

Definition at line 64 of file nvenc.h.

◆ PCUDEVICEGETNAME

typedef CUresult(CUDAAPI * PCUDEVICEGETNAME) (char *name, int len, CUdevice dev)

Definition at line 65 of file nvenc.h.

◆ PCUDEVICECOMPUTECAPABILITY

typedef CUresult(CUDAAPI * PCUDEVICECOMPUTECAPABILITY) (int *major, int *minor, CUdevice dev)

Definition at line 66 of file nvenc.h.

◆ PCUCTXCREATE

typedef CUresult(CUDAAPI * PCUCTXCREATE) (CUcontext *pctx, unsigned int flags, CUdevice dev)

Definition at line 67 of file nvenc.h.

◆ PCUCTXPOPCURRENT

typedef CUresult(CUDAAPI * PCUCTXPOPCURRENT) (CUcontext *pctx)

Definition at line 68 of file nvenc.h.

◆ PCUCTXDESTROY

typedef CUresult(CUDAAPI * PCUCTXDESTROY) (CUcontext ctx)

Definition at line 69 of file nvenc.h.

◆ PNVENCODEAPICREATEINSTANCE

typedef NVENCSTATUS(NVENCAPI * PNVENCODEAPICREATEINSTANCE) (NV_ENCODE_API_FUNCTION_LIST *functionList)

Definition at line 71 of file nvenc.h.

Enumeration Type Documentation

◆ CUresult

enum CUresult
Enumerator
CUDA_SUCCESS 

Definition at line 41 of file nvenc.h.

◆ anonymous enum

anonymous enum
Enumerator
PRESET_DEFAULT 
PRESET_HP 
PRESET_HQ 
PRESET_BD 
PRESET_LOW_LATENCY_DEFAULT 
PRESET_LOW_LATENCY_HQ 
PRESET_LOW_LATENCY_HP 
PRESET_LOSSLESS_DEFAULT 
PRESET_LOSSLESS_HP 

Definition at line 92 of file nvenc.h.

◆ anonymous enum

anonymous enum
Enumerator
NV_ENC_H264_PROFILE_BASELINE 
NV_ENC_H264_PROFILE_MAIN 
NV_ENC_H264_PROFILE_HIGH 
NV_ENC_H264_PROFILE_HIGH_444 
NV_ENC_H264_PROFILE_CONSTRAINED_HIGH 

Definition at line 104 of file nvenc.h.

◆ anonymous enum

anonymous enum
Enumerator
NVENC_LOWLATENCY 
NVENC_LOSSLESS 

Definition at line 112 of file nvenc.h.

◆ anonymous enum

anonymous enum
Enumerator
LIST_DEVICES 
ANY_DEVICE 

Definition at line 117 of file nvenc.h.

Function Documentation

◆ ff_nvenc_encode_init()

int ff_nvenc_encode_init ( AVCodecContext avctx)

Definition at line 1006 of file nvenc.c.

Referenced by nvenc_old_init().

◆ ff_nvenc_encode_close()

int ff_nvenc_encode_close ( AVCodecContext avctx)

Definition at line 951 of file nvenc.c.

◆ ff_nvenc_encode_frame()

int ff_nvenc_encode_frame ( AVCodecContext avctx,
AVPacket pkt,
const AVFrame frame,
int *  got_packet 
)

Definition at line 1379 of file nvenc.c.

Variable Documentation

◆ ff_nvenc_pix_fmts

enum AVPixelFormat ff_nvenc_pix_fmts[]

Definition at line 88 of file nvenc.c.