[FFmpeg-devel] [PATCH] lavc/vaapi_encode: convert from lambda to qp
Xiang, Haihao
haihao.xiang at intel.com
Mon Apr 1 09:09:11 EEST 2024
On Do, 2024-03-28 at 14:55 +0800, Xiang, Haihao wrote:
> From: Haihao Xiang <haihao.xiang at intel.com>
>
> When AV_CODEC_FLAG_QSCALE is set, the value of avctx->global_quality is
> lambda.
>
> Signed-off-by: Haihao Xiang <haihao.xiang at intel.com>
> ---
> libavcodec/vaapi_encode.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/vaapi_encode.c b/libavcodec/vaapi_encode.c
> index 940f0678a5..8b53095d61 100644
> --- a/libavcodec/vaapi_encode.c
> +++ b/libavcodec/vaapi_encode.c
> @@ -1961,7 +1961,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; "
Will apply,
- Haihao
More information about the ffmpeg-devel
mailing list