use YUV440P in swscale
authorAndreas Öman <andreas@olebyn.nu>
Wed, 18 Jul 2007 08:12:40 +0000 (08:12 +0000)
committerBenoit Fouet <benoit.fouet@free.fr>
Wed, 18 Jul 2007 08:12:40 +0000 (08:12 +0000)
patch by Andreas Öman: \andreas olebyn nu/
original thread: [FFmpeg-devel] half vertical chroma resolution from JPEGs..
date: 07/03/2007 01:29 PM

Originally committed as revision 23811 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale

libswscale/swscale.c
libswscale/swscale_internal.h

index 349822a..7c2e025 100644 (file)
@@ -124,6 +124,7 @@ untested special converters
         || (x)==PIX_FMT_RGB8        \
         || (x)==PIX_FMT_BGR4_BYTE   \
         || (x)==PIX_FMT_RGB4_BYTE   \
+        || (x)==PIX_FMT_YUV440P     \
     )
 #define isSupportedOut(x)   (       \
            (x)==PIX_FMT_YUV420P     \
@@ -351,6 +352,8 @@ char *sws_format_name(enum PixelFormat format)
             return "nv12";
         case PIX_FMT_NV21:
             return "nv21";
+        case PIX_FMT_YUV440P:
+            return "yuv440p";
         default:
             return "Unknown format";
     }
@@ -1882,6 +1885,10 @@ static void getSubSampleFactors(int *h, int *v, int format){
         *h=1;
         *v=1;
         break;
+    case PIX_FMT_YUV440P:
+        *h=0;
+        *v=1;
+        break;
     case PIX_FMT_YUV410P:
         *h=2;
         *v=2;
@@ -2002,6 +2009,9 @@ static int handle_jpeg(int *format)
         case PIX_FMT_YUVJ444P:
             *format = PIX_FMT_YUV444P;
             return 1;
+        case PIX_FMT_YUVJ440P:
+            *format = PIX_FMT_YUV440P;
+            return 1;
         default:
             return 0;
     }
index bc0cff1..baebdf2 100644 (file)
@@ -193,6 +193,7 @@ char *sws_format_name(int format);
         || (x)==PIX_FMT_YUV411P     \
         || (x)==PIX_FMT_YUV422P     \
         || (x)==PIX_FMT_YUV444P     \
+        || (x)==PIX_FMT_YUV440P     \
         || (x)==PIX_FMT_NV12        \
         || (x)==PIX_FMT_NV21        \
     )