Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Arzumanyan <rarzumanyan@nvidia.com>2020-03-19 11:35:29 +0300
committerTimo Rothenpieler <timo@rothenpieler.org>2020-07-01 17:10:00 +0300
commit9115d7722205590b8601d87146087f3559d29d54 (patch)
tree3b1db327a05c7b9b99db050f27da2ebaece3fa79 /libavcodec/nvenc.h
parentf3dc38a186b2326ce03e50969897ea703817ddb0 (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.h19
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);