void evas_common_convert_yuv_420p_601_rgba(DATA8 **src, DATA8 *dst, int w, int h) { int mmx, sse, sse2; #if defined BUILD_MMX || defined BUILD_SSE evas_common_cpu_can_do(&mmx, &sse, &sse2); #endif #ifndef BUILD_SSE sse = 0; sse2 = 0; #endif #ifndef BUILD_MMX mmx = 0; #endif if (evas_common_cpu_has_feature(CPU_FEATURE_MMX2)) _evas_yv12torgb_sse(src, dst, w, h); else if (evas_common_cpu_has_feature(CPU_FEATURE_MMX)) _evas_yv12torgb_mmx(src, dst, w, h); #ifdef BUILD_ALTIVEC if (evas_common_cpu_has_feature(CPU_FEATURE_ALTIVEC)) _evas_yv12torgb_altivec(src, dst, w, h); #endif else { #ifdef BUILD_C static int initted = 0; if (!initted) _evas_yuv_init(); initted = 1; /* FIXME: diz may be faster sometimes */ _evas_yv12torgb_raster(src, dst, w, h); #endif } }
void evas_common_convert_yuv_422p_601_rgba(DATA8 **src, DATA8 *dst, int w, int h) { if (!initted) _evas_yuv_init(); initted = 1; if (evas_common_cpu_has_feature(CPU_FEATURE_MMX2)) _evas_yv12torgb_sse(src, dst, w, h); else if (evas_common_cpu_has_feature(CPU_FEATURE_MMX)) _evas_yv12torgb_mmx(src, dst, w, h); #ifdef BUILD_ALTIVEC if (evas_common_cpu_has_feature(CPU_FEATURE_ALTIVEC)) _evas_yv12torgb_altivec(src, dst, w, h); #endif else _evas_yv12torgb_raster(src, dst, w, h); }