X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=libavcodec%2Fnvenc.h;h=ebb7a80fc327a67eb1a6f20c21b7433ce3e6b0e4;hb=9f4af97aff899571663342fbe68df8caee30097f;hp=bff25dfc3ca121006e58ca78eb0a677d00ae89a6;hpb=99cc3cf7a26cd4113e5047034577027d8c6f07a2;p=ffmpeg diff --git a/libavcodec/nvenc.h b/libavcodec/nvenc.h index bff25dfc3ca..ebb7a80fc32 100644 --- a/libavcodec/nvenc.h +++ b/libavcodec/nvenc.h @@ -40,6 +40,15 @@ typedef void ID3D11Device; #define RC_MODE_DEPRECATED 0x800000 #define RCD(rc_mode) ((rc_mode) | RC_MODE_DEPRECATED) +#define NVENCAPI_CHECK_VERSION(major, minor) \ + ((major) < NVENCAPI_MAJOR_VERSION || ((major) == NVENCAPI_MAJOR_VERSION && (minor) <= NVENCAPI_MINOR_VERSION)) + +// SDK 8.1 compile time feature checks +#if NVENCAPI_CHECK_VERSION(8, 1) +#define NVENC_HAVE_BFRAME_REF_MODE +#define NVENC_HAVE_QP_MAP_MODE +#endif + typedef struct NvencSurface { NV_ENC_INPUT_PTR input_surface; @@ -143,6 +152,8 @@ typedef struct NvencContext int64_t initial_pts[2]; int first_packet_output; + int support_dyn_bitrate; + void *nvencoder; int preset; @@ -174,6 +185,8 @@ typedef struct NvencContext int cqp; int weighted_pred; int coder; + int b_ref_mode; + int a53_cc; } NvencContext; int ff_nvenc_encode_init(AVCodecContext *avctx);