summaryrefslogtreecommitdiff
path: root/libavcodec/qsvenc.h
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2018-04-13 20:34:23 -0300
committerJames Almer <jamrial@gmail.com>2018-04-13 20:34:23 -0300
commitf790410b6baa4ee53e8a5796e986de0cae78b073 (patch)
treedc092d2c1bf35c8eb9888f7b3f77c4720bacf423 /libavcodec/qsvenc.h
parentae7e66fb4b1a256fb79a016b9c585de84ac77339 (diff)
parentcca5e4f040971db6de0bfe6968f00c021d8a9c42 (diff)
Merge commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42'
* commit 'cca5e4f040971db6de0bfe6968f00c021d8a9c42': qsv: adding Multi Frame Encode support Merged-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavcodec/qsvenc.h')
-rw-r--r--libavcodec/qsvenc.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h
index 080f6f08d3..d48272224c 100644
--- a/libavcodec/qsvenc.h
+++ b/libavcodec/qsvenc.h
@@ -50,11 +50,13 @@
#define QSV_HAVE_ICQ QSV_VERSION_ATLEAST(1, 8)
#define QSV_HAVE_VCM QSV_VERSION_ATLEAST(1, 8)
#define QSV_HAVE_QVBR QSV_VERSION_ATLEAST(1, 11)
+#define QSV_HAVE_MF 0
#else
#define QSV_HAVE_AVBR 0
#define QSV_HAVE_ICQ 0
#define QSV_HAVE_VCM 0
#define QSV_HAVE_QVBR 0
+#define QSV_HAVE_MF QSV_VERSION_ATLEAST(1, 25)
#endif
#if !QSV_HAVE_LA_DS
@@ -108,12 +110,15 @@ typedef struct QSVEncContext {
#if QSV_HAVE_CO2
mfxExtCodingOption2 extco2;
#endif
-
+#if QSV_HAVE_MF
+ mfxExtMultiFrameParam extmfp;
+ mfxExtMultiFrameControl extmfc;
+#endif
mfxExtOpaqueSurfaceAlloc opaque_alloc;
mfxFrameSurface1 **opaque_surfaces;
AVBufferRef *opaque_alloc_buf;
- mfxExtBuffer *extparam_internal[2 + QSV_HAVE_CO2];
+ mfxExtBuffer *extparam_internal[2 + QSV_HAVE_CO2 + (QSV_HAVE_MF * 2)];
int nb_extparam_internal;
mfxExtBuffer **extparam;
@@ -158,6 +163,10 @@ typedef struct QSVEncContext {
int recovery_point_sei;
int a53_cc;
+
+#if QSV_HAVE_MF
+ int mfmode;
+#endif
char *load_plugins;
SetEncodeCtrlCB *set_encode_ctrl_cb;
} QSVEncContext;