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
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
void ff_nvenc_encode_flush(AVCodecContext *avctx)
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
const AVCodecHWConfigInternal * ff_nvenc_hw_configs[]
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
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