swscale: support endianness conversion for AV_PIX_FMT_XYZ12
authorJanne Grunau <janne-libav@jannau.net>
Fri, 26 Apr 2013 12:47:50 +0000 (14:47 +0200)
committerJanne Grunau <janne-libav@jannau.net>
Mon, 6 May 2013 19:48:14 +0000 (21:48 +0200)
libswscale/swscale_unscaled.c
libswscale/utils.c

index a994d6f..433dbdb 100644 (file)
@@ -1030,7 +1030,8 @@ void ff_get_unscaled_swscale(SwsContext *c)
         IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB444) ||
         IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB48)  ||
         IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB555) ||
-        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB565))
+        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_RGB565) ||
+        IS_DIFFERENT_ENDIANESS(srcFormat, dstFormat, AV_PIX_FMT_XYZ12))
         c->swScale = packed_16bpc_bswap;
 
     if ((usePal(srcFormat) && (
index 538a3df..e20a5f1 100644 (file)
@@ -172,6 +172,8 @@ static const FormatEntry format_entries[AV_PIX_FMT_NB] = {
     [AV_PIX_FMT_GBRP10BE]    = { 1, 1 },
     [AV_PIX_FMT_GBRP16LE]    = { 1, 0 },
     [AV_PIX_FMT_GBRP16BE]    = { 1, 0 },
+    [AV_PIX_FMT_XYZ12BE]     = { 0, 0, 1 },
+    [AV_PIX_FMT_XYZ12LE]     = { 0, 0, 1 },
 };
 
 int sws_isSupportedInput(enum AVPixelFormat pix_fmt)