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

Timo Rothenpieler git at videolan.org
Thu Dec 8 13:38:11 EET 2022


ffmpeg | branch: master | Timo Rothenpieler <timo at rothenpieler.org> | Thu Dec  8 12:31:00 2022 +0100| [9ca139b2aa1e25b87072d8321402fa200edb894d] | 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=9ca139b2aa1e25b87072d8321402fa200edb894d
---

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

diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index 8a776e5737..f6df7cb6ac 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -1114,8 +1114,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