From 0fc29f2708afa4bf01014667d668376e2261e0fa Mon Sep 17 00:00:00 2001 From: Ramiro Polla Date: Wed, 25 Aug 2010 14:39:11 +0000 Subject: [PATCH] swscale: simplify selection of optimizations to compile. Originally committed as revision 32013 to svn://svn.mplayerhq.hu/mplayer/trunk/libswscale --- libswscale/swscale.c | 48 +++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/libswscale/swscale.c b/libswscale/swscale.c index fd4b3ddd44..118816a5df 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -1150,31 +1150,33 @@ static inline void monoblack2Y(uint8_t *dst, const uint8_t *src, long width, uin //Note: we have C, MMX, MMX2, 3DNOW versions, there is no 3DNOW+MMX2 one //Plain C versions -#if (!HAVE_MMX && !HAVE_ALTIVEC) || CONFIG_RUNTIME_CPUDETECT -#define COMPILE_C 1 +#if CONFIG_RUNTIME_CPUDETECT +# define COMPILE_C 1 +# if ARCH_X86 +# define COMPILE_MMX HAVE_MMX +# define COMPILE_MMX2 HAVE_MMX2 +# define COMPILE_3DNOW HAVE_AMD3DNOW +# elif ARCH_PPC +# define COMPILE_ALTIVEC HAVE_ALTIVEC +# endif +#else /* CONFIG_RUNTIME_CPUDETECT */ +# if ARCH_X86 +# if HAVE_MMX2 +# define COMPILE_MMX2 1 +# elif HAVE_AMD3DNOW +# define COMPILE_3DNOW 1 +# elif HAVE_MMX +# define COMPILE_MMX 1 +# else +# define COMPILE_C 1 +# endif +# elif ARCH_PPC && HAVE_ALTIVEC +# define COMPILE_ALTIVEC 1 +# else +# define COMPILE_C 1 +# endif #endif -#if ARCH_PPC -#if HAVE_ALTIVEC -#define COMPILE_ALTIVEC 1 -#endif -#endif //ARCH_PPC - -#if ARCH_X86 - -#if (HAVE_MMX && !HAVE_AMD3DNOW && !HAVE_MMX2) || CONFIG_RUNTIME_CPUDETECT -#define COMPILE_MMX 1 -#endif - -#if HAVE_MMX2 || CONFIG_RUNTIME_CPUDETECT -#define COMPILE_MMX2 1 -#endif - -#if (HAVE_AMD3DNOW && !HAVE_MMX2) || CONFIG_RUNTIME_CPUDETECT -#define COMPILE_3DNOW 1 -#endif -#endif //ARCH_X86 - #ifndef COMPILE_C # define COMPILE_C 0 #endif