|
|
@ -791,7 +791,16 @@ static av_cold int nvenc_encode_init(AVCodecContext *avctx) |
|
|
|
avctx->qmin = -1; |
|
|
|
avctx->qmin = -1; |
|
|
|
avctx->qmax = -1; |
|
|
|
avctx->qmax = -1; |
|
|
|
} else if (avctx->qmin >= 0 && avctx->qmax >= 0) { |
|
|
|
} else if (avctx->qmin >= 0 && avctx->qmax >= 0) { |
|
|
|
ctx->encode_config.rcParams.rateControlMode = NV_ENC_PARAMS_RC_VBR; |
|
|
|
if (ctx->twopass == 1) { |
|
|
|
|
|
|
|
ctx->encode_config.rcParams.rateControlMode = NV_ENC_PARAMS_RC_2_PASS_VBR; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (avctx->codec->id == AV_CODEC_ID_H264) { |
|
|
|
|
|
|
|
ctx->encode_config.encodeCodecConfig.h264Config.adaptiveTransformMode = NV_ENC_H264_ADAPTIVE_TRANSFORM_ENABLE; |
|
|
|
|
|
|
|
ctx->encode_config.encodeCodecConfig.h264Config.fmoMode = NV_ENC_H264_FMO_DISABLE; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
ctx->encode_config.rcParams.rateControlMode = NV_ENC_PARAMS_RC_VBR; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
ctx->encode_config.rcParams.enableMinQP = 1; |
|
|
|
ctx->encode_config.rcParams.enableMinQP = 1; |
|
|
|
ctx->encode_config.rcParams.enableMaxQP = 1; |
|
|
|
ctx->encode_config.rcParams.enableMaxQP = 1; |
|
|
|