|
|
|
@@ -1301,7 +1301,7 @@ 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 || !CONFIG_GPL |
|
|
|
#if ((!HAVE_MMX || !CONFIG_GPL) && !HAVE_ALTIVEC) || CONFIG_RUNTIME_CPUDETECT |
|
|
|
#define COMPILE_C |
|
|
|
#endif |
|
|
|
|
|
|
|
@@ -1972,10 +1972,10 @@ static void globalInit(void){ |
|
|
|
|
|
|
|
static SwsFunc getSwsFunc(SwsContext *c) |
|
|
|
{ |
|
|
|
#if CONFIG_RUNTIME_CPUDETECT && CONFIG_GPL |
|
|
|
#if CONFIG_RUNTIME_CPUDETECT |
|
|
|
int flags = c->flags; |
|
|
|
|
|
|
|
#if ARCH_X86 |
|
|
|
#if ARCH_X86 && CONFIG_GPL |
|
|
|
// ordered per speed fastest first |
|
|
|
if (flags & SWS_CPU_CAPS_MMX2) { |
|
|
|
sws_init_swScale_MMX2(c); |
|
|
|
@@ -2003,7 +2003,7 @@ static SwsFunc getSwsFunc(SwsContext *c) |
|
|
|
#endif |
|
|
|
sws_init_swScale_C(c); |
|
|
|
return swScale_C; |
|
|
|
#endif /* ARCH_X86 */ |
|
|
|
#endif /* ARCH_X86 && CONFIG_GPL */ |
|
|
|
#else //CONFIG_RUNTIME_CPUDETECT |
|
|
|
#if HAVE_MMX2 |
|
|
|
sws_init_swScale_MMX2(c); |
|
|
|
@@ -2565,7 +2565,7 @@ SwsContext *sws_getContext(int srcW, int srcH, enum PixelFormat srcFormat, int d |
|
|
|
__asm__ volatile("emms\n\t"::: "memory"); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if !CONFIG_RUNTIME_CPUDETECT || !CONFIG_GPL //ensure that the flags match the compiled variant if cpudetect is off |
|
|
|
#if !CONFIG_RUNTIME_CPUDETECT //ensure that the flags match the compiled variant if cpudetect is off |
|
|
|
flags &= ~(SWS_CPU_CAPS_MMX|SWS_CPU_CAPS_MMX2|SWS_CPU_CAPS_3DNOW|SWS_CPU_CAPS_ALTIVEC|SWS_CPU_CAPS_BFIN); |
|
|
|
#if HAVE_MMX2 |
|
|
|
flags |= SWS_CPU_CAPS_MMX|SWS_CPU_CAPS_MMX2; |
|
|
|
|