diff options
author | Roman Arzumanyan <rarzumanyan@nvidia.com> | 2020-03-19 11:35:29 +0300 |
---|---|---|
committer | Timo Rothenpieler <timo@rothenpieler.org> | 2020-07-01 16:10:00 +0200 |
commit | 9115d7722205590b8601d87146087f3559d29d54 (patch) | |
tree | 3b1db327a05c7b9b99db050f27da2ebaece3fa79 /libavcodec/nvenc.h | |
parent | f3dc38a186b2326ce03e50969897ea703817ddb0 (diff) |
avcodec/nvenc: add new Video SDK 10 features
1. new Nvenc presets
2. new multipass encode modes
3. low delay key frame scale
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
Diffstat (limited to 'libavcodec/nvenc.h')
-rw-r--r-- | libavcodec/nvenc.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/libavcodec/nvenc.h b/libavcodec/nvenc.h index df0d9caf9c..8392a51cff 100644 --- a/libavcodec/nvenc.h +++ b/libavcodec/nvenc.h @@ -62,6 +62,13 @@ typedef void ID3D11Device; #define NVENC_HAVE_GETLASTERRORSTRING #endif +// SDK 10.0 compile time feature checks +#if NVENCAPI_CHECK_VERSION(10, 0) +#define NVENC_HAVE_NEW_PRESETS +#define NVENC_HAVE_MULTIPASS +#define NVENC_HAVE_LDKFS +#endif + typedef struct NvencSurface { NV_ENC_INPUT_PTR input_surface; @@ -98,6 +105,15 @@ enum { PRESET_LOW_LATENCY_HP, PRESET_LOSSLESS_DEFAULT, // lossless presets must be the last ones PRESET_LOSSLESS_HP, +#ifdef NVENC_HAVE_NEW_PRESETS + PRESET_P1, + PRESET_P2, + PRESET_P3, + PRESET_P4, + PRESET_P5, + PRESET_P6, + PRESET_P7, +#endif }; enum { @@ -198,6 +214,9 @@ typedef struct NvencContext int a53_cc; int s12m_tc; int dpb_size; + int tuning_info; + int multipass; + int ldkfs; } NvencContext; int ff_nvenc_encode_init(AVCodecContext *avctx); |