aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaihao Xiang <haihao.xiang@intel.com>2024-03-28 14:55:57 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2024-04-03 10:26:33 +0800
commit1590a96adc28a150ad641080262499f58158ee24 (patch)
tree74e76e55d828a2f91b6a44bbfeaaf62c9c12c644
parent09377887df4bb74c4be0c44a610a33bc04895274 (diff)
downloadffmpeg-1590a96adc28a150ad641080262499f58158ee24.tar.gz
lavc/vaapi_encode: convert from lambda to qp
When AV_CODEC_FLAG_QSCALE is set, the value of avctx->global_quality is lambda. Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
-rw-r--r--libavcodec/vaapi_encode.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c
index 5917006eda..f54b2579ec 100644
--- a/libavcodec/vaapi_encode.c
+++ b/libavcodec/vaapi_encode.c
@@ -1970,7 +1970,10 @@ rc_mode_found:
if (ctx->explicit_qp) {
rc_quality = ctx->explicit_qp;
} else if (avctx->global_quality > 0) {
- rc_quality = avctx->global_quality;
+ if (avctx->flags & AV_CODEC_FLAG_QSCALE)
+ rc_quality = avctx->global_quality / FF_QP2LAMBDA;
+ else
+ rc_quality = avctx->global_quality;
} else {
rc_quality = ctx->codec->default_quality;
av_log(avctx, AV_LOG_WARNING, "No quality level set; "