libx264: Allow full-range yuv422 and yuv444 pixel formats
authorCarl Eugen Hoyos <cehoyos@ag.or.at>
Tue, 17 Mar 2015 13:29:05 +0000 (13:29 +0000)
committerVittorio Giovara <vittorio.giovara@gmail.com>
Tue, 17 Mar 2015 13:34:22 +0000 (13:34 +0000)
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
libavcodec/libx264.c

index 6e707a8..8e19be4 100644 (file)
@@ -290,8 +290,10 @@ static int convert_pix_fmt(enum AVPixelFormat pix_fmt)
     case AV_PIX_FMT_YUV420P9:
     case AV_PIX_FMT_YUV420P10: return X264_CSP_I420;
     case AV_PIX_FMT_YUV422P:
+    case AV_PIX_FMT_YUVJ422P:
     case AV_PIX_FMT_YUV422P10: return X264_CSP_I422;
     case AV_PIX_FMT_YUV444P:
+    case AV_PIX_FMT_YUVJ444P:
     case AV_PIX_FMT_YUV444P9:
     case AV_PIX_FMT_YUV444P10: return X264_CSP_I444;
     case AV_PIX_FMT_NV12:      return X264_CSP_NV12;
@@ -487,6 +489,8 @@ static av_cold int X264_init(AVCodecContext *avctx)
     x4->params.i_slice_count  = avctx->slices;
 
     x4->params.vui.b_fullrange = avctx->pix_fmt == AV_PIX_FMT_YUVJ420P ||
+                                 avctx->pix_fmt == AV_PIX_FMT_YUVJ422P ||
+                                 avctx->pix_fmt == AV_PIX_FMT_YUVJ444P ||
                                  avctx->color_range == AVCOL_RANGE_JPEG;
 
     if (avctx->flags & CODEC_FLAG_GLOBAL_HEADER)
@@ -554,7 +558,9 @@ static const enum AVPixelFormat pix_fmts_8bit[] = {
     AV_PIX_FMT_YUV420P,
     AV_PIX_FMT_YUVJ420P,
     AV_PIX_FMT_YUV422P,
+    AV_PIX_FMT_YUVJ422P,
     AV_PIX_FMT_YUV444P,
+    AV_PIX_FMT_YUVJ444P,
     AV_PIX_FMT_NV12,
     AV_PIX_FMT_NV16,
     AV_PIX_FMT_NONE