X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvideo_chroma%2Fi422_yuy2.c;h=fc426ffbc714bec0542c1fd78ba22b8f531488c2;hb=c12acbd7d48431d7b5029d765e69e87378aca7a2;hp=058a010916b2ec3410507f25187e1c48c298ce2c;hpb=2e2178f773f3316cb9895e25eb14b8db70f9a414;p=vlc diff --git a/modules/video_chroma/i422_yuy2.c b/modules/video_chroma/i422_yuy2.c index 058a010916..fc426ffbc7 100644 --- a/modules/video_chroma/i422_yuy2.c +++ b/modules/video_chroma/i422_yuy2.c @@ -33,7 +33,6 @@ #include #include #include -#include #include "i422_yuy2.h" @@ -49,34 +48,37 @@ *****************************************************************************/ 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 /***************************************************************************** * Module descriptor *****************************************************************************/ -vlc_module_begin(); +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_description( N_("Conversions from " SRC_FOURCC " to " DEST_FOURCC) ) + 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 ); - add_requirement( MMX ); + set_description( N_("MMX conversions from " SRC_FOURCC " to " DEST_FOURCC) ) + set_capability( "video filter2", 100 ) #elif defined (MODULE_NAME_IS_i422_yuy2_sse2) - set_description( N_("SSE2 conversions from " SRC_FOURCC " to " DEST_FOURCC) ); - set_capability( "chroma", 120 ); - add_requirement( SSE2 ); + set_description( N_("SSE2 conversions from " SRC_FOURCC " to " DEST_FOURCC) ) + set_capability( "video filter2", 120 ) #endif - set_callbacks( Activate, NULL ); -vlc_module_end(); + set_callbacks( Activate, NULL ) +vlc_module_end () /***************************************************************************** * Activate: allocate a chroma function @@ -95,35 +97,31 @@ static int Activate( vlc_object_t *p_this ) switch( p_filter->fmt_in.video.i_chroma ) { - case VLC_FOURCC('I','4','2','2'): + case VLC_CODEC_I422: switch( p_filter->fmt_out.video.i_chroma ) { - case VLC_FOURCC('Y','U','Y','2'): - case VLC_FOURCC('Y','U','N','V'): - p_filter->pf_video_filter_io = I422_YUY2; + case VLC_CODEC_YUYV: + p_filter->pf_video_filter = I422_YUY2_Filter; break; - case VLC_FOURCC('Y','V','Y','U'): - p_filter->pf_video_filter_io = I422_YVYU; + case VLC_CODEC_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; + case VLC_CODEC_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; + case VLC_CODEC_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; + case VLC_CODEC_Y211: + p_filter->pf_video_filter = I422_Y211_Filter; break; #endif @@ -140,6 +138,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 *****************************************************************************/