[FFmpeg-cvslog] avcodec/nvenc: fix vbv buffer size in cq mode

Timo Rothenpieler git at videolan.org
Thu Dec 8 13:40:16 EET 2022


ffmpeg | branch: release/4.3 | Timo Rothenpieler <timo at rothenpieler.org> | Thu Dec  8 12:31:00 2022 +0100| [540b9826b3859e35a2df330a5912311843708e7c] | committer: Timo Rothenpieler

avcodec/nvenc: fix vbv buffer size in cq mode

The CQ calculation gets thrown off and behaves very nonsensical
if it isn't set to 0.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=540b9826b3859e35a2df330a5912311843708e7c
---

 libavcodec/nvenc.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index 03fdd70029..bea4b5538c 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -956,8 +956,9 @@ static av_cold void nvenc_setup_rate_control(AVCodecContext *avctx)
 
         av_log(avctx, AV_LOG_VERBOSE, "CQ(%d) mode enabled.\n", tmp_quality);
 
-        //CQ mode shall discard avg bitrate & honor max bitrate;
+        // CQ mode shall discard avg bitrate/vbv buffer size and honor only max bitrate
         ctx->encode_config.rcParams.averageBitRate = avctx->bit_rate = 0;
+        ctx->encode_config.rcParams.vbvBufferSize = avctx->rc_buffer_size = 0;
         ctx->encode_config.rcParams.maxBitRate = avctx->rc_max_rate;
     }
 }



More information about the ffmpeg-cvslog mailing list