FFmpeg  4.0
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
nvenc.h File Reference
#include "config.h"
#include <ffnvcodec/nvEncodeAPI.h>
#include "compat/cuda/dynlink_loader.h"
#include "libavutil/fifo.h"
#include "libavutil/opt.h"
#include "avcodec.h"

Go to the source code of this file.

Data Structures

struct  NvencSurface
 
struct  NvencDynLoadFunctions
 
struct  NvencContext
 

Macros

#define MAX_REGISTERED_FRAMES   64
 
#define RC_MODE_DEPRECATED   0x800000
 
#define RCD(rc_mode)   ((rc_mode) | RC_MODE_DEPRECATED)
 
#define NVENCAPI_CHECK_VERSION(major, minor)   ((major) < NVENCAPI_MAJOR_VERSION || ((major) == NVENCAPI_MAJOR_VERSION && (minor) <= NVENCAPI_MINOR_VERSION))
 

Typedefs

typedef void ID3D11Device
 

Enumerations

enum  {
  PRESET_DEFAULT = 0, PRESET_SLOW, PRESET_MEDIUM, PRESET_FAST,
  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_444P }
 
enum  { NV_ENC_HEVC_PROFILE_MAIN, NV_ENC_HEVC_PROFILE_MAIN_10, NV_ENC_HEVC_PROFILE_REXT }
 
enum  { NVENC_LOWLATENCY = 1, NVENC_LOSSLESS = 2, NVENC_ONE_PASS = 4, NVENC_TWO_PASSES = 8 }
 
enum  { LIST_DEVICES = -2, ANY_DEVICE }
 

Functions

int ff_nvenc_encode_init (AVCodecContext *avctx)
 
int ff_nvenc_encode_close (AVCodecContext *avctx)
 
int ff_nvenc_send_frame (AVCodecContext *avctx, const AVFrame *frame)
 
int ff_nvenc_receive_packet (AVCodecContext *avctx, AVPacket *pkt)
 
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

◆ MAX_REGISTERED_FRAMES

#define MAX_REGISTERED_FRAMES   64

Definition at line 39 of file nvenc.h.

Referenced by nvenc_recalc_surfaces().

◆ RC_MODE_DEPRECATED

#define RC_MODE_DEPRECATED   0x800000

Definition at line 40 of file nvenc.h.

Referenced by nvenc_setup_rate_control().

◆ RCD

#define RCD (   rc_mode)    ((rc_mode) | RC_MODE_DEPRECATED)

Definition at line 41 of file nvenc.h.

◆ NVENCAPI_CHECK_VERSION

#define NVENCAPI_CHECK_VERSION (   major,
  minor 
)    ((major) < NVENCAPI_MAJOR_VERSION || ((major) == NVENCAPI_MAJOR_VERSION && (minor) <= NVENCAPI_MINOR_VERSION))

Definition at line 43 of file nvenc.h.

Typedef Documentation

◆ ID3D11Device

typedef void ID3D11Device

Definition at line 28 of file nvenc.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
PRESET_DEFAULT 
PRESET_SLOW 
PRESET_MEDIUM 
PRESET_FAST 
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 75 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_444P 

Definition at line 90 of file nvenc.h.

◆ anonymous enum

anonymous enum
Enumerator
NV_ENC_HEVC_PROFILE_MAIN 
NV_ENC_HEVC_PROFILE_MAIN_10 
NV_ENC_HEVC_PROFILE_REXT 

Definition at line 97 of file nvenc.h.

◆ anonymous enum

anonymous enum
Enumerator
NVENC_LOWLATENCY 
NVENC_LOSSLESS 
NVENC_ONE_PASS 
NVENC_TWO_PASSES 

Definition at line 103 of file nvenc.h.

◆ anonymous enum

anonymous enum
Enumerator
LIST_DEVICES 
ANY_DEVICE 

Definition at line 110 of file nvenc.h.

Function Documentation

◆ ff_nvenc_encode_init()

int ff_nvenc_encode_init ( AVCodecContext avctx)

Definition at line 1473 of file nvenc.c.

Referenced by nvenc_old_init().

◆ ff_nvenc_encode_close()

int ff_nvenc_encode_close ( AVCodecContext avctx)

Definition at line 1398 of file nvenc.c.

Referenced by nvenc_old_init().

◆ ff_nvenc_send_frame()

int ff_nvenc_send_frame ( AVCodecContext avctx,
const AVFrame frame 
)

Definition at line 1923 of file nvenc.c.

Referenced by ff_nvenc_encode_frame(), and nvenc_old_init().

◆ ff_nvenc_receive_packet()

int ff_nvenc_receive_packet ( AVCodecContext avctx,
AVPacket pkt 
)

Definition at line 2026 of file nvenc.c.

Referenced by ff_nvenc_encode_frame(), and nvenc_old_init().

◆ ff_nvenc_encode_frame()

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

Definition at line 2062 of file nvenc.c.

Referenced by nvenc_old_init().

Variable Documentation

◆ ff_nvenc_pix_fmts

enum AVPixelFormat ff_nvenc_pix_fmts[]

Definition at line 39 of file nvenc.c.

Referenced by nvenc_old_init().