4d930bded084f8d77936237b3bf9f3e5f309bf6a
[pkgsrcv2.git] / multimedia / ffmpeg / patches / patch-af
1 $NetBSD$
2
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.
6
7 --- libswscale/swscale.c.orig   Thu Jun  4 23:55:52 2009
8 +++ libswscale/swscale.c        Sun Mar 14 23:53:08 2010
9 @@ -221,7 +221,7 @@
10  write special BGR->BGR scaler
11  */
12  
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 @@
19  
20  #if ARCH_PPC
21  #if (HAVE_ALTIVEC || CONFIG_RUNTIME_CPUDETECT) && CONFIG_GPL
22 +#if !CONFIG_RUNTIME_CPUDETECT
23  #undef COMPILE_C
24 +#endif
25  #define COMPILE_ALTIVEC
26  #endif
27  #endif //ARCH_PPC
28  
29 -#if ARCH_X86
30 +#if ARCH_X86 && !defined(sun)
31  
32  #if ((HAVE_MMX && !HAVE_AMD3DNOW && !HAVE_MMX2) || CONFIG_RUNTIME_CPUDETECT) && CONFIG_GPL
33  #define COMPILE_MMX
34 @@ -1349,7 +1351,7 @@
35  #include "swscale_template.c"
36  #endif
37  
38 -#if ARCH_X86
39 +#if ARCH_X86 && !defined(sun)
40  
41  //MMX versions
42  #ifdef COMPILE_MMX
43 @@ -1417,7 +1419,7 @@
44      int64_t *filter2=NULL;
45      const int64_t fone= 1LL<<54;
46      int ret= -1;
47 -#if ARCH_X86
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)
51  #endif
52 @@ -1976,7 +1978,7 @@
53  #if CONFIG_RUNTIME_CPUDETECT && CONFIG_GPL
54      int flags = c->flags;
55  
56 -#if ARCH_X86
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);
61 @@ -2561,7 +2563,7 @@
62      int unscaled, needsDither;
63      int srcRange, dstRange;
64      SwsFilter dummyFilter= {NULL, NULL, NULL, NULL};
65 -#if ARCH_X86
66 +#if ARCH_X86 && !defined(sun)
67      if (flags & SWS_CPU_CAPS_MMX)
68          __asm__ volatile("emms\n\t"::: "memory");
69  #endif
70 @@ -3046,7 +3048,7 @@
71          }
72          else
73          {
74 -#if ARCH_X86
75 +#if ARCH_X86 && !defined(sun)
76              av_log(c, AV_LOG_VERBOSE, "using x86 asm scaler for horizontal scaling\n");
77  #else
78              if (flags & SWS_FAST_BILINEAR)
79 @@ -3555,7 +3557,7 @@
80      av_freep(&c->hLumFilterPos);
81      av_freep(&c->hChrFilterPos);
82  
83 -#if ARCH_X86 && CONFIG_GPL
84 +#if ARCH_X86 && CONFIG_GPL && !defined(sun)
85  #ifdef MAP_ANONYMOUS
86      if (c->funnyYCode ) munmap(c->funnyYCode , MAX_FUNNY_CODE_SIZE);
87      if (c->funnyUVCode) munmap(c->funnyUVCode, MAX_FUNNY_CODE_SIZE);