From a1df7865039b8a7743f9067300c0b367db50a727 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 12 May 2016 09:20:19 +0200 Subject: nvenc: only write the VUI signal type fields if they are set Based on a patch by Agatha Hu . --- libavcodec/nvenc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index 283a71c294..d28b347c6b 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -588,8 +588,9 @@ static int nvenc_setup_h264_config(AVCodecContext *avctx) NV_ENC_CONFIG_H264 *h264 = &cc->encodeCodecConfig.h264Config; NV_ENC_CONFIG_H264_VUI_PARAMETERS *vui = &h264->h264VUIParameters; - vui->colourDescriptionPresentFlag = 1; - vui->videoSignalTypePresentFlag = 1; + vui->colourDescriptionPresentFlag = avctx->colorspace != AVCOL_SPC_UNSPECIFIED || + avctx->color_primaries != AVCOL_PRI_UNSPECIFIED || + avctx->color_trc != AVCOL_TRC_UNSPECIFIED; vui->colourMatrix = avctx->colorspace; vui->colourPrimaries = avctx->color_primaries; @@ -597,6 +598,9 @@ static int nvenc_setup_h264_config(AVCodecContext *avctx) vui->videoFullRangeFlag = avctx->color_range == AVCOL_RANGE_JPEG; + vui->videoSignalTypePresentFlag = vui->colourDescriptionPresentFlag || + vui->videoFullRangeFlag; + h264->disableSPSPPS = (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) ? 1 : 0; h264->repeatSPSPPS = (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) ? 0 : 1; h264->outputAUD = 1; -- cgit v1.2.3