1 |
aballier 08/01/02 00:33:52 |
2 |
|
3 |
Modified: series |
4 |
Added: 310_all_mmx_pic.patch |
5 |
Removed: 180_all_faad.patch |
6 |
Log: |
7 |
remove the patch to allow playing aac with ffmpeg, we'll use faad 2.6 so that we'll be closer to upstream. Add a patch to fix textrels on an mmx asm plugin. |
8 |
|
9 |
Revision Changes Path |
10 |
1.3 src/patchsets/vlc/0.9.0/series |
11 |
|
12 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/0.9.0/series?rev=1.3&view=markup |
13 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/0.9.0/series?rev=1.3&content-type=text/plain |
14 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/0.9.0/series?r1=1.2&r2=1.3 |
15 |
|
16 |
Index: series |
17 |
=================================================================== |
18 |
RCS file: /var/cvsroot/gentoo/src/patchsets/vlc/0.9.0/series,v |
19 |
retrieving revision 1.2 |
20 |
retrieving revision 1.3 |
21 |
diff -u -r1.2 -r1.3 |
22 |
--- series 6 Sep 2007 17:30:34 -0000 1.2 |
23 |
+++ series 2 Jan 2008 00:33:51 -0000 1.3 |
24 |
@@ -1,6 +1,6 @@ |
25 |
000_all_glide.patch |
26 |
010_all_freetype-font.patch |
27 |
-180_all_faad.patch |
28 |
220_all_firefox.patch |
29 |
250_all_livepic.patch |
30 |
300_all_pic.patch |
31 |
+310_all_mmx_pic.patch |
32 |
|
33 |
|
34 |
|
35 |
1.1 src/patchsets/vlc/0.9.0/310_all_mmx_pic.patch |
36 |
|
37 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/0.9.0/310_all_mmx_pic.patch?rev=1.1&view=markup |
38 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/src/patchsets/vlc/0.9.0/310_all_mmx_pic.patch?rev=1.1&content-type=text/plain |
39 |
|
40 |
Index: 310_all_mmx_pic.patch |
41 |
=================================================================== |
42 |
Fix textrels in the mmx accelerated i420_rgb plugin |
43 |
http://trac.videolan.org/vlc/ticket/1383 |
44 |
Let gcc choose how to reference memory addresses |
45 |
|
46 |
Index: vlc-0.9.0-svn/modules/video_chroma/i420_rgb_mmx.h |
47 |
=================================================================== |
48 |
--- vlc-0.9.0-svn.orig/modules/video_chroma/i420_rgb_mmx.h |
49 |
+++ vlc-0.9.0-svn/modules/video_chroma/i420_rgb_mmx.h |
50 |
@@ -34,18 +34,18 @@ |
51 |
#define USED_U64(foo) \ |
52 |
static const uint64_t foo __asm__ (#foo) __attribute__((unused)) |
53 |
#endif |
54 |
-USED_U64(mmx_80w) = 0x0080008000800080ULL; |
55 |
-USED_U64(mmx_10w) = 0x1010101010101010ULL; |
56 |
-USED_U64(mmx_00ffw) = 0x00ff00ff00ff00ffULL; |
57 |
-USED_U64(mmx_Y_coeff) = 0x253f253f253f253fULL; |
58 |
- |
59 |
-USED_U64(mmx_U_green) = 0xf37df37df37df37dULL; |
60 |
-USED_U64(mmx_U_blue) = 0x4093409340934093ULL; |
61 |
-USED_U64(mmx_V_red) = 0x3312331233123312ULL; |
62 |
-USED_U64(mmx_V_green) = 0xe5fce5fce5fce5fcULL; |
63 |
+USED_U64(mmx_80w) = 0x0080008000800080ULL; /* Will be referenced as %4 in inline asm */ |
64 |
+USED_U64(mmx_10w) = 0x1010101010101010ULL; /* -- as %5 */ |
65 |
+USED_U64(mmx_00ffw) = 0x00ff00ff00ff00ffULL; /* -- as %6 */ |
66 |
+USED_U64(mmx_Y_coeff) = 0x253f253f253f253fULL; /* -- as %7 */ |
67 |
+ |
68 |
+USED_U64(mmx_U_green) = 0xf37df37df37df37dULL; /* -- as %8 */ |
69 |
+USED_U64(mmx_U_blue) = 0x4093409340934093ULL; /* -- as %9 */ |
70 |
+USED_U64(mmx_V_red) = 0x3312331233123312ULL; /* -- as %10 */ |
71 |
+USED_U64(mmx_V_green) = 0xe5fce5fce5fce5fcULL; /* -- as %11 */ |
72 |
|
73 |
-USED_U64(mmx_mask_f8) = 0xf8f8f8f8f8f8f8f8ULL; |
74 |
-USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfcfcULL; |
75 |
+USED_U64(mmx_mask_f8) = 0xf8f8f8f8f8f8f8f8ULL; /* -- as %12 */ |
76 |
+USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfcfcULL; /* -- as %13 */ |
77 |
#undef USED_U64 |
78 |
|
79 |
#if defined(CAN_COMPILE_MMX) |
80 |
@@ -59,18 +59,16 @@ USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfc |
81 |
MMX_INSTRUCTIONS \ |
82 |
: \ |
83 |
: "r" (p_y), "r" (p_u), \ |
84 |
- "r" (p_v), "r" (p_buffer) ); \ |
85 |
+ "r" (p_v), "r" (p_buffer), \ |
86 |
+ "m" (mmx_80w), "m" (mmx_10w), \ |
87 |
+ "m" (mmx_00ffw), "m" (mmx_Y_coeff), \ |
88 |
+ "m" (mmx_U_green), "m" (mmx_U_blue), \ |
89 |
+ "m" (mmx_V_red), "m" (mmx_V_green), \ |
90 |
+ "m" (mmx_mask_f8), "m" (mmx_mask_fc) ); \ |
91 |
} while(0) |
92 |
|
93 |
#define MMX_END __asm__ __volatile__ ( "emms" ) |
94 |
|
95 |
-/* Use RIP-relative code in PIC mode on amd64 */ |
96 |
-#if defined(__x86_64__) && defined(__PIC__) |
97 |
-# define G "(%%rip)" |
98 |
-#else |
99 |
-# define G |
100 |
-#endif |
101 |
- |
102 |
#define MMX_INIT_16 " \n\ |
103 |
movd (%1), %%mm0 # Load 4 Cb 00 00 00 00 u3 u2 u1 u0 \n\ |
104 |
movd (%2), %%mm1 # Load 4 Cr 00 00 00 00 v3 v2 v1 v0 \n\ |
105 |
@@ -103,27 +101,27 @@ movq (%0), %%mm6 # Load 8 Y |
106 |
# convert the chroma part \n\ |
107 |
punpcklbw %%mm4, %%mm0 # scatter 4 Cb 00 u3 00 u2 00 u1 00 u0 \n\ |
108 |
punpcklbw %%mm4, %%mm1 # scatter 4 Cr 00 v3 00 v2 00 v1 00 v0 \n\ |
109 |
-psubsw mmx_80w"G", %%mm0 # Cb -= 128 \n\ |
110 |
-psubsw mmx_80w"G", %%mm1 # Cr -= 128 \n\ |
111 |
+psubsw %4, %%mm0 # Cb -= 128 \n\ |
112 |
+psubsw %4, %%mm1 # Cr -= 128 \n\ |
113 |
psllw $3, %%mm0 # Promote precision \n\ |
114 |
psllw $3, %%mm1 # Promote precision \n\ |
115 |
movq %%mm0, %%mm2 # Copy 4 Cb 00 u3 00 u2 00 u1 00 u0 \n\ |
116 |
movq %%mm1, %%mm3 # Copy 4 Cr 00 v3 00 v2 00 v1 00 v0 \n\ |
117 |
-pmulhw mmx_U_green"G", %%mm2 # Mul Cb with green coeff -> Cb green \n\ |
118 |
-pmulhw mmx_V_green"G", %%mm3 # Mul Cr with green coeff -> Cr green \n\ |
119 |
-pmulhw mmx_U_blue"G", %%mm0 # Mul Cb -> Cblue 00 b3 00 b2 00 b1 00 b0 \n\ |
120 |
-pmulhw mmx_V_red"G", %%mm1 # Mul Cr -> Cred 00 r3 00 r2 00 r1 00 r0 \n\ |
121 |
+pmulhw %8, %%mm2 # Mul Cb with green coeff -> Cb green \n\ |
122 |
+pmulhw %11, %%mm3 # Mul Cr with green coeff -> Cr green \n\ |
123 |
+pmulhw %9, %%mm0 # Mul Cb -> Cblue 00 b3 00 b2 00 b1 00 b0 \n\ |
124 |
+pmulhw %10, %%mm1 # Mul Cr -> Cred 00 r3 00 r2 00 r1 00 r0 \n\ |
125 |
paddsw %%mm3, %%mm2 # Cb green + Cr green -> Cgreen \n\ |
126 |
\n\ |
127 |
# convert the luma part \n\ |
128 |
-psubusb mmx_10w"G", %%mm6 # Y -= 16 \n\ |
129 |
+psubusb %5, %%mm6 # Y -= 16 \n\ |
130 |
movq %%mm6, %%mm7 # Copy 8 Y Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 \n\ |
131 |
-pand mmx_00ffw"G", %%mm6 # get Y even 00 Y6 00 Y4 00 Y2 00 Y0 \n\ |
132 |
+pand %6, %%mm6 # get Y even 00 Y6 00 Y4 00 Y2 00 Y0 \n\ |
133 |
psrlw $8, %%mm7 # get Y odd 00 Y7 00 Y5 00 Y3 00 Y1 \n\ |
134 |
psllw $3, %%mm6 # Promote precision \n\ |
135 |
psllw $3, %%mm7 # Promote precision \n\ |
136 |
-pmulhw mmx_Y_coeff"G", %%mm6 # Mul 4 Y even 00 y6 00 y4 00 y2 00 y0 \n\ |
137 |
-pmulhw mmx_Y_coeff"G", %%mm7 # Mul 4 Y odd 00 y7 00 y5 00 y3 00 y1 \n\ |
138 |
+pmulhw %7, %%mm6 # Mul 4 Y even 00 y6 00 y4 00 y2 00 y0 \n\ |
139 |
+pmulhw %7, %%mm7 # Mul 4 Y odd 00 y7 00 y5 00 y3 00 y1 \n\ |
140 |
" |
141 |
|
142 |
/* |
143 |
@@ -168,14 +166,14 @@ punpcklbw %%mm5, %%mm2 # |
144 |
|
145 |
#define MMX_YUV_GRAY " \n\ |
146 |
# convert the luma part \n\ |
147 |
-psubusb mmx_10w"G", %%mm6 \n\ |
148 |
+psubusb %5, %%mm6 \n\ |
149 |
movq %%mm6, %%mm7 \n\ |
150 |
-pand mmx_00ffw"G", %%mm6 \n\ |
151 |
+pand %6, %%mm6 \n\ |
152 |
psrlw $8, %%mm7 \n\ |
153 |
psllw $3, %%mm6 \n\ |
154 |
psllw $3, %%mm7 \n\ |
155 |
-pmulhw mmx_Y_coeff"G", %%mm6 \n\ |
156 |
-pmulhw mmx_Y_coeff"G", %%mm7 \n\ |
157 |
+pmulhw %7, %%mm6 \n\ |
158 |
+pmulhw %7, %%mm7 \n\ |
159 |
packuswb %%mm6, %%mm6 \n\ |
160 |
packuswb %%mm7, %%mm7 \n\ |
161 |
punpcklbw %%mm7, %%mm6 \n\ |
162 |
@@ -183,8 +181,8 @@ punpcklbw %%mm7, %%mm6 |
163 |
|
164 |
#define MMX_UNPACK_16_GRAY " \n\ |
165 |
movq %%mm6, %%mm5 \n\ |
166 |
-pand mmx_mask_f8"G", %%mm6 \n\ |
167 |
-pand mmx_mask_fc"G", %%mm5 \n\ |
168 |
+pand %12, %%mm6 \n\ |
169 |
+pand %13, %%mm5 \n\ |
170 |
movq %%mm6, %%mm7 \n\ |
171 |
psrlw $3, %%mm7 \n\ |
172 |
pxor %%mm3, %%mm3 \n\ |
173 |
@@ -213,10 +211,10 @@ movq %%mm2, 8(%3) |
174 |
|
175 |
#define MMX_UNPACK_15 " \n\ |
176 |
# mask unneeded bits off \n\ |
177 |
-pand mmx_mask_f8"G", %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ |
178 |
+pand %12, %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ |
179 |
psrlw $3,%%mm0 # ______b7 b6b5b4b3 ______b7 b6b5b4b3 \n\ |
180 |
-pand mmx_mask_f8"G", %%mm2 # g7g6g5g4 g3______ g7g6g5g4 g3______ \n\ |
181 |
-pand mmx_mask_f8"G", %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ |
182 |
+pand %12, %%mm2 # g7g6g5g4 g3______ g7g6g5g4 g3______ \n\ |
183 |
+pand %12, %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ |
184 |
psrlw $1,%%mm1 # __r7r6r5 r4r3____ __r7r6r5 r4r3____ \n\ |
185 |
pxor %%mm4, %%mm4 # zero mm4 \n\ |
186 |
movq %%mm0, %%mm5 # Copy B7-B0 \n\ |
187 |
@@ -249,9 +247,9 @@ movq %%mm5, 8(%3) # store |
188 |
|
189 |
#define MMX_UNPACK_16 " \n\ |
190 |
# mask unneeded bits off \n\ |
191 |
-pand mmx_mask_f8"G", %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ |
192 |
-pand mmx_mask_fc"G", %%mm2 # g7g6g5g4 g3g2____ g7g6g5g4 g3g2____ \n\ |
193 |
-pand mmx_mask_f8"G", %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ |
194 |
+pand %12, %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ |
195 |
+pand %13, %%mm2 # g7g6g5g4 g3g2____ g7g6g5g4 g3g2____ \n\ |
196 |
+pand %12, %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ |
197 |
psrlw $3,%%mm0 # ______b7 b6b5b4b3 ______b7 b6b5b4b3 \n\ |
198 |
pxor %%mm4, %%mm4 # zero mm4 \n\ |
199 |
movq %%mm0, %%mm5 # Copy B7-B0 \n\ |
200 |
|
201 |
|
202 |
|
203 |
-- |
204 |
gentoo-commits@g.o mailing list |