]> git.sesse.net Git - ffmpeg/commitdiff
utvideoenc: Add support for the new BT.709 FourCCs for YCbCr
authorJan Ekström <jeebjp@gmail.com>
Sun, 2 Feb 2014 13:04:58 +0000 (15:04 +0200)
committerAnton Khirnov <anton@khirnov.net>
Tue, 4 Feb 2014 09:59:28 +0000 (10:59 +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>
libavcodec/utvideoenc.c

index dd8d07ebf8467c218374a1e37e8f75a366da6198..47a4f3a25f784cca1ea69eb66236ccacb19ee826 100644 (file)
@@ -83,7 +83,10 @@ static av_cold int utvideo_encode_init(AVCodecContext *avctx)
             return AVERROR_INVALIDDATA;
         }
         c->planes        = 3;
-        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');
         original_format  = UTVIDEO_420;
         break;
     case AV_PIX_FMT_YUV422P:
@@ -93,7 +96,10 @@ static av_cold int utvideo_encode_init(AVCodecContext *avctx)
             return AVERROR_INVALIDDATA;
         }
         c->planes        = 3;
-        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');
         original_format  = UTVIDEO_422;
         break;
     default: