[FFmpeg-cvslog] avcodec/nvenc: Generate bufferingPeriod/pictureTiming SEI
Timo Rothenpieler
git at videolan.org
Wed May 11 10:52:36 CEST 2016
ffmpeg | branch: master | Timo Rothenpieler <timo at rothenpieler.org> | Wed May 11 10:34:31 2016 +0200| [3a9df7dfec89fadfee9e814e6adb2706908dffa4] | committer: Timo Rothenpieler
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.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3a9df7dfec89fadfee9e814e6adb2706908dffa4
---
libavcodec/nvenc.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index bcafc20..4d4a647 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -796,6 +796,11 @@ 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;
}
}
} else if (avctx->global_quality > 0) {
More information about the ffmpeg-cvslog
mailing list