annotate libmpeg2/libmpeg2_changes.diff @ 28992:947ef23ba798

Test if create_vdp_decoder() might succeed by calling it from config() with a small value for max_reference_frames. This does not make automatic recovery by using software decoder possible, but lets MPlayer fail more graciously on - actually existing - buggy hardware that does not support certain H264 widths when using hardware accelerated decoding (784, 864, 944, 1024, 1808, 1888 pixels on NVIDIA G98) and if the user tries to hardware-decode more samples at the same time than supported. Might break playback of H264 Intra-Only samples on hardware with very little video memory.
author cehoyos
date Sat, 21 Mar 2009 20:11:05 +0000
parents 621228f94c83
children e83eef58b30a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
1 --- libmpeg2/cpu_accel.c 2006-06-16 20:12:26.000000000 +0200
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
2 +++ libmpeg2/cpu_accel.c 2006-06-16 20:12:50.000000000 +0200
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
3 @@ -29,9 +33,13 @@
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
4 #include "attributes.h"
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
5 #include "mpeg2_internal.h"
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
6
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
7 +#include "cpudetect.h"
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
8 +
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
9 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
10 +#if ARCH_X86 || ARCH_X86_64
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
11 static inline uint32_t arch_accel (uint32_t accel)
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
12 {
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
13 +/* Use MPlayer CPU detection instead of libmpeg2 variant. */
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
14 +#if 0
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
15 if (accel & (MPEG2_ACCEL_X86_3DNOW | MPEG2_ACCEL_X86_MMXEXT))
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
16 accel |= MPEG2_ACCEL_X86_MMX;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
17
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
18 @@ -124,6 +132,21 @@
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
19 #endif /* ACCEL_DETECT */
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
20
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
21 return accel;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
22 +
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
23 +#else /* 0 */
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
24 + accel = 0;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
25 + if (gCpuCaps.hasMMX)
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
26 + accel |= MPEG2_ACCEL_X86_MMX;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
27 + if (gCpuCaps.hasSSE2)
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
28 + accel |= MPEG2_ACCEL_X86_SSE2;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
29 + if (gCpuCaps.hasMMX2)
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
30 + accel |= MPEG2_ACCEL_X86_MMXEXT;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
31 + if (gCpuCaps.has3DNow)
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
32 + accel |= MPEG2_ACCEL_X86_3DNOW;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
33 +
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
34 + return accel;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
35 +
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
36 +#endif /* 0 */
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
37 }
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
38 #endif /* ARCH_X86 || ARCH_X86_64 */
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
39
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
40 @@ -127,7 +150,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
41 }
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
42 #endif /* ARCH_X86 || ARCH_X86_64 */
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
43
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
44 -#if defined(ACCEL_DETECT) && (defined(ARCH_PPC) || defined(ARCH_SPARC))
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
45 +#if defined(ACCEL_DETECT) && (ARCH_PPC || ARCH_SPARC)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
46 #include <signal.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
47 #include <setjmp.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
48
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
49 @@ -146,7 +169,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
50 }
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
51 #endif /* ACCEL_DETECT && (ARCH_PPC || ARCH_SPARC) */
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
52
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
53 -#ifdef ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
54 +#if ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
55 static uint32_t arch_accel (uint32_t accel)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
56 {
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
57 #ifdef ACCEL_DETECT
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
58 @@ -183,7 +206,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
59 }
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
60 #endif /* ARCH_PPC */
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
61
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
62 -#ifdef ARCH_SPARC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
63 +#if ARCH_SPARC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
64 static uint32_t arch_accel (uint32_t accel)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
65 {
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
66 if (accel & MPEG2_ACCEL_SPARC_VIS2)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
67 @@ -229,7 +252,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
68 }
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
69 #endif /* ARCH_SPARC */
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
70
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
71 -#ifdef ARCH_ALPHA
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
72 +#if ARCH_ALPHA
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
73 static inline uint32_t arch_accel (uint32_t accel)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
74 {
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
75 if (accel & MPEG2_ACCEL_ALPHA_MVI)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
76 @@ -253,7 +276,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
77
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
78 uint32_t mpeg2_detect_accel (uint32_t accel)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
79 {
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
80 -#if defined (ARCH_X86) || defined (ARCH_X86_64) || defined (ARCH_PPC) || defined (ARCH_ALPHA) || defined (ARCH_SPARC)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
81 +#if ARCH_X86 || ARCH_X86_64 || ARCH_PPC || ARCH_ALPHA || ARCH_SPARC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
82 accel = arch_accel (accel);
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
83 #endif
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
84 return accel;
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
85 Index: libmpeg2/cpu_state.c
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
86 ===================================================================
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
87 --- libmpeg2/cpu_state.c (revision 28324)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
88 +++ libmpeg2/cpu_state.c (revision 28325)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
89 @@ -29,21 +29,21 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
90 #include "mpeg2.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
91 #include "attributes.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
92 #include "mpeg2_internal.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
93 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
94 +#if ARCH_X86 || ARCH_X86_64
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
95 #include "mmx.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
96 #endif
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
97
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
98 void (* mpeg2_cpu_state_save) (cpu_state_t * state) = NULL;
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
99 void (* mpeg2_cpu_state_restore) (cpu_state_t * state) = NULL;
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
100
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
101 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
102 +#if ARCH_X86 || ARCH_X86_64
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
103 static void state_restore_mmx (cpu_state_t * state)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
104 {
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
105 emms ();
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
106 }
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
107 #endif
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
108
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
109 -#ifdef ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
110 +#if ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
111 #if defined(__APPLE_CC__) /* apple */
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
112 #define LI(a,b) "li r" #a "," #b "\n\t"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
113 #define STVX0(a,b,c) "stvx v" #a ",0,r" #c "\n\t"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
114 @@ -115,12 +115,12 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
115
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
116 void mpeg2_cpu_state_init (uint32_t accel)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
117 {
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
118 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
119 +#if ARCH_X86 || ARCH_X86_64
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
120 if (accel & MPEG2_ACCEL_X86_MMX) {
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
121 mpeg2_cpu_state_restore = state_restore_mmx;
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
122 }
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
123 #endif
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
124 -#ifdef ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
125 +#if ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
126 if (accel & MPEG2_ACCEL_PPC_ALTIVEC) {
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
127 mpeg2_cpu_state_save = state_save_altivec;
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
128 mpeg2_cpu_state_restore = state_restore_altivec;
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
129 --- libmpeg2/decode.c 2006-06-16 20:12:26.000000000 +0200
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
130 +++ libmpeg2/decode.c 2006-06-16 20:12:50.000000000 +0200
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
131 @@ -345,6 +349,15 @@
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
132 fbuf->buf[1] = buf[1];
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
133 fbuf->buf[2] = buf[2];
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
134 fbuf->id = id;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
135 + // HACK! FIXME! At first I frame, copy pointers to prediction frame too!
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
136 + if (mpeg2dec->custom_fbuf && !mpeg2dec->fbuf[1]->buf[0]){
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
137 + mpeg2dec->fbuf[1]->buf[0]=buf[0];
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
138 + mpeg2dec->fbuf[1]->buf[1]=buf[1];
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
139 + mpeg2dec->fbuf[1]->buf[2]=buf[2];
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
140 + mpeg2dec->fbuf[1]->id=NULL;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
141 + }
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
142 +// printf("libmpeg2: FBUF 0:%p 1:%p 2:%p\n",
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
143 +// mpeg2dec->fbuf[0]->buf[0],mpeg2dec->fbuf[1]->buf[0],mpeg2dec->fbuf[2]->buf[0]);
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
144 }
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
145
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
146 void mpeg2_custom_fbuf (mpeg2dec_t * mpeg2dec, int custom_fbuf)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
147 --- libmpeg2/header.c 2006-06-16 20:12:26.000000000 +0200
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
148 +++ libmpeg2/header.c 2006-06-16 20:12:50.000000000 +0200
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
149 @@ -100,6 +104,9 @@
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
150 mpeg2dec->decoder.convert = NULL;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
151 mpeg2dec->decoder.convert_id = NULL;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
152 mpeg2dec->picture = mpeg2dec->pictures;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
153 + memset(&mpeg2dec->fbuf_alloc[0].fbuf, 0, sizeof(mpeg2_fbuf_t));
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
154 + memset(&mpeg2dec->fbuf_alloc[1].fbuf, 0, sizeof(mpeg2_fbuf_t));
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
155 + memset(&mpeg2dec->fbuf_alloc[2].fbuf, 0, sizeof(mpeg2_fbuf_t));
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
156 mpeg2dec->fbuf[0] = &mpeg2dec->fbuf_alloc[0].fbuf;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
157 mpeg2dec->fbuf[1] = &mpeg2dec->fbuf_alloc[1].fbuf;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
158 mpeg2dec->fbuf[2] = &mpeg2dec->fbuf_alloc[2].fbuf;
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
159 @@ -872,6 +879,7 @@
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
160 mpeg2dec->scaled[idx] = decoder->q_scale_type;
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
161 for (i = 0; i < 32; i++) {
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
162 k = decoder->q_scale_type ? non_linear_scale[i] : (i << 1);
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
163 + decoder->quantizer_scales[i] = k;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
164 for (j = 0; j < 64; j++)
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
165 decoder->quantizer_prescale[idx][i][j] =
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
166 k * mpeg2dec->quantizer_matrix[idx][j];
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
167 --- libmpeg2/idct.c (revision 26652)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
168 +++ libmpeg2/idct.c (working copy)
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
169 @@ -235,34 +239,40 @@
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
170
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
171 void mpeg2_idct_init (uint32_t accel)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
172 {
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
173 -#ifdef ARCH_X86
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
174 +#if HAVE_SSE2
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
175 if (accel & MPEG2_ACCEL_X86_SSE2) {
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
176 mpeg2_idct_copy = mpeg2_idct_copy_sse2;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
177 mpeg2_idct_add = mpeg2_idct_add_sse2;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
178 mpeg2_idct_mmx_init ();
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
179 - } else if (accel & MPEG2_ACCEL_X86_MMXEXT) {
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
180 + } else
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
181 +#elif HAVE_MMX2
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
182 + if (accel & MPEG2_ACCEL_X86_MMXEXT) {
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
183 mpeg2_idct_copy = mpeg2_idct_copy_mmxext;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
184 mpeg2_idct_add = mpeg2_idct_add_mmxext;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
185 mpeg2_idct_mmx_init ();
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
186 - } else if (accel & MPEG2_ACCEL_X86_MMX) {
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
187 + } else
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
188 +#elif HAVE_MMX
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
189 + if (accel & MPEG2_ACCEL_X86_MMX) {
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
190 mpeg2_idct_copy = mpeg2_idct_copy_mmx;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
191 mpeg2_idct_add = mpeg2_idct_add_mmx;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
192 mpeg2_idct_mmx_init ();
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
193 } else
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
194 #endif
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
195 -#ifdef ARCH_PPC
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
196 +#if HAVE_ALTIVEC
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
197 if (accel & MPEG2_ACCEL_PPC_ALTIVEC) {
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
198 mpeg2_idct_copy = mpeg2_idct_copy_altivec;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
199 mpeg2_idct_add = mpeg2_idct_add_altivec;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
200 mpeg2_idct_altivec_init ();
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
201 } else
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
202 #endif
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
203 -#ifdef ARCH_ALPHA
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
204 +#if HAVE_MVI
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
205 if (accel & MPEG2_ACCEL_ALPHA_MVI) {
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
206 mpeg2_idct_copy = mpeg2_idct_copy_mvi;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
207 mpeg2_idct_add = mpeg2_idct_add_mvi;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
208 mpeg2_idct_alpha_init ();
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
209 - } else if (accel & MPEG2_ACCEL_ALPHA) {
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
210 + } else
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
211 +#elif ARCH_ALPHA
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
212 + if (accel & MPEG2_ACCEL_ALPHA) {
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
213 int i;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
214
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
215 mpeg2_idct_copy = mpeg2_idct_copy_alpha;
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
216 Index: libmpeg2/idct_alpha.c
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
217 ===================================================================
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
218 --- libmpeg2/idct_alpha.c (revision 28324)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
219 +++ libmpeg2/idct_alpha.c (revision 28325)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
220 @@ -24,7 +24,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
221
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
222 #include "config.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
223
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
224 -#ifdef ARCH_ALPHA
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
225 +#if ARCH_ALPHA
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
226
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
227 #include <stdlib.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
228 #include <inttypes.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
229 Index: libmpeg2/idct_altivec.c
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
230 ===================================================================
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
231 --- libmpeg2/idct_altivec.c (revision 28324)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
232 +++ libmpeg2/idct_altivec.c (revision 28325)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
233 @@ -23,7 +23,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
234
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
235 #include "config.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
236
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
237 -#ifdef ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
238 +#if ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
239
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
240 #ifdef HAVE_ALTIVEC_H
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
241 #include <altivec.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
242 Index: libmpeg2/idct_mmx.c
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
243 ===================================================================
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
244 --- libmpeg2/idct_mmx.c (revision 28324)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
245 +++ libmpeg2/idct_mmx.c (revision 28325)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
246 @@ -23,7 +23,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
247
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
248 #include "config.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
249
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
250 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
251 +#if ARCH_X86 || ARCH_X86_64
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
252
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
253 #include <inttypes.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
254
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
255 --- libmpeg2/motion_comp.c 2006-06-16 20:12:26.000000000 +0200
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
256 +++ libmpeg2/motion_comp.c 2006-06-16 20:12:50.000000000 +0200
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
257 @@ -33,34 +37,40 @@
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
258
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
259 void mpeg2_mc_init (uint32_t accel)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
260 {
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
261 -#ifdef ARCH_X86
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
262 +#if HAVE_MMX2
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
263 if (accel & MPEG2_ACCEL_X86_MMXEXT)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
264 mpeg2_mc = mpeg2_mc_mmxext;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
265 - else if (accel & MPEG2_ACCEL_X86_3DNOW)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
266 + else
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
267 +#endif
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
268 +#if HAVE_AMD3DNOW
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
269 + if (accel & MPEG2_ACCEL_X86_3DNOW)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
270 mpeg2_mc = mpeg2_mc_3dnow;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
271 - else if (accel & MPEG2_ACCEL_X86_MMX)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
272 + else
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
273 +#endif
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
274 +#if HAVE_MMX
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
275 + if (accel & MPEG2_ACCEL_X86_MMX)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
276 mpeg2_mc = mpeg2_mc_mmx;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
277 else
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
278 #endif
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
279 -#ifdef ARCH_PPC
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
280 +#if HAVE_ALTIVEC
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
281 if (accel & MPEG2_ACCEL_PPC_ALTIVEC)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
282 mpeg2_mc = mpeg2_mc_altivec;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
283 else
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
284 #endif
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
285 -#ifdef ARCH_ALPHA
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
286 +#if ARCH_ALPHA
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
287 if (accel & MPEG2_ACCEL_ALPHA)
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
288 mpeg2_mc = mpeg2_mc_alpha;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
289 else
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
290 #endif
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
291 -#ifdef ARCH_SPARC
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
292 +#if HAVE_VIS
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
293 if (accel & MPEG2_ACCEL_SPARC_VIS)
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
294 mpeg2_mc = mpeg2_mc_vis;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
295 else
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
296 #endif
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
297 -#ifdef ARCH_ARM
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
298 +#if ARCH_ARM
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
299 - if (accel & MPEG2_ACCEL_ARM) {
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
300 + if (accel & MPEG2_ACCEL_ARM)
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
301 mpeg2_mc = mpeg2_mc_arm;
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
302 - } else
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
303 + else
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
304 #endif
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
305 mpeg2_mc = mpeg2_mc_c;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
306 }
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
307 Index: libmpeg2/motion_comp_alpha.c
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
308 ===================================================================
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
309 --- libmpeg2/motion_comp_alpha.c (revision 28324)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
310 +++ libmpeg2/motion_comp_alpha.c (revision 28325)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
311 @@ -22,7 +22,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
312
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
313 #include "config.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
314
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
315 -#ifdef ARCH_ALPHA
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
316 +#if ARCH_ALPHA
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
317
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
318 #include <inttypes.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
319
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
320 Index: libmpeg2/motion_comp_altivec.c
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
321 ===================================================================
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
322 --- libmpeg2/motion_comp_altivec.c (revision 28324)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
323 +++ libmpeg2/motion_comp_altivec.c (revision 28325)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
324 @@ -23,7 +23,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
325
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
326 #include "config.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
327
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
328 -#ifdef ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
329 +#if ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
330
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
331 #ifdef HAVE_ALTIVEC_H
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
332 #include <altivec.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
333 Index: libmpeg2/motion_comp_arm.c
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
334 ===================================================================
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
335 --- libmpeg2/motion_comp_arm.c (revision 28324)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
336 +++ libmpeg2/motion_comp_arm.c (revision 28325)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
337 @@ -22,7 +22,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
338
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
339 #include "config.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
340
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
341 -#ifdef ARCH_ARM
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
342 +#if ARCH_ARM
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
343
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
344 #include <inttypes.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
345
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
346 Index: libmpeg2/motion_comp_mmx.c
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
347 ===================================================================
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
348 --- libmpeg2/motion_comp_mmx.c (revision 28324)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
349 +++ libmpeg2/motion_comp_mmx.c (revision 28325)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
350 @@ -23,7 +23,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
351
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
352 #include "config.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
353
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
354 -#if defined(ARCH_X86) || defined(ARCH_X86_64)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
355 +#if ARCH_X86 || ARCH_X86_64
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
356
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
357 #include <inttypes.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
358
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
359 Index: libmpeg2/motion_comp_vis.c
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
360 ===================================================================
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
361 --- libmpeg2/motion_comp_vis.c (revision 28324)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
362 +++ libmpeg2/motion_comp_vis.c (revision 28325)
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
363 @@ -22,7 +22,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
364
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
365 #include "config.h"
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
366
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
367 -#ifdef ARCH_SPARC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
368 +#if ARCH_SPARC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
369
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
370 #include <inttypes.h>
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
371
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
372 --- libmpeg2/mpeg2_internal.h 2006-06-16 20:12:26.000000000 +0200
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
373 +++ libmpeg2/mpeg2_internal.h 2006-06-16 20:12:50.000000000 +0200
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
374 @@ -152,6 +156,11 @@
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
375
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
376 /* XXX: stuff due to xine shit */
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
377 int8_t q_scale_type;
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
378 +
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
379 + int quantizer_scales[32];
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
380 + int quantizer_scale;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
381 + char* quant_store;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
382 + int quant_stride;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
383 };
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
384
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
385 typedef struct {
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
386 @@ -223,6 +232,9 @@
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
387 //int8_t q_scale_type, scaled[4];
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
388 uint8_t quantizer_matrix[4][64];
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
389 uint8_t new_quantizer_matrix[4][64];
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
390 +
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
391 + unsigned char *pending_buffer;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
392 + int pending_length;
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
393 };
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
394
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
395 typedef struct {
28796
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
396 @@ -226,7 +238,7 @@
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
397 };
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
398
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
399 typedef struct {
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
400 -#ifdef ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
401 +#if ARCH_PPC
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
402 uint8_t regv[12*16];
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
403 #endif
621228f94c83 Sync local changes file with #ifdef --> #if conversion.
diego
parents: 28335
diff changeset
404 int dummy;
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
405 --- libmpeg2/slice.c 2006-06-16 20:12:26.000000000 +0200
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
406 +++ libmpeg2/slice.c 2006-06-16 20:12:50.000000000 +0200
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
407 @@ -142,6 +146,7 @@
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
408
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
409 quantizer_scale_code = UBITS (bit_buf, 5);
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
410 DUMPBITS (bit_buf, bits, 5);
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
411 + decoder->quantizer_scale = decoder->quantizer_scales[quantizer_scale_code];
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
412
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
413 decoder->quantizer_matrix[0] =
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
414 decoder->quantizer_prescale[0][quantizer_scale_code];
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
415 @@ -1564,6 +1569,24 @@
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
416
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
417 #define NEXT_MACROBLOCK \
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
418 do { \
27573
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
419 + if(decoder->quant_store) { \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
420 + if (decoder->picture_structure == TOP_FIELD) \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
421 + decoder->quant_store[2 * decoder->quant_stride \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
422 + * (decoder->v_offset >> 4) \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
423 + + (decoder->offset >> 4)] \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
424 + = decoder->quantizer_scale; \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
425 + else if (decoder->picture_structure == BOTTOM_FIELD) \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
426 + decoder->quant_store[2 * decoder->quant_stride \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
427 + * (decoder->v_offset >> 4) \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
428 + + decoder->quant_stride \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
429 + + (decoder->offset >> 4)] \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
430 + = decoder->quantizer_scale; \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
431 + else \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
432 + decoder->quant_store[decoder->quant_stride \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
433 + * (decoder->v_offset >> 4) \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
434 + + (decoder->offset >> 4)] \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
435 + = decoder->quantizer_scale; \
1645692c116e Sync diff with libmpeg2 update.
diego
parents: 27569
diff changeset
436 + } \
27569
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
437 decoder->offset += 16; \
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
438 if (decoder->offset == decoder->width) { \
7c3d535aba22 Remove version string from name of local changes diff file.
diego
parents:
diff changeset
439 do { /* just so we can use the break statement */ \