Go to the documentation of this file.
19 #ifndef AVCODEC_NVENC_H
20 #define AVCODEC_NVENC_H
31 #include <ffnvcodec/nvEncodeAPI.h>
40 #define MAX_REGISTERED_FRAMES 64
41 #define RC_MODE_DEPRECATED 0x800000
42 #define RCD(rc_mode) ((rc_mode) | RC_MODE_DEPRECATED)
44 #define NVENCAPI_CHECK_VERSION(major, minor) \
45 ((major) < NVENCAPI_MAJOR_VERSION || ((major) == NVENCAPI_MAJOR_VERSION && (minor) <= NVENCAPI_MINOR_VERSION))
48 #if NVENCAPI_CHECK_VERSION(8, 1)
49 #define NVENC_HAVE_BFRAME_REF_MODE
50 #define NVENC_HAVE_QP_MAP_MODE
54 #if NVENCAPI_CHECK_VERSION(9, 0)
55 #define NVENC_HAVE_HEVC_BFRAME_REF_MODE
59 #if NVENCAPI_CHECK_VERSION(9, 1)
60 #define NVENC_HAVE_MULTIPLE_REF_FRAMES
61 #define NVENC_HAVE_CUSTREAM_PTR
62 #define NVENC_HAVE_GETLASTERRORSTRING
66 #if NVENCAPI_CHECK_VERSION(10, 0)
67 #define NVENC_HAVE_NEW_PRESETS
68 #define NVENC_HAVE_MULTIPASS
69 #define NVENC_HAVE_LDKFS
70 #define NVENC_HAVE_H264_LVL6
108 #ifdef NVENC_HAVE_NEW_PRESETS
AVPixelFormat
Pixel format.
AVFifoBuffer * output_surface_ready_queue
@ NV_ENC_H264_PROFILE_HIGH
@ NV_ENC_H264_PROFILE_HIGH_444P
This structure describes decoded (raw) audio or video data.
struct NvencContext::@108 registered_frames[MAX_REGISTERED_FRAMES]
NV_ENC_CONFIG encode_config
NvencDynLoadFunctions nvenc_dload_funcs
NV_ENC_REGISTERED_PTR regptr
@ NV_ENC_H264_PROFILE_BASELINE
NV_ENC_BUFFER_FORMAT format
NV_ENC_INITIALIZE_PARAMS init_encode_params
@ NVENC_DEPRECATED_PRESET
@ NV_ENC_HEVC_PROFILE_MAIN
NvencFunctions * nvenc_dl
@ NV_ENC_HEVC_PROFILE_MAIN_10
NV_ENC_INPUT_PTR input_surface
Describe the class of an AVClass context structure.
int ff_nvenc_encode_init(AVCodecContext *avctx)
NV_ENC_MAP_INPUT_RESOURCE in_map
AVFifoBuffer * timestamp_list
#define MAX_REGISTERED_FRAMES
enum AVPixelFormat data_pix_fmt
@ PRESET_LOW_LATENCY_DEFAULT
void ff_nvenc_encode_flush(AVCodecContext *avctx)
AVFifoBuffer * unused_surface_queue
int ff_nvenc_receive_packet(AVCodecContext *avctx, AVPacket *pkt)
main external API structure.
int ff_nvenc_encode_close(AVCodecContext *avctx)
@ PRESET_LOSSLESS_DEFAULT
NV_ENC_OUTPUT_PTR output_surface
@ NV_ENC_HEVC_PROFILE_REXT
NV_ENCODE_API_FUNCTION_LIST nvenc_funcs
This structure stores compressed data.
@ NV_ENC_H264_PROFILE_MAIN
enum AVPixelFormat ff_nvenc_pix_fmts[]
CUcontext cu_context_internal
const AVCodecHWConfigInternal *const ff_nvenc_hw_configs[]
AVFifoBuffer * output_surface_queue
ID3D11Device * d3d11_device