mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-13 21:28:01 +02:00
avcodec/nvenc: zero avg and max bitrate in CQ mode
Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
This commit is contained in:
parent
7f76f20fa0
commit
0842fd2c25
@ -947,12 +947,17 @@ static av_cold void nvenc_setup_rate_control(AVCodecContext *avctx)
|
|||||||
if (ctx->zerolatency)
|
if (ctx->zerolatency)
|
||||||
ctx->encode_config.rcParams.zeroReorderDelay = 1;
|
ctx->encode_config.rcParams.zeroReorderDelay = 1;
|
||||||
|
|
||||||
if (ctx->quality)
|
if (ctx->quality) {
|
||||||
{
|
|
||||||
//convert from float to fixed point 8.8
|
//convert from float to fixed point 8.8
|
||||||
int tmp_quality = (int)(ctx->quality * 256.0f);
|
int tmp_quality = (int)(ctx->quality * 256.0f);
|
||||||
ctx->encode_config.rcParams.targetQuality = (uint8_t)(tmp_quality >> 8);
|
ctx->encode_config.rcParams.targetQuality = (uint8_t)(tmp_quality >> 8);
|
||||||
ctx->encode_config.rcParams.targetQualityLSB = (uint8_t)(tmp_quality & 0xff);
|
ctx->encode_config.rcParams.targetQualityLSB = (uint8_t)(tmp_quality & 0xff);
|
||||||
|
|
||||||
|
av_log(avctx, AV_LOG_VERBOSE, "CQ(%d) mode enabled.\n", tmp_quality);
|
||||||
|
|
||||||
|
//CQ mode shall discard max & avg bitrate;
|
||||||
|
avctx->bit_rate = ctx->encode_config.rcParams.averageBitRate = 0;
|
||||||
|
avctx->rc_max_rate = ctx->encode_config.rcParams.maxBitRate = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user