libutvideoenc: Add support for the new BT.709 FourCCs for YCbCr

With cli usage the decoder might have not set the colorspace during
encoder init, manual colorspace override might be needed in such
cases.

Signed-off-by: Anton Khirnov <anton@khirnov.net>

This applies commit 5de64bb3 (the source of the above commit message)
to libutvideoenc as well.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Jan Ekström 2014-02-15 01:58:14 -05:00 committed by Michael Niedermayer
parent 2dcaa1b9d1
commit 40feed5248

View File

@ -44,12 +44,18 @@ static av_cold int utvideo_encode_init(AVCodecContext *avctx)
case AV_PIX_FMT_YUV420P:
in_format = UTVF_YV12;
avctx->bits_per_coded_sample = 12;
avctx->codec_tag = MKTAG('U', 'L', 'Y', '0');
if (avctx->colorspace == AVCOL_SPC_BT709)
avctx->codec_tag = MKTAG('U', 'L', 'H', '0');
else
avctx->codec_tag = MKTAG('U', 'L', 'Y', '0');
break;
case AV_PIX_FMT_YUYV422:
in_format = UTVF_YUYV;
avctx->bits_per_coded_sample = 16;
avctx->codec_tag = MKTAG('U', 'L', 'Y', '2');
if (avctx->colorspace == AVCOL_SPC_BT709)
avctx->codec_tag = MKTAG('U', 'L', 'H', '2');
else
avctx->codec_tag = MKTAG('U', 'L', 'Y', '2');
break;
case AV_PIX_FMT_BGR24:
in_format = UTVF_NFCC_BGR_BU;