[FFmpeg-devel] [PATCH 3/4] lavc/qsvenc: use the common option "trellis" of AVCodecContext

Zhong Li zhong.li at intel.com
Wed Mar 27 14:51:46 EET 2019


Signed-off-by: Zhong Li <zhong.li at intel.com>
---
 libavcodec/qsvenc.c       | 5 ++++-
 libavcodec/qsvenc_h264.c  | 2 +-
 libavcodec/qsvenc_hevc.c  | 2 +-
 libavcodec/qsvenc_mpeg2.c | 2 +-
 4 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 2e98de93f1..914b9479c0 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -693,7 +693,10 @@ FF_ENABLE_DEPRECATION_WARNINGS
 #endif
 
 #if QSV_HAVE_TRELLIS
-            q->extco2.Trellis = q->trellis;
+            if (avctx->trellis >= 0)
+                q->extco2.Trellis = (avctx->trellis == 0) ? MFX_TRELLIS_OFF : (MFX_TRELLIS_I | MFX_TRELLIS_P | MFX_TRELLIS_B);
+            else
+                q->extco2.Trellis = MFX_TRELLIS_UNKNOWN;
 #endif
 
 #if QSV_VERSION_ATLEAST(1, 8)
diff --git a/libavcodec/qsvenc_h264.c b/libavcodec/qsvenc_h264.c
index f458137848..4fea69fb2c 100644
--- a/libavcodec/qsvenc_h264.c
+++ b/libavcodec/qsvenc_h264.c
@@ -181,7 +181,7 @@ static const AVCodecDefault qsv_enc_defaults[] = {
 #if FF_API_CODER_TYPE
     { "coder",     "-1"    },
 #endif
-
+    { "trellis",   "-1"    },
     { "flags",     "+cgop" },
 #if FF_API_PRIVATE_OPT
     { "b_strategy", "-1"   },
diff --git a/libavcodec/qsvenc_hevc.c b/libavcodec/qsvenc_hevc.c
index 1e822efece..94a81d8c74 100644
--- a/libavcodec/qsvenc_hevc.c
+++ b/libavcodec/qsvenc_hevc.c
@@ -260,7 +260,7 @@ static const AVCodecDefault qsv_enc_defaults[] = {
     // same as the x264 default
     { "g",         "248"   },
     { "bf",        "8"     },
-
+    { "trellis",   "-1"    },
     { "flags",     "+cgop" },
 #if FF_API_PRIVATE_OPT
     { "b_strategy", "-1"   },
diff --git a/libavcodec/qsvenc_mpeg2.c b/libavcodec/qsvenc_mpeg2.c
index a7427d8109..e4ade56d62 100644
--- a/libavcodec/qsvenc_mpeg2.c
+++ b/libavcodec/qsvenc_mpeg2.c
@@ -87,7 +87,7 @@ static const AVCodecDefault qsv_enc_defaults[] = {
     // same as the x264 default
     { "g",         "250"   },
     { "bf",        "3"     },
-
+    { "trellis",   "-1"    },
     { "flags",     "+cgop" },
 #if FF_API_PRIVATE_OPT
     { "b_strategy", "-1"   },
-- 
2.17.1



More information about the ffmpeg-devel mailing list