summaryrefslogtreecommitdiff
path: root/libavcodec/qsvenc.c
diff options
context:
space:
mode:
authorLinjie Fu <linjie.fu@intel.com>2019-03-29 13:19:06 +0800
committerZhong Li <zhong.li@intel.com>2019-04-01 19:21:42 +0800
commita8355eed3699acffebb70e1b939989d39b72dfc7 (patch)
treee842577f5bd41db22da345a4ff5e9ec1e4dba44e /libavcodec/qsvenc.c
parent7f9a81b1105618fc064fdfdb8c97570c032a0bf0 (diff)
lavc/qsvenc: expose low_power as a common option for QSV encoder
Always exposes low_power option for all qsv encoder, and reports a warning if VDENC is not supported in current version of MSDK. Signed-off-by: Linjie Fu <linjie.fu@intel.com> Signed-off-by: Zhong Li <zhong.li@intel.com>
Diffstat (limited to 'libavcodec/qsvenc.c')
-rw-r--r--libavcodec/qsvenc.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index a6641f68fc..4c03133817 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -488,9 +488,18 @@ static int init_video_param(AVCodecContext *avctx, QSVEncContext *q)
}
}
+ if (q->low_power) {
#if QSV_HAVE_VDENC
- q->param.mfx.LowPower = q->low_power ? MFX_CODINGOPTION_ON : MFX_CODINGOPTION_OFF;
+ q->param.mfx.LowPower = MFX_CODINGOPTION_ON;
+#else
+ av_log(avctx, AV_LOG_WARNING, "The low_power option is "
+ "not supported with this MSDK version.\n");
+ q->low_power = 0;
+ q->param.mfx.LowPower = MFX_CODINGOPTION_OFF;
#endif
+ } else
+ q->param.mfx.LowPower = MFX_CODINGOPTION_OFF;
+
q->param.mfx.CodecProfile = q->profile;
q->param.mfx.TargetUsage = avctx->compression_level;
q->param.mfx.GopPicSize = FFMAX(0, avctx->gop_size);