diff options
author | Luca Barbato <lu_zero@gentoo.org> | 2015-04-13 10:45:51 +0200 |
---|---|---|
committer | Luca Barbato <lu_zero@gentoo.org> | 2015-04-15 09:48:48 +0200 |
commit | ec89f35e3e5eb9ec5221266e801efeee7ecab4df (patch) | |
tree | c4763ca64a2461c60869a31c0d839d2998772852 /libavcodec | |
parent | 0cbb1473179d35d4eb9c9446c8ed84e197e5389b (diff) | |
download | ffmpeg-ec89f35e3e5eb9ec5221266e801efeee7ecab4df.tar.gz |
x265: Map color parameters
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/libx265.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index c04299aaf3..2fe7889465 100644 --- a/libavcodec/libx265.c +++ b/libavcodec/libx265.c @@ -124,6 +124,22 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx) ctx->params->sourceHeight = avctx->height; ctx->params->bEnablePsnr = !!(avctx->flags & CODEC_FLAG_PSNR); + if ((avctx->color_primaries <= AVCOL_PRI_BT2020 && + avctx->color_primaries != AVCOL_PRI_UNSPECIFIED) || + (avctx->color_trc <= AVCOL_TRC_BT2020_12 && + avctx->color_trc != AVCOL_TRC_UNSPECIFIED) || + (avctx->colorspace <= AVCOL_SPC_BT2020_CL && + avctx->colorspace != AVCOL_SPC_UNSPECIFIED)) { + + ctx->params->vui.bEnableVideoSignalTypePresentFlag = 1; + ctx->params->vui.bEnableColorDescriptionPresentFlag = 1; + + // x265 validates the parameters internally + ctx->params->vui.colorPrimaries = avctx->color_primaries; + ctx->params->vui.transferCharacteristics = avctx->color_trc; + ctx->params->vui.matrixCoeffs = avctx->colorspace; + } + if (avctx->sample_aspect_ratio.num > 0 && avctx->sample_aspect_ratio.den > 0) { char sar[12]; int sar_num, sar_den; |