19 #ifndef AVCODEC_NVENC_H 20 #define AVCODEC_NVENC_H 22 #include <nvEncodeAPI.h> 36 #define CUDAAPI __stdcall 41 typedef enum cudaError_enum {
49 #define MAX_REGISTERED_FRAMES 64 57 NV_ENC_OUTPUT_PTR
out;
150 int64_t initial_pts[2];
170 const AVFrame *frame,
int *got_packet);
enum AVPixelFormat ff_nvenc_pix_fmts[]
int ff_nvenc_encode_init(AVCodecContext *avctx)
This structure describes decoded (raw) audio or video data.
CUresult(CUDAAPI * PCUDEVICEGET)(CUdevice *device, int ordinal)
NV_ENC_REGISTERED_PTR regptr
PCUDEVICEGET cu_device_get
NV_ENC_MAP_INPUT_RESOURCE in_map
CUresult(CUDAAPI * PCUCTXCREATE)(CUcontext *pctx, unsigned int flags, CUdevice dev)
PCUDEVICECOMPUTECAPABILITY cu_device_compute_capability
CUresult(CUDAAPI * PCUDEVICEGETCOUNT)(int *count)
int ff_nvenc_encode_close(AVCodecContext *avctx)
#define MAX_REGISTERED_FRAMES
PCUDEVICEGETNAME cu_device_get_name
NV_ENC_BUFFER_FORMAT format
NV_ENCODE_API_FUNCTION_LIST nvenc_funcs
CUresult(CUDAAPI * PCUCTXDESTROY)(CUcontext ctx)
int ff_nvenc_encode_frame(AVCodecContext *avctx, AVPacket *pkt, const AVFrame *frame, int *got_packet)
CUresult(CUDAAPI * PCUCTXPOPCURRENT)(CUcontext *pctx)
PCUCTXDESTROY cu_ctx_destroy
CUresult(CUDAAPI * PCUINIT)(unsigned int Flags)
Libavcodec external API header.
NV_ENC_INITIALIZE_PARAMS params
main external API structure.
a very simple circular buffer FIFO implementation
CUcontext cu_context_internal
Describe the class of an AVClass context structure.
CUresult(CUDAAPI * PCUDEVICECOMPUTECAPABILITY)(int *major, int *minor, CUdevice dev)
PCUCTXPOPCURRENT cu_ctx_pop_current
PCUCTXCREATE cu_ctx_create
NVENCSTATUS(NVENCAPI * PNVENCODEAPICREATEINSTANCE)(NV_ENCODE_API_FUNCTION_LIST *functionList)
CUresult(CUDAAPI * PCUDEVICEGETNAME)(char *name, int len, CUdevice dev)
PCUDEVICEGETCOUNT cu_device_get_count
AVPixelFormat
Pixel format.
AVFifoBuffer * timestamps
This structure stores compressed data.