aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/nvenc.c
diff options
context:
space:
mode:
authorTimo Rothenpieler <timo@rothenpieler.org>2022-12-08 12:31:00 +0100
committerTimo Rothenpieler <timo@rothenpieler.org>2022-12-08 12:31:02 +0100
commit9ca139b2aa1e25b87072d8321402fa200edb894d (patch)
treef67bbd5bed784008ee8aeca2c75b5d8ee451604e /libavcodec/nvenc.c
parentb62940bec388e1810d946457bc8127d5be76724c (diff)
downloadffmpeg-9ca139b2aa1e25b87072d8321402fa200edb894d.tar.gz
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.
Diffstat (limited to 'libavcodec/nvenc.c')
-rw-r--r--libavcodec/nvenc.c3
1 files changed, 2 insertions, 1 deletions
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;
}
}