X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fnvenc.h;h=a269bd97bbab1602392be0ac7d74e8cf975da1cd;hb=859362a6f01dabaf28f189e395724c89b1e89ffd;hp=ebb7a80fc327a67eb1a6f20c21b7433ce3e6b0e4;hpb=b1b0e532583e26f18ba27f3cc8775dbd62f3bc2b;p=ffmpeg diff --git a/libavcodec/nvenc.h b/libavcodec/nvenc.h index ebb7a80fc32..a269bd97bba 100644 --- a/libavcodec/nvenc.h +++ b/libavcodec/nvenc.h @@ -49,6 +49,18 @@ typedef void ID3D11Device; #define NVENC_HAVE_QP_MAP_MODE #endif +// SDK 9.0 compile time feature checks +#if NVENCAPI_CHECK_VERSION(9, 0) +#define NVENC_HAVE_HEVC_BFRAME_REF_MODE +#endif + +// SDK 9.1 compile time feature checks +#if NVENCAPI_CHECK_VERSION(9, 1) +#define NVENC_HAVE_MULTIPLE_REF_FRAMES +#define NVENC_HAVE_CUSTREAM_PTR +#define NVENC_HAVE_GETLASTERRORSTRING +#endif + typedef struct NvencSurface { NV_ENC_INPUT_PTR input_surface; @@ -122,6 +134,7 @@ typedef struct NvencContext NV_ENC_CONFIG encode_config; CUcontext cu_context; CUcontext cu_context_internal; + CUstream cu_stream; ID3D11Device *d3d11_device; int nb_surfaces; @@ -187,6 +200,7 @@ typedef struct NvencContext int coder; int b_ref_mode; int a53_cc; + int dpb_size; } NvencContext; int ff_nvenc_encode_init(AVCodecContext *avctx);