3 1.) Fixes pkg/42000, not necessary after the next upgrade.
4 2.) Really turn AMD 3DNow (and MMX, etc.) because the shared library
5 will otherwise not work on Intel CPUs.
7 --- libswscale/swscale.c.orig Thu Jun 4 23:55:52 2009
8 +++ libswscale/swscale.c Sun Mar 14 23:53:08 2010
10 write special BGR->BGR scaler
13 -#if ARCH_X86 && CONFIG_GPL
14 +#if ARCH_X86 && CONFIG_GPL && !defined(sun)
15 DECLARE_ASM_CONST(8, uint64_t, bF8)= 0xF8F8F8F8F8F8F8F8LL;
16 DECLARE_ASM_CONST(8, uint64_t, bFC)= 0xFCFCFCFCFCFCFCFCLL;
17 DECLARE_ASM_CONST(8, uint64_t, w10)= 0x0010001000100010LL;
18 @@ -1307,12 +1307,14 @@
21 #if (HAVE_ALTIVEC || CONFIG_RUNTIME_CPUDETECT) && CONFIG_GPL
22 +#if !CONFIG_RUNTIME_CPUDETECT
25 #define COMPILE_ALTIVEC
30 +#if ARCH_X86 && !defined(sun)
32 #if ((HAVE_MMX && !HAVE_AMD3DNOW && !HAVE_MMX2) || CONFIG_RUNTIME_CPUDETECT) && CONFIG_GPL
35 #include "swscale_template.c"
39 +#if ARCH_X86 && !defined(sun)
44 int64_t *filter2=NULL;
45 const int64_t fone= 1LL<<54;
48 +#if ARCH_X86 && !defined(sun)
49 if (flags & SWS_CPU_CAPS_MMX)
50 __asm__ volatile("emms\n\t"::: "memory"); //FIXME this should not be required but it IS (even for non-MMX versions)
53 #if CONFIG_RUNTIME_CPUDETECT && CONFIG_GPL
57 +#if ARCH_X86 && !defined(sun)
58 // ordered per speed fastest first
59 if (flags & SWS_CPU_CAPS_MMX2) {
60 sws_init_swScale_MMX2(c);
62 int unscaled, needsDither;
63 int srcRange, dstRange;
64 SwsFilter dummyFilter= {NULL, NULL, NULL, NULL};
66 +#if ARCH_X86 && !defined(sun)
67 if (flags & SWS_CPU_CAPS_MMX)
68 __asm__ volatile("emms\n\t"::: "memory");
75 +#if ARCH_X86 && !defined(sun)
76 av_log(c, AV_LOG_VERBOSE, "using x86 asm scaler for horizontal scaling\n");
78 if (flags & SWS_FAST_BILINEAR)
80 av_freep(&c->hLumFilterPos);
81 av_freep(&c->hChrFilterPos);
83 -#if ARCH_X86 && CONFIG_GPL
84 +#if ARCH_X86 && CONFIG_GPL && !defined(sun)
86 if (c->funnyYCode ) munmap(c->funnyYCode , MAX_FUNNY_CODE_SIZE);
87 if (c->funnyUVCode) munmap(c->funnyUVCode, MAX_FUNNY_CODE_SIZE);