libutvideoenc: Add support for the new BT.709 FourCCs for YCbCr
authorJan Ekström <jeebjp@gmail.com>
Sat, 15 Feb 2014 06:58:14 +0000 (01:58 -0500)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 3 Mar 2014 12:06:25 +0000 (13:06 +0100)
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>
libavcodec/libutvideoenc.cpp

index ad70669..f0d5619 100644 (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;