nvenc: allow setting the number of slices
authorAnton Khirnov <anton@khirnov.net>
Sat, 14 May 2016 14:47:55 +0000 (16:47 +0200)
committerAnton Khirnov <anton@khirnov.net>
Thu, 19 May 2016 12:17:04 +0000 (14:17 +0200)
Based on a patch by Agatha Hu <ahu@nvidia.com>

libavcodec/nvenc.c

index 2593ba4..1ff27a1 100644 (file)
@@ -618,6 +618,9 @@ static int nvenc_setup_h264_config(AVCodecContext *avctx)
     h264->maxNumRefFrames = avctx->refs;
     h264->idrPeriod       = cc->gopLength;
 
+    h264->sliceMode     = 3;
+    h264->sliceModeData = FFMAX(avctx->slices, 1);
+
     if (ctx->flags & NVENC_LOSSLESS)
         h264->qpPrimeYZeroTransformBypassFlag = 1;
 
@@ -693,6 +696,9 @@ static int nvenc_setup_hevc_config(AVCodecContext *avctx)
     cc->profileGUID = NV_ENC_HEVC_PROFILE_MAIN_GUID;
     avctx->profile  = FF_PROFILE_HEVC_MAIN;
 
+    hevc->sliceMode     = 3;
+    hevc->sliceModeData = FFMAX(avctx->slices, 1);
+
     if (ctx->level) {
         hevc->level = ctx->level;
     } else {