From f8c503d9270eaa16126b93fc41c7ab3b42b4dd2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Sluge=C5=88?= <thunder.m@email.cz> Date: Thu, 29 Dec 2016 22:10:52 +0100 Subject: [PATCH] avcodec/nvenc: round qpIntra and qpInter calculation Round qpIntra and qpInter calculation instead of old floor behavior. Adopted from vaapi_encode_h264.c Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org> --- libavcodec/nvenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index f64fd8a8ba3..3fd8482a5c7 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -544,9 +544,9 @@ static av_cold void set_vbr(AVCodecContext *avctx) if (avctx->i_quant_factor != 0.0 && avctx->b_quant_factor != 0.0) { rc->initialRCQP.qpIntra = av_clip( - qp_inter_p * fabs(avctx->i_quant_factor) + avctx->i_quant_offset, 0, 51); + qp_inter_p * fabs(avctx->i_quant_factor) + avctx->i_quant_offset + 0.5, 0, 51); rc->initialRCQP.qpInterB = av_clip( - qp_inter_p * fabs(avctx->b_quant_factor) + avctx->b_quant_offset, 0, 51); + qp_inter_p * fabs(avctx->b_quant_factor) + avctx->b_quant_offset + 0.5, 0, 51); } else { rc->initialRCQP.qpIntra = qp_inter_p; rc->initialRCQP.qpInterB = qp_inter_p; -- GitLab