Annotation of /trunk/mplayer/patches/mplayer-1.0_pre7-gcc4.patch
Parent Directory | Revision Log
Revision 153 -
(hide annotations)
(download)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 6312 byte(s)
Tue May 8 20:52:56 2007 UTC (17 years, 4 months ago) by niro
File size: 6312 byte(s)
-import
1 | niro | 153 | diff -bBur MPlayer-20050413-orig/configure MPlayer-20050413/configure |
2 | --- MPlayer-20050413-orig/configure 2005-04-06 14:57:08.000000000 +0300 | ||
3 | +++ MPlayer-20050413/configure 2005-04-14 16:20:41.000000000 +0300 | ||
4 | @@ -604,7 +604,7 @@ | ||
5 | cc_version="v. ?.??, bad" | ||
6 | cc_verc_fail=yes | ||
7 | ;; | ||
8 | - 2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]) | ||
9 | + 2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]|4.*) | ||
10 | _cc_major=`echo $cc_version | cut -d '.' -f 1` | ||
11 | _cc_minor=`echo $cc_version | cut -d '.' -f 2` | ||
12 | _cc_mini=`echo $cc_version | cut -d '.' -f 3` | ||
13 | diff -bBur MPlayer-20050413-orig/liba52/imdct.c MPlayer-20050413/liba52/imdct.c | ||
14 | --- MPlayer-20050413-orig/liba52/imdct.c 2005-03-23 01:27:18.000000000 +0200 | ||
15 | +++ MPlayer-20050413/liba52/imdct.c 2005-04-14 16:48:54.000000000 +0300 | ||
16 | @@ -937,7 +937,8 @@ | ||
17 | /* 4-7. iterations */ | ||
18 | for (m=3; m < 7; m++) { | ||
19 | two_m = (1 << m); | ||
20 | - two_m_plus_one = two_m<<1; | ||
21 | + int two_m_plus_four=two_m<<4; | ||
22 | + complex_t* buf_plus_128=buf+128; | ||
23 | asm volatile( | ||
24 | "movl %0, %%esi \n\t" | ||
25 | ".balign 16 \n\t" | ||
26 | @@ -963,7 +964,7 @@ | ||
27 | "addl %2, %%esi \n\t" | ||
28 | "cmpl %1, %%esi \n\t" | ||
29 | " jb 1b \n\t" | ||
30 | - :: "g" (buf), "m" (buf+128), "m" (two_m_plus_one<<3), "r" (two_m<<3), | ||
31 | + :: "g" (buf), "m" (buf_plus_128), "m" (two_m_plus_four), "r" (two_m<<3), | ||
32 | "r" (sseW[m]) | ||
33 | : "%esi", "%edi", "%edx" | ||
34 | ); | ||
35 | diff -bBur MPlayer-20050413-orig/libavcodec/libpostproc/postprocess_template.c MPlayer-20050413/libavcodec/libpostproc/postprocess_template.c | ||
36 | --- MPlayer-20050413-orig/libavcodec/libpostproc/postprocess_template.c 2005-02-27 10:56:26.000000000 +0200 | ||
37 | +++ MPlayer-20050413/libavcodec/libpostproc/postprocess_template.c 2005-04-14 16:35:07.000000000 +0300 | ||
38 | @@ -2648,6 +2648,8 @@ | ||
39 | static always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int stride, PPContext *c){ | ||
40 | int64_t dc_mask, eq_mask; | ||
41 | int64_t sums[10*8*2]; | ||
42 | + int64_t dc_and_eq_mask; | ||
43 | + | ||
44 | src+= step*3; // src points to begin of the 8x8 Block | ||
45 | //START_TIMER | ||
46 | asm volatile( | ||
47 | @@ -2754,8 +2756,9 @@ | ||
48 | : "r" (src), "r" ((long)step), "m" (c->pQPb), "m"(c->ppMode.flatnessThreshold) | ||
49 | : "%"REG_a | ||
50 | ); | ||
51 | + dc_and_eq_mask=dc_mask & eq_mask; | ||
52 | |||
53 | - if(dc_mask & eq_mask){ | ||
54 | + if(dc_and_eq_mask){ | ||
55 | long offset= -8*step; | ||
56 | int64_t *temp_sums= sums; | ||
57 | |||
58 | @@ -2930,7 +2933,7 @@ | ||
59 | " js 1b \n\t" | ||
60 | |||
61 | : "+r"(offset), "+r"(temp_sums) | ||
62 | - : "r" ((long)step), "r"(src - offset), "m"(dc_mask & eq_mask) | ||
63 | + : "r" ((long)step), "r"(src - offset), "m"(dc_and_eq_mask) | ||
64 | ); | ||
65 | }else | ||
66 | src+= step; // src points to begin of the 8x8 Block | ||
67 | diff -bBur MPlayer-20050413-orig/libmpdemux/frequencies.h MPlayer-20050413/libmpdemux/frequencies.h | ||
68 | --- MPlayer-20050413-orig/libmpdemux/frequencies.h 2001-11-17 00:06:48.000000000 +0200 | ||
69 | +++ MPlayer-20050413/libmpdemux/frequencies.h 2005-04-14 16:36:51.000000000 +0300 | ||
70 | @@ -104,7 +104,7 @@ | ||
71 | /* --------------------------------------------------------------------- */ | ||
72 | |||
73 | extern struct CHANLISTS chanlists[]; | ||
74 | -extern struct STRTAB chanlist_names[]; | ||
75 | +/* extern struct STRTAB chanlist_names[]; */ | ||
76 | |||
77 | extern int chantab; | ||
78 | extern struct CHANLIST *chanlist; | ||
79 | diff -bBur MPlayer-20050413-orig/mmx.h MPlayer-20050413/mmx.h | ||
80 | --- MPlayer-20050413-orig/mmx.h 2001-10-28 13:47:21.000000000 +0200 | ||
81 | +++ MPlayer-20050413/mmx.h 2005-04-14 16:22:54.000000000 +0300 | ||
82 | @@ -353,11 +353,11 @@ | ||
83 | #define mmx_m2r(op, mem, reg) \ | ||
84 | __asm__ __volatile__ (#op " %0, %%" #reg \ | ||
85 | : /* nothing */ \ | ||
86 | - : "X" (mem)) | ||
87 | + : "m" (mem)) | ||
88 | |||
89 | #define mmx_r2m(op, reg, mem) \ | ||
90 | __asm__ __volatile__ (#op " %%" #reg ", %0" \ | ||
91 | - : "=X" (mem) \ | ||
92 | + : "=m" (mem) \ | ||
93 | : /* nothing */ ) | ||
94 | |||
95 | #define mmx_r2r(op, regs, regd) \ | ||
96 | @@ -367,8 +367,8 @@ | ||
97 | __asm__ __volatile__ ("movq %0, %%mm0\n\t" \ | ||
98 | #op " %1, %%mm0\n\t" \ | ||
99 | "movq %%mm0, %0" \ | ||
100 | - : "=X" (memd) \ | ||
101 | - : "X" (mems)) | ||
102 | + : "=m" (memd) \ | ||
103 | + : "m" (mems)) | ||
104 | |||
105 | #endif | ||
106 | |||
107 | diff -bBur MPlayer-20050413-orig/postproc/swscale_template.c MPlayer-20050413/postproc/swscale_template.c | ||
108 | --- MPlayer-20050413-orig/postproc/swscale_template.c 2005-02-17 01:47:00.000000000 +0200 | ||
109 | +++ MPlayer-20050413/postproc/swscale_template.c 2005-04-14 16:46:12.000000000 +0300 | ||
110 | @@ -2136,6 +2136,7 @@ | ||
111 | else | ||
112 | { | ||
113 | long counter= -2*dstW; | ||
114 | + uint8_t* ptr=src+filterSize; | ||
115 | // filter-= counter*filterSize/2; | ||
116 | filterPos-= counter/2; | ||
117 | dst-= counter/2; | ||
118 | @@ -2177,7 +2178,7 @@ | ||
119 | " jnc 1b \n\t" | ||
120 | |||
121 | : "+r" (counter), "+r" (filter) | ||
122 | - : "m" (filterPos), "m" (dst), "m"(src+filterSize), | ||
123 | + : "m" (filterPos), "m" (dst), "m"(ptr), | ||
124 | "m" (src), "r" ((long)filterSize*2) | ||
125 | : "%"REG_b, "%"REG_a, "%"REG_c | ||
126 | ); | ||
127 | @@ -2320,6 +2321,8 @@ | ||
128 | { | ||
129 | #endif | ||
130 | //NO MMX just normal asm ... | ||
131 | + int xInc_hi=xInc>>16; | ||
132 | + int xInc_lo=xInc&0xffff; | ||
133 | asm volatile( | ||
134 | "xor %%"REG_a", %%"REG_a" \n\t" // i | ||
135 | "xor %%"REG_b", %%"REG_b" \n\t" // xx | ||
136 | @@ -2356,7 +2359,7 @@ | ||
137 | " jb 1b \n\t" | ||
138 | |||
139 | |||
140 | - :: "r" (src), "m" (dst), "m" (dstWidth), "m" (xInc>>16), "m" (xInc&0xFFFF) | ||
141 | + :: "r" (src), "m" (dst), "m" (dstWidth), "m" (xInc_hi), "m" (xInc_lo) | ||
142 | : "%"REG_a, "%"REG_b, "%ecx", "%"REG_D, "%esi" | ||
143 | ); | ||
144 | #ifdef HAVE_MMX2 | ||
145 | @@ -2515,6 +2518,8 @@ | ||
146 | else | ||
147 | { | ||
148 | #endif | ||
149 | + int xInc_hi=xInc>>16; | ||
150 | + int xInc_lo=xInc&0xffff; | ||
151 | asm volatile( | ||
152 | "xor %%"REG_a", %%"REG_a" \n\t" // i | ||
153 | "xor %%"REG_b", %%"REG_b" \n\t" // xx | ||
154 | @@ -2548,7 +2553,7 @@ | ||
155 | "cmp %2, %%"REG_a" \n\t" | ||
156 | " jb 1b \n\t" | ||
157 | |||
158 | - :: "m" (src1), "m" (dst), "m" ((long)dstWidth), "m" ((long)(xInc>>16)), "m" ((xInc&0xFFFF)), | ||
159 | + :: "m" (src1), "m" (dst), "m" ((long)dstWidth), "m" ((long)(xInc_hi)), "m" ((xInc_lo)), | ||
160 | "r" (src2) | ||
161 | : "%"REG_a, "%"REG_b, "%ecx", "%"REG_D, "%esi" | ||
162 | ); | ||
163 | |||
164 | --- MPlayer-1.0pre7/libvo/aclib_template.c 2005-04-25 08:26:11.000000000 +0000 | ||
165 | +++ MPlayer-1.0pre7.az/libvo/aclib_template.c 2005-04-25 08:26:17.000000000 +0000 | ||
166 | @@ -249,8 +249,8 @@ | ||
167 | MOVNTQ" %%mm6, 48(%1)\n" | ||
168 | MOVNTQ" %%mm7, 56(%1)\n" | ||
169 | :: "r" (from), "r" (to) : "memory"); | ||
170 | - ((const unsigned char *)from)+=64; | ||
171 | - ((unsigned char *)to)+=64; | ||
172 | + from+=64; | ||
173 | + to+=64; | ||
174 | } | ||
175 | |||
176 | // printf(" %d %d\n", (int)from&1023, (int)to&1023); | ||
177 | @@ -338,8 +338,8 @@ | ||
178 | MOVNTQ" %%mm6, 48(%1)\n" | ||
179 | MOVNTQ" %%mm7, 56(%1)\n" | ||
180 | :: "r" (from), "r" (to) : "memory"); | ||
181 | - ((const unsigned char *)from)+=64; | ||
182 | - ((unsigned char *)to)+=64; | ||
183 | + from+=64; | ||
184 | + to+=64; | ||
185 | } | ||
186 | |||
187 | #endif /* Have SSE */ |