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 } }
EAPI void evas_common_blend_init(void) { static int gfx_initialised = 0; static int mmx = 0; static int sse = 0; static int sse2 = 0; RGBA_Gfx_Compositor *comp; if (gfx_initialised) return; gfx_initialised = 1; evas_common_cpu_can_do(&mmx, &sse, &sse2); comp = evas_common_gfx_compositor_copy_get(); if (comp) comp->init(); comp = evas_common_gfx_compositor_copy_rel_get(); if (comp) comp->init(); comp = evas_common_gfx_compositor_blend_get(); if (comp) comp->init(); comp = evas_common_gfx_compositor_blend_rel_get(); if (comp) comp->init(); /* comp = evas_common_gfx_compositor_add_get(); if (comp) comp->init(); comp = evas_common_gfx_compositor_add_rel_get(); if (comp) comp->init(); comp = evas_common_gfx_compositor_sub_get(); if (comp) comp->init(); comp = evas_common_gfx_compositor_sub_rel_get(); if (comp) comp->init(); */ comp = evas_common_gfx_compositor_mask_get(); if (comp) comp->init(); comp = evas_common_gfx_compositor_mul_get(); if (comp) comp->init(); }