libmpeg2: Remove local quantizer scale changes related to postprocessing.
[mplayer.git] / libmpeg2 / libmpeg2_changes.diff
1 --- libmpeg2/cpu_accel.c        2006-06-16 20:12:26.000000000 +0200
2 +++ libmpeg2/cpu_accel.c        2006-06-16 20:12:50.000000000 +0200
3 @@ -29,9 +33,13 @@
4  #include "attributes.h"
5  #include "mpeg2_internal.h"
6
7 +#include "cpudetect.h"
8 +
9 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
10 +#if ARCH_X86 || ARCH_X86_64
11  static inline uint32_t arch_accel (uint32_t accel)
12  {
13 +/* Use MPlayer CPU detection instead of libmpeg2 variant. */
14 +#if 0
15      if (accel & (MPEG2_ACCEL_X86_3DNOW | MPEG2_ACCEL_X86_MMXEXT))
16         accel |= MPEG2_ACCEL_X86_MMX;
17
18 @@ -124,6 +132,21 @@
19  #endif /* ACCEL_DETECT */
20
21      return accel;
22 +
23 +#else /* 0 */
24 +    accel = 0;
25 +    if (gCpuCaps.hasMMX)
26 +        accel |= MPEG2_ACCEL_X86_MMX;
27 +    if (gCpuCaps.hasSSE2)
28 +       accel |= MPEG2_ACCEL_X86_SSE2;
29 +    if (gCpuCaps.hasMMX2)
30 +       accel |= MPEG2_ACCEL_X86_MMXEXT;
31 +    if (gCpuCaps.has3DNow)
32 +       accel |= MPEG2_ACCEL_X86_3DNOW;
33 +
34 +    return accel;
35 +
36 +#endif /* 0 */
37  }
38  #endif /* ARCH_X86 || ARCH_X86_64 */
39
40 @@ -127,7 +150,7 @@
41  }
42  #endif /* ARCH_X86 || ARCH_X86_64 */
43
44 -#if defined(ACCEL_DETECT) && (defined(ARCH_PPC) || defined(ARCH_SPARC))
45 +#if defined(ACCEL_DETECT) && (ARCH_PPC || ARCH_SPARC)
46  #include <signal.h>
47  #include <setjmp.h>
48
49 @@ -146,7 +169,7 @@
50  }
51  #endif /* ACCEL_DETECT && (ARCH_PPC || ARCH_SPARC) */
52
53 -#ifdef ARCH_PPC
54 +#if ARCH_PPC
55  static uint32_t arch_accel (uint32_t accel)
56  {
57  #ifdef ACCEL_DETECT
58 @@ -183,7 +206,7 @@
59  }
60  #endif /* ARCH_PPC */
61
62 -#ifdef ARCH_SPARC
63 +#if ARCH_SPARC
64  static uint32_t arch_accel (uint32_t accel)
65  {
66      if (accel & MPEG2_ACCEL_SPARC_VIS2)
67 @@ -229,7 +252,7 @@
68  }
69  #endif /* ARCH_SPARC */
70
71 -#ifdef ARCH_ALPHA
72 +#if ARCH_ALPHA
73  static inline uint32_t arch_accel (uint32_t accel)
74  {
75      if (accel & MPEG2_ACCEL_ALPHA_MVI)
76 @@ -253,7 +276,7 @@
77
78  uint32_t mpeg2_detect_accel (uint32_t accel)
79  {
80 -#if defined (ARCH_X86) || defined (ARCH_X86_64) || defined (ARCH_PPC) || defined (ARCH_ALPHA) || defined (ARCH_SPARC)
81 +#if ARCH_X86 || ARCH_X86_64 || ARCH_PPC || ARCH_ALPHA || ARCH_SPARC
82      accel = arch_accel (accel);
83  #endif
84      return accel;
85 Index: libmpeg2/cpu_state.c
86 ===================================================================
87 --- libmpeg2/cpu_state.c        (revision 28324)
88 +++ libmpeg2/cpu_state.c        (revision 28325)
89 @@ -29,21 +29,21 @@
90  #include "mpeg2.h"
91  #include "attributes.h"
92  #include "mpeg2_internal.h"
93 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
94 +#if ARCH_X86 || ARCH_X86_64
95  #include "mmx.h"
96  #endif
97
98  void (* mpeg2_cpu_state_save) (cpu_state_t * state) = NULL;
99  void (* mpeg2_cpu_state_restore) (cpu_state_t * state) = NULL;
100
101 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
102 +#if ARCH_X86 || ARCH_X86_64
103  static void state_restore_mmx (cpu_state_t * state)
104  {
105      emms ();
106  }
107  #endif
108
109 -#ifdef ARCH_PPC
110 +#if ARCH_PPC
111  #if defined(__APPLE_CC__)      /* apple */
112  #define LI(a,b) "li r" #a "," #b "\n\t"
113  #define STVX0(a,b,c) "stvx v" #a ",0,r" #c "\n\t"
114 @@ -115,12 +115,12 @@
115
116  void mpeg2_cpu_state_init (uint32_t accel)
117  {
118 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
119 +#if ARCH_X86 || ARCH_X86_64
120      if (accel & MPEG2_ACCEL_X86_MMX) {
121         mpeg2_cpu_state_restore = state_restore_mmx;
122      }
123  #endif
124 -#ifdef ARCH_PPC
125 +#if ARCH_PPC
126      if (accel & MPEG2_ACCEL_PPC_ALTIVEC) {
127         mpeg2_cpu_state_save = state_save_altivec;
128         mpeg2_cpu_state_restore = state_restore_altivec;
129 --- libmpeg2/idct.c     (revision 26652)
130 +++ libmpeg2/idct.c     (working copy)
131 @@ -235,34 +239,40 @@
132
133  void mpeg2_idct_init (uint32_t accel)
134  {
135 -#ifdef ARCH_X86
136 +#if HAVE_SSE2
137      if (accel & MPEG2_ACCEL_X86_SSE2) {
138         mpeg2_idct_copy = mpeg2_idct_copy_sse2;
139         mpeg2_idct_add = mpeg2_idct_add_sse2;
140         mpeg2_idct_mmx_init ();
141 -    } else if (accel & MPEG2_ACCEL_X86_MMXEXT) {
142 +    } else
143 +#elif HAVE_MMX2
144 +    if (accel & MPEG2_ACCEL_X86_MMXEXT) {
145         mpeg2_idct_copy = mpeg2_idct_copy_mmxext;
146         mpeg2_idct_add = mpeg2_idct_add_mmxext;
147         mpeg2_idct_mmx_init ();
148 -    } else if (accel & MPEG2_ACCEL_X86_MMX) {
149 +    } else
150 +#elif HAVE_MMX
151 +    if (accel & MPEG2_ACCEL_X86_MMX) {
152         mpeg2_idct_copy = mpeg2_idct_copy_mmx;
153         mpeg2_idct_add = mpeg2_idct_add_mmx;
154         mpeg2_idct_mmx_init ();
155      } else
156  #endif
157 -#ifdef ARCH_PPC
158 +#if HAVE_ALTIVEC
159      if (accel & MPEG2_ACCEL_PPC_ALTIVEC) {
160         mpeg2_idct_copy = mpeg2_idct_copy_altivec;
161         mpeg2_idct_add = mpeg2_idct_add_altivec;
162         mpeg2_idct_altivec_init ();
163      } else
164  #endif
165 -#ifdef ARCH_ALPHA
166 +#if HAVE_MVI
167      if (accel & MPEG2_ACCEL_ALPHA_MVI) {
168         mpeg2_idct_copy = mpeg2_idct_copy_mvi;
169         mpeg2_idct_add = mpeg2_idct_add_mvi;
170         mpeg2_idct_alpha_init ();
171 -    } else if (accel & MPEG2_ACCEL_ALPHA) {
172 +    } else
173 +#elif ARCH_ALPHA
174 +    if (accel & MPEG2_ACCEL_ALPHA) {
175         int i;
176
177         mpeg2_idct_copy = mpeg2_idct_copy_alpha;
178 Index: libmpeg2/idct_alpha.c
179 ===================================================================
180 --- libmpeg2/idct_alpha.c       (revision 28324)
181 +++ libmpeg2/idct_alpha.c       (revision 28325)
182 @@ -24,7 +24,7 @@
183
184  #include "config.h"
185
186 -#ifdef ARCH_ALPHA
187 +#if ARCH_ALPHA
188
189  #include <stdlib.h>
190  #include <inttypes.h>
191 Index: libmpeg2/idct_altivec.c
192 ===================================================================
193 --- libmpeg2/idct_altivec.c     (revision 28324)
194 +++ libmpeg2/idct_altivec.c     (revision 28325)
195 @@ -23,7 +23,7 @@
196
197  #include "config.h"
198
199 -#ifdef ARCH_PPC
200 +#if ARCH_PPC
201
202  #ifdef HAVE_ALTIVEC_H
203  #include <altivec.h>
204 Index: libmpeg2/idct_mmx.c
205 ===================================================================
206 --- libmpeg2/idct_mmx.c (revision 28324)
207 +++ libmpeg2/idct_mmx.c (revision 28325)
208 @@ -23,7 +23,7 @@
209
210  #include "config.h"
211
212 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
213 +#if ARCH_X86 || ARCH_X86_64
214
215  #include <inttypes.h>
216
217 --- libmpeg2/motion_comp.c      2006-06-16 20:12:26.000000000 +0200
218 +++ libmpeg2/motion_comp.c      2006-06-16 20:12:50.000000000 +0200
219 @@ -33,34 +37,40 @@
220
221  void mpeg2_mc_init (uint32_t accel)
222  {
223 -#ifdef ARCH_X86
224 +#if HAVE_MMX2
225      if (accel & MPEG2_ACCEL_X86_MMXEXT)
226         mpeg2_mc = mpeg2_mc_mmxext;
227 -    else if (accel & MPEG2_ACCEL_X86_3DNOW)
228 +    else
229 +#endif
230 +#if HAVE_AMD3DNOW
231 +    if (accel & MPEG2_ACCEL_X86_3DNOW)
232         mpeg2_mc = mpeg2_mc_3dnow;
233 -    else if (accel & MPEG2_ACCEL_X86_MMX)
234 +    else
235 +#endif
236 +#if HAVE_MMX
237 +    if (accel & MPEG2_ACCEL_X86_MMX)
238         mpeg2_mc = mpeg2_mc_mmx;
239      else
240  #endif
241 -#ifdef ARCH_PPC
242 +#if HAVE_ALTIVEC
243      if (accel & MPEG2_ACCEL_PPC_ALTIVEC)
244         mpeg2_mc = mpeg2_mc_altivec;
245      else
246  #endif
247 -#ifdef ARCH_ALPHA
248 +#if ARCH_ALPHA
249      if (accel & MPEG2_ACCEL_ALPHA)
250         mpeg2_mc = mpeg2_mc_alpha;
251      else
252  #endif
253 -#ifdef ARCH_SPARC
254 +#if HAVE_VIS
255      if (accel & MPEG2_ACCEL_SPARC_VIS)
256         mpeg2_mc = mpeg2_mc_vis;
257      else
258  #endif
259 -#ifdef ARCH_ARM
260 +#if ARCH_ARM
261 -    if (accel & MPEG2_ACCEL_ARM) {
262 +    if (accel & MPEG2_ACCEL_ARM)
263         mpeg2_mc = mpeg2_mc_arm;
264 -    } else
265 +    else
266  #endif
267         mpeg2_mc = mpeg2_mc_c;
268  }
269 Index: libmpeg2/motion_comp_alpha.c
270 ===================================================================
271 --- libmpeg2/motion_comp_alpha.c        (revision 28324)
272 +++ libmpeg2/motion_comp_alpha.c        (revision 28325)
273 @@ -22,7 +22,7 @@
274
275  #include "config.h"
276
277 -#ifdef ARCH_ALPHA
278 +#if ARCH_ALPHA
279
280  #include <inttypes.h>
281
282 Index: libmpeg2/motion_comp_altivec.c
283 ===================================================================
284 --- libmpeg2/motion_comp_altivec.c      (revision 28324)
285 +++ libmpeg2/motion_comp_altivec.c      (revision 28325)
286 @@ -23,7 +23,7 @@
287
288  #include "config.h"
289
290 -#ifdef ARCH_PPC
291 +#if ARCH_PPC
292
293  #ifdef HAVE_ALTIVEC_H
294  #include <altivec.h>
295 Index: libmpeg2/motion_comp_arm.c
296 ===================================================================
297 --- libmpeg2/motion_comp_arm.c  (revision 28324)
298 +++ libmpeg2/motion_comp_arm.c  (revision 28325)
299 @@ -22,7 +22,7 @@
300
301  #include "config.h"
302
303 -#ifdef ARCH_ARM
304 +#if ARCH_ARM
305
306  #include <inttypes.h>
307
308 Index: libmpeg2/motion_comp_mmx.c
309 ===================================================================
310 --- libmpeg2/motion_comp_mmx.c  (revision 28324)
311 +++ libmpeg2/motion_comp_mmx.c  (revision 28325)
312 @@ -23,7 +23,7 @@
313
314  #include "config.h"
315
316 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
317 +#if ARCH_X86 || ARCH_X86_64
318
319  #include <inttypes.h>
320
321 Index: libmpeg2/motion_comp_vis.c
322 ===================================================================
323 --- libmpeg2/motion_comp_vis.c  (revision 28324)
324 +++ libmpeg2/motion_comp_vis.c  (revision 28325)
325 @@ -22,7 +22,7 @@
326
327  #include "config.h"
328
329 -#ifdef ARCH_SPARC
330 +#if ARCH_SPARC
331
332  #include <inttypes.h>
333
334 --- libmpeg2/mpeg2_internal.h   2006-06-16 20:12:26.000000000 +0200
335 +++ libmpeg2/mpeg2_internal.h   2006-06-16 20:12:50.000000000 +0200
336 @@ -226,7 +238,7 @@
337  };
338
339  typedef struct {
340 -#ifdef ARCH_PPC
341 +#if ARCH_PPC
342      uint8_t regv[12*16];
343  #endif
344      int dummy;