]> git.sesse.net Git - vlc/blobdiff - modules/video_chroma/i422_yuy2.c
Chroma modules now exactly implement the "video filter2" capability.
[vlc] / modules / video_chroma / i422_yuy2.c
index 058a010916b2ec3410507f25187e1c48c298ce2c..528ec6893f95e1e8739ec6a475b6d408d4be295d 100644 (file)
  *****************************************************************************/
 static int  Activate ( vlc_object_t * );
 
-static void I422_YUY2           ( filter_t *, picture_t *, picture_t * );
-static void I422_YVYU           ( filter_t *, picture_t *, picture_t * );
-static void I422_UYVY           ( filter_t *, picture_t *, picture_t * );
-static void I422_IUYV           ( filter_t *, picture_t *, picture_t * );
-static void I422_cyuv           ( filter_t *, picture_t *, picture_t * );
+static void I422_YUY2               ( filter_t *, picture_t *, picture_t * );
+static void I422_YVYU               ( filter_t *, picture_t *, picture_t * );
+static void I422_UYVY               ( filter_t *, picture_t *, picture_t * );
+static void I422_IUYV               ( filter_t *, picture_t *, picture_t * );
+static void I422_cyuv               ( filter_t *, picture_t *, picture_t * );
+static picture_t *I422_YUY2_Filter  ( filter_t *, picture_t * );
+static picture_t *I422_YVYU_Filter  ( filter_t *, picture_t * );
+static picture_t *I422_UYVY_Filter  ( filter_t *, picture_t * );
+static picture_t *I422_IUYV_Filter  ( filter_t *, picture_t * );
+static picture_t *I422_cyuv_Filter  ( filter_t *, picture_t * );
 #if defined (MODULE_NAME_IS_i422_yuy2)
-static void I422_Y211           ( filter_t *, picture_t *, picture_t * );
-static void I422_Y211           ( filter_t *, picture_t *, picture_t * );
+static void I422_Y211               ( filter_t *, picture_t *, picture_t * );
+static picture_t *I422_Y211_Filter  ( filter_t *, picture_t * );
 #endif
 
 /*****************************************************************************
@@ -65,14 +70,14 @@ static void I422_Y211           ( filter_t *, picture_t *, picture_t * );
 vlc_module_begin();
 #if defined (MODULE_NAME_IS_i422_yuy2)
     set_description( N_("Conversions from " SRC_FOURCC " to " DEST_FOURCC) );
-    set_capability( "chroma", 80 );
+    set_capability( "video filter2", 80 );
 #elif defined (MODULE_NAME_IS_i422_yuy2_mmx)
     set_description( N_("MMX conversions from " SRC_FOURCC " to " DEST_FOURCC) );
-    set_capability( "chroma", 100 );
+    set_capability( "video filter2", 100 );
     add_requirement( MMX );
 #elif defined (MODULE_NAME_IS_i422_yuy2_sse2)
     set_description( N_("SSE2 conversions from " SRC_FOURCC " to " DEST_FOURCC) );
-    set_capability( "chroma", 120 );
+    set_capability( "video filter2", 120 );
     add_requirement( SSE2 );
 #endif
     set_callbacks( Activate, NULL );
@@ -100,30 +105,30 @@ static int Activate( vlc_object_t *p_this )
             {
                 case VLC_FOURCC('Y','U','Y','2'):
                 case VLC_FOURCC('Y','U','N','V'):
-                    p_filter->pf_video_filter_io = I422_YUY2;
+                    p_filter->pf_video_filter = I422_YUY2_Filter;
                     break;
 
                 case VLC_FOURCC('Y','V','Y','U'):
-                    p_filter->pf_video_filter_io = I422_YVYU;
+                    p_filter->pf_video_filter = I422_YVYU_Filter;
                     break;
 
                 case VLC_FOURCC('U','Y','V','Y'):
                 case VLC_FOURCC('U','Y','N','V'):
                 case VLC_FOURCC('Y','4','2','2'):
-                    p_filter->pf_video_filter_io = I422_UYVY;
+                    p_filter->pf_video_filter = I422_UYVY_Filter;
                     break;
 
                 case VLC_FOURCC('I','U','Y','V'):
-                    p_filter->pf_video_filter_io = I422_IUYV;
+                    p_filter->pf_video_filter = I422_IUYV_Filter;
                     break;
 
                 case VLC_FOURCC('c','y','u','v'):
-                    p_filter->pf_video_filter_io = I422_cyuv;
+                    p_filter->pf_video_filter = I422_cyuv_Filter;
                     break;
 
 #if defined (MODULE_NAME_IS_i422_yuy2)
                 case VLC_FOURCC('Y','2','1','1'):
-                    p_filter->pf_video_filter_io = I422_Y211;
+                    p_filter->pf_video_filter = I422_Y211_Filter;
                     break;
 #endif
 
@@ -140,6 +145,15 @@ static int Activate( vlc_object_t *p_this )
 
 /* Following functions are local */
 
+VIDEO_FILTER_WRAPPER( I422_YUY2 )
+VIDEO_FILTER_WRAPPER( I422_YVYU )
+VIDEO_FILTER_WRAPPER( I422_UYVY )
+VIDEO_FILTER_WRAPPER( I422_IUYV )
+VIDEO_FILTER_WRAPPER( I422_cyuv )
+#if defined (MODULE_NAME_IS_i422_yuy2)
+VIDEO_FILTER_WRAPPER( I422_Y211 )
+#endif
+
 /*****************************************************************************
  * I422_YUY2: planar YUV 4:2:2 to packed YUY2 4:2:2
  *****************************************************************************/