[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