summaryrefslogtreecommitdiff
path: root/libavcodec/qsvenc.h
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2015-11-29 15:18:08 +0100
committerHendrik Leppkes <h.leppkes@gmail.com>2015-11-29 15:18:08 +0100
commit24563c20f181cb9d7015e9595d9cb6846cf02dfa (patch)
treec995d5a498babc3ffbd1254376de4b1b27e7e6c1 /libavcodec/qsvenc.h
parent7a9b4427b51eb14e1729f66268ebe794bddde581 (diff)
parente7d7cf86dcaba8eaaed62c80172ff0aff2588c2a (diff)
Merge commit 'e7d7cf86dcaba8eaaed62c80172ff0aff2588c2a'
* commit 'e7d7cf86dcaba8eaaed62c80172ff0aff2588c2a': qsvenc: support more RC methods Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
Diffstat (limited to 'libavcodec/qsvenc.h')
-rw-r--r--libavcodec/qsvenc.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavcodec/qsvenc.h b/libavcodec/qsvenc.h
index 238be6a1ae..4c0f5a5efa 100644
--- a/libavcodec/qsvenc.h
+++ b/libavcodec/qsvenc.h
@@ -57,6 +57,7 @@
{ "slow", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_TARGETUSAGE_3 }, INT_MIN, INT_MAX, VE, "preset" }, \
{ "slower", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_TARGETUSAGE_2 }, INT_MIN, INT_MAX, VE, "preset" }, \
{ "veryslow", NULL, 0, AV_OPT_TYPE_CONST, { .i64 = MFX_TARGETUSAGE_BEST_QUALITY }, INT_MIN, INT_MAX, VE, "preset" }, \
+{ "vcm", "Use the video conferencing mode ratecontrol", OFFSET(qsv.vcm), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, VE }, \
typedef struct QSVEncContext {
AVCodecContext *avctx;
@@ -74,7 +75,7 @@ typedef struct QSVEncContext {
mfxFrameAllocRequest req;
mfxExtCodingOption extco;
-#if QSV_VERSION_ATLEAST(1,6)
+#if QSV_HAVE_CO2
mfxExtCodingOption2 extco2;
#endif
@@ -82,7 +83,7 @@ typedef struct QSVEncContext {
mfxFrameSurface1 **opaque_surfaces;
AVBufferRef *opaque_alloc_buf;
- mfxExtBuffer *extparam_internal[3];
+ mfxExtBuffer *extparam_internal[2 + QSV_HAVE_CO2];
int nb_extparam_internal;
mfxExtBuffer **extparam;
@@ -100,6 +101,7 @@ typedef struct QSVEncContext {
int look_ahead;
int look_ahead_depth;
int look_ahead_downsampling;
+ int vcm;
char *load_plugins;
} QSVEncContext;