[FFmpeg-cvslog] nvenc: Remove qmin and qmax constraints for nvenc vbr
Ganapathy Kasi
git at videolan.org
Thu Oct 12 19:40:53 EEST 2017
ffmpeg | branch: master | Ganapathy Kasi <gkasi at nvidia.com> | Wed Mar 1 15:04:47 2017 -0800| [3303f86467efa99f23c670707f5be094cc9ce547] | committer: Luca Barbato
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 at gentoo.org>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3303f86467efa99f23c670707f5be094cc9ce547
---
libavcodec/nvenc.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index fcd496b93f..738a77ebc2 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -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);
}
More information about the ffmpeg-cvslog
mailing list