Skip to content

Commit 3a9df7d

Browse files
committed
avcodec/nvenc: Generate bufferingPeriod/pictureTiming SEI
For some unknown reason enabling these causes propper CBR padding, so as there are no known downsides just always enable them in CBR mode.
1 parent c8c14d0 commit 3a9df7d

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

libavcodec/nvenc.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -796,6 +796,11 @@ static av_cold int nvenc_encode_init(AVCodecContext *avctx)
796796
if (avctx->codec->id == AV_CODEC_ID_H264) {
797797
ctx->encode_config.encodeCodecConfig.h264Config.adaptiveTransformMode = NV_ENC_H264_ADAPTIVE_TRANSFORM_ENABLE;
798798
ctx->encode_config.encodeCodecConfig.h264Config.fmoMode = NV_ENC_H264_FMO_DISABLE;
799+
ctx->encode_config.encodeCodecConfig.h264Config.outputBufferingPeriodSEI = 1;
800+
ctx->encode_config.encodeCodecConfig.h264Config.outputPictureTimingSEI = 1;
801+
} else if(avctx->codec->id == AV_CODEC_ID_H265) {
802+
ctx->encode_config.encodeCodecConfig.hevcConfig.outputBufferingPeriodSEI = 1;
803+
ctx->encode_config.encodeCodecConfig.hevcConfig.outputPictureTimingSEI = 1;
799804
}
800805
}
801806
} else if (avctx->global_quality > 0) {

0 commit comments

Comments
 (0)