Contents of /trunk/mplayer/patches/mplayer-1.0_pre7-gcc4.patch
Parent Directory | Revision Log
Revision 153 -
(show 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 | 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 */ |