19 #ifndef AVCODEC_NVENC_H
20 #define AVCODEC_NVENC_H
31 #include <ffnvcodec/nvEncodeAPI.h>
39 #define MAX_REGISTERED_FRAMES 64
40 #define RC_MODE_DEPRECATED 0x800000
41 #define RCD(rc_mode) ((rc_mode) | RC_MODE_DEPRECATED)
43 #define NVENCAPI_CHECK_VERSION(major, minor) \
44 ((major) < NVENCAPI_MAJOR_VERSION || ((major) == NVENCAPI_MAJOR_VERSION && (minor) <= NVENCAPI_MINOR_VERSION))
47 #if NVENCAPI_CHECK_VERSION(8, 1)
48 #define NVENC_HAVE_BFRAME_REF_MODE
49 #define NVENC_HAVE_QP_MAP_MODE
enum AVPixelFormat ff_nvenc_pix_fmts[]
NV_ENC_BUFFER_FORMAT format
int ff_nvenc_encode_init(AVCodecContext *avctx)
This structure describes decoded (raw) audio or video data.
AVFifoBuffer * timestamp_list
NvencFunctions * nvenc_dl
An API-specific header for AV_HWDEVICE_TYPE_D3D11VA.
NV_ENCODE_API_FUNCTION_LIST nvenc_funcs
NvencDynLoadFunctions nvenc_dload_funcs
ID3D11Device * d3d11_device
NV_ENC_INPUT_PTR input_surface
AVFifoBuffer * unused_surface_queue
int ff_nvenc_encode_close(AVCodecContext *avctx)
int ff_nvenc_receive_packet(AVCodecContext *avctx, AVPacket *pkt)
NV_ENC_INITIALIZE_PARAMS init_encode_params
#define MAX_REGISTERED_FRAMES
AVFifoBuffer * output_surface_ready_queue
CUcontext cu_context_internal
struct NvencContext::@103 registered_frames[MAX_REGISTERED_FRAMES]
int ff_nvenc_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
int ff_nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame)
NV_ENC_REGISTERED_PTR regptr
AVFifoBuffer * output_surface_queue
enum AVPixelFormat data_pix_fmt
NV_ENC_CONFIG encode_config
Libavcodec external API header.
main external API structure.
a very simple circular buffer FIFO implementation
Describe the class of an AVClass context structure.
NV_ENC_MAP_INPUT_RESOURCE in_map
AVPixelFormat
Pixel format.
This structure stores compressed data.
NV_ENC_OUTPUT_PTR output_surface