Browse Source

nvenc: Remove qmin and qmax constraints for nvenc vbr

qmin and qmax are not necessary for nvenc vbr.

Also fix for using 2 pass vbr mode for slow preset through ctx->flag NVENC_TWO_PASSES.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
tags/n4.0
Ganapathy Kasi Luca Barbato 8 years ago
parent
commit
3303f86467
1 changed files with 7 additions and 8 deletions
  1. +7
    -8
      libavcodec/nvenc.c

+ 7
- 8
libavcodec/nvenc.c View File

@@ -559,12 +559,8 @@ static void nvenc_override_rate_control(AVCodecContext *avctx,
return;
case NV_ENC_PARAMS_RC_2_PASS_VBR:
case NV_ENC_PARAMS_RC_VBR:
if (avctx->qmin < 0 && avctx->qmax < 0) {
av_log(avctx, AV_LOG_WARNING,
"The variable bitrate rate-control requires "
"the 'qmin' and/or 'qmax' option set.\n");
return;
}
set_vbr(avctx, rc);
break;
case NV_ENC_PARAMS_RC_VBR_MINQP:
if (avctx->qmin < 0) {
av_log(avctx, AV_LOG_WARNING,
@@ -606,8 +602,11 @@ static void nvenc_setup_rate_control(AVCodecContext *avctx)
set_lossless(avctx, rc);
} else if (avctx->global_quality > 0) {
set_constqp(avctx, rc);
} else if (avctx->qmin >= 0 && avctx->qmax >= 0) {
rc->rateControlMode = NV_ENC_PARAMS_RC_VBR;
} else {
if (ctx->flags & NVENC_TWO_PASSES)
rc->rateControlMode = NV_ENC_PARAMS_RC_2_PASS_VBR;
else
rc->rateControlMode = NV_ENC_PARAMS_RC_VBR;
set_vbr(avctx, rc);
}



Loading…
Cancel
Save