Updated version of patch by Carl Eugen Hoyos:
https://patches.libav.org/patch/42533/
https://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=79209f5d6ca31c73260f1c5f5dbaa8395102d9f1

Works in limited testing.

---
 libavcodec/libx264.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c
index 6e707a867a850190677c9c778404c91a1d4e9390..8e19be47828a701db7dc46d56a40e2935c3e79d2 100644
--- a/libavcodec/libx264.c
+++ b/libavcodec/libx264.c
@@ -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
---
1.9.3 (Apple Git-50)
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to