From 2156c4c300971e490b5ca463d78c87c383c2b9a2 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 12 May 2016 09:22:29 +0200 Subject: nvenc: write the VUI signal properties for HEVC Bump the API version requirement to 6. Based on a patch by Agatha Hu . --- libavcodec/nvenc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'libavcodec') diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c index d28b347c6b..ff852b10bb 100644 --- a/libavcodec/nvenc.c +++ b/libavcodec/nvenc.c @@ -652,6 +652,20 @@ static int nvenc_setup_hevc_config(AVCodecContext *avctx) NVENCContext *ctx = avctx->priv_data; NV_ENC_CONFIG *cc = &ctx->config; NV_ENC_CONFIG_HEVC *hevc = &cc->encodeCodecConfig.hevcConfig; + NV_ENC_CONFIG_HEVC_VUI_PARAMETERS *vui = &hevc->hevcVUIParameters; + + 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; + vui->transferCharacteristics = avctx->color_trc; + + vui->videoFullRangeFlag = avctx->color_range == AVCOL_RANGE_JPEG; + + vui->videoSignalTypePresentFlag = vui->colourDescriptionPresentFlag || + vui->videoFullRangeFlag; hevc->disableSPSPPS = (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) ? 1 : 0; hevc->repeatSPSPPS = (avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER) ? 0 : 1; -- cgit v1.2.3