]> git.sesse.net Git - vlc/commitdiff
Added blending over J420.
authorLaurent Aimar <fenrir@videolan.org>
Sun, 30 Aug 2009 18:03:40 +0000 (20:03 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Sun, 30 Aug 2009 18:11:06 +0000 (20:11 +0200)
It is not exact with rgb blending.

modules/video_filter/blend.c

index 6ec3fb51d2bc4e797ebf74b5b40f25a4c86c19c5..06d5847d238e3f01a0a9d811a43ccec9a10994b9 100644 (file)
@@ -107,11 +107,14 @@ static int OpenFilter( vlc_object_t *p_this )
     if( ( in_chroma  != VLC_CODEC_YUVA && in_chroma  != VLC_CODEC_I420 &&
           in_chroma  != VLC_CODEC_YV12 && in_chroma  != VLC_CODEC_YUVP &&
           in_chroma  != VLC_CODEC_RGBA ) ||
-        ( out_chroma != VLC_CODEC_I420 && out_chroma != VLC_CODEC_YUYV &&
-          out_chroma != VLC_CODEC_YV12 && out_chroma != VLC_CODEC_UYVY &&
-          out_chroma != VLC_CODEC_YVYU && out_chroma != VLC_CODEC_RGB15 &&
-          out_chroma != VLC_CODEC_YVYU && out_chroma != VLC_CODEC_RGB16 &&
-          out_chroma != VLC_CODEC_RGB24 && out_chroma != VLC_CODEC_RGB32 ) )
+        ( out_chroma != VLC_CODEC_I420 && out_chroma != VLC_CODEC_J420 &&
+          out_chroma != VLC_CODEC_YV12 &&
+          out_chroma != VLC_CODEC_YUYV && out_chroma != VLC_CODEC_YVYU &&
+          out_chroma != VLC_CODEC_UYVY && out_chroma != VLC_CODEC_VYUY &&
+          out_chroma != VLC_CODEC_RGB15 &&
+          out_chroma != VLC_CODEC_RGB16 &&
+          out_chroma != VLC_CODEC_RGB24 &&
+          out_chroma != VLC_CODEC_RGB32 ) )
     {
         return VLC_EGENERIC;
     }
@@ -143,8 +146,8 @@ typedef void (*BlendFunction)( filter_t *,
                        picture_t *, const picture_t *,
                        int , int , int , int , int );
 
-#define VLC_CODEC_PLANAR_420 { VLC_CODEC_I420, VLC_CODEC_YV12, 0 }
-#define VLC_CODEC_PACKED_422 { VLC_CODEC_YUYV, VLC_CODEC_UYVY, VLC_CODEC_YVYU, 0 }
+#define VLC_CODEC_PLANAR_420 { VLC_CODEC_I420, VLC_CODEC_J420, VLC_CODEC_YV12, 0 }
+#define VLC_CODEC_PACKED_422 { VLC_CODEC_YUYV, VLC_CODEC_UYVY, VLC_CODEC_YVYU, VLC_CODEC_VYUY, 0 }
 #define VLC_CODEC_RGB_16 { VLC_CODEC_RGB15, VLC_CODEC_RGB16, 0 }
 #define VLC_CODEC_RGB_24 { VLC_CODEC_RGB24, VLC_CODEC_RGB32, 0 }
 
@@ -315,6 +318,7 @@ static void vlc_yuv_packed_index( int *pi_y, int *pi_u, int *pi_v, vlc_fourcc_t
         { VLC_CODEC_YUYV, 0, 1, 3 },
         { VLC_CODEC_UYVY, 1, 0, 2 },
         { VLC_CODEC_YVYU, 0, 3, 1 },
+        { VLC_CODEC_VYUY, 1, 2, 0 },
         { 0, 0, 0, 0 }
     };
     int i;