X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvideo_chroma%2Fi422_yuy2.c;h=74eb2dc6955009ce0aa3ff5e24edbcc5004d9eb0;hb=6f2f2843bf82ef83ca2a597be8b57b4457be4989;hp=cf7bfc9a9e646f1110c196b6aaefa861f03abfd0;hpb=c5c06b64c806052086e5772d64e540a8db7e4a9b;p=vlc diff --git a/modules/video_chroma/i422_yuy2.c b/modules/video_chroma/i422_yuy2.c index cf7bfc9a9e..74eb2dc695 100644 --- a/modules/video_chroma/i422_yuy2.c +++ b/modules/video_chroma/i422_yuy2.c @@ -33,6 +33,7 @@ #include #include #include +#include #include "i422_yuy2.h" @@ -70,14 +71,15 @@ vlc_module_begin () #if defined (MODULE_NAME_IS_i422_yuy2) set_description( N_("Conversions from " SRC_FOURCC " to " DEST_FOURCC) ) set_capability( "video filter2", 80 ) +# define CPU_CAPABILITY 0 #elif defined (MODULE_NAME_IS_i422_yuy2_mmx) set_description( N_("MMX conversions from " SRC_FOURCC " to " DEST_FOURCC) ) set_capability( "video filter2", 100 ) - add_requirement( MMX ) +# define CPU_CAPABILITY CPU_CAPABILITY_MMX #elif defined (MODULE_NAME_IS_i422_yuy2_sse2) set_description( N_("SSE2 conversions from " SRC_FOURCC " to " DEST_FOURCC) ) set_capability( "video filter2", 120 ) - add_requirement( SSE2 ) +# define CPU_CAPABILITY CPU_CAPABILITY_SSE2 #endif set_callbacks( Activate, NULL ) vlc_module_end () @@ -91,6 +93,10 @@ static int Activate( vlc_object_t *p_this ) { filter_t *p_filter = (filter_t *)p_this; +#if CPU_CAPABILITY + if( !(vlc_CPU() & CPU_CAPABILITY) ) + return VLC_EGENERIC; +#endif if( p_filter->fmt_in.video.i_width & 1 || p_filter->fmt_in.video.i_height & 1 ) { @@ -114,6 +120,7 @@ static int Activate( vlc_object_t *p_this ) p_filter->pf_video_filter = I422_UYVY_Filter; break; + case VLC_FOURCC('I','U','Y','V'): p_filter->pf_video_filter = I422_IUYV_Filter; break;