avcodec/nvenc: Write buffPeriod/picTime SEI in both CBR modes
authorTimo Rothenpieler <timo@rothenpieler.org>
Wed, 11 May 2016 09:52:25 +0000 (11:52 +0200)
committerTimo Rothenpieler <timo@rothenpieler.org>
Wed, 11 May 2016 10:58:52 +0000 (12:58 +0200)
libavcodec/nvenc.c

index 4d4a647..104aea0 100644 (file)
@@ -796,13 +796,16 @@ static av_cold int nvenc_encode_init(AVCodecContext *avctx)
             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;
-                ctx->encode_config.encodeCodecConfig.h264Config.outputBufferingPeriodSEI = 1;
-                ctx->encode_config.encodeCodecConfig.h264Config.outputPictureTimingSEI = 1;
-            } else if(avctx->codec->id == AV_CODEC_ID_H265) {
-                ctx->encode_config.encodeCodecConfig.hevcConfig.outputBufferingPeriodSEI = 1;
-                ctx->encode_config.encodeCodecConfig.hevcConfig.outputPictureTimingSEI = 1;
             }
         }
+
+        if (avctx->codec->id == AV_CODEC_ID_H264) {
+            ctx->encode_config.encodeCodecConfig.h264Config.outputBufferingPeriodSEI = 1;
+            ctx->encode_config.encodeCodecConfig.h264Config.outputPictureTimingSEI = 1;
+        } else if(avctx->codec->id == AV_CODEC_ID_H265) {
+            ctx->encode_config.encodeCodecConfig.hevcConfig.outputBufferingPeriodSEI = 1;
+            ctx->encode_config.encodeCodecConfig.hevcConfig.outputPictureTimingSEI = 1;
+        }
     } else if (avctx->global_quality > 0) {
         ctx->encode_config.rcParams.rateControlMode = NV_ENC_PARAMS_RC_CONSTQP;
         ctx->encode_config.rcParams.constQP.qpInterB = avctx->global_quality;