Browse Source

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>
tags/n2.3
Jan Ekström Michael Niedermayer 12 years ago
parent
commit
40feed5248
1 changed files with 8 additions and 2 deletions
  1. +8
    -2
      libavcodec/libutvideoenc.cpp

+ 8
- 2
libavcodec/libutvideoenc.cpp 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;


Loading…
Cancel
Save