diff --git a/mythplugins/mythmusic/mythmusic/goom/zoom_filter_xmmx.c b/mythplugins/mythmusic/mythmusic/goom/zoom_filter_xmmx.c
index 3e257fb..53e351f 100644
a
|
b
|
|
1 | 1 | #include <mythtv/mythconfig.h> |
2 | 2 | |
3 | | #if defined(MMX) && !defined(ARCH_X86_64) |
| 3 | #if defined(MMX) |
4 | 4 | /* a definir pour avoir exactement le meme resultat que la fonction C |
5 | 5 | * (un chouillat plus lent) |
6 | 6 | */ |
… |
… |
|
17 | 17 | // faire : a / sqrtperte <=> a >> PERTEDEC |
18 | 18 | #define PERTEDEC 4 |
19 | 19 | |
| 20 | #ifdef ARCH_X86_64 |
| 21 | #define REG_c "rcx" |
| 22 | #define REG_a "rax" |
| 23 | #elif |
| 24 | #define REG_c "ecx" |
| 25 | #define REG_a "eax" |
| 26 | #endif |
20 | 27 | |
21 | 28 | //#define MMX_TRACE |
22 | 29 | #include "mmx.h" |
… |
… |
void zoom_filter_xmmx (int prevX, int prevY, |
115 | 122 | "movd %%mm0,%%ecx\n" |
116 | 123 | "movq %%mm0,%%mm1\n" |
117 | 124 | |
118 | | "andl $15,%%ecx\n" |
| 125 | "and $15,%%"REG_c"\n" |
119 | 126 | "psrlq $32,%%mm1\n" |
120 | 127 | |
121 | | "shll $6,%%ecx\n" |
| 128 | "shl $6,%%"REG_c"\n" |
122 | 129 | "movd %%mm1,%%eax\n" |
123 | 130 | |
124 | | "addl %0,%%ecx\n" |
125 | | "andl $15,%%eax\n" |
| 131 | "add %0,%%"REG_c"\n" |
| 132 | "and $15,%%"REG_a"\n" |
126 | 133 | |
127 | | "movd (%%ecx,%%eax,4),%%mm3\n" |
| 134 | "movd (%%"REG_c",%%"REG_a",4),%%mm3\n" |
128 | 135 | /* ::"X"(precalCoef):"eax","ecx"); */ |
129 | | ::"m"(precalCoef):"eax","ecx"); |
| 136 | ::"m"(precalCoef):REG_a,REG_c); |
130 | 137 | |
131 | 138 | |
132 | 139 | /* |
… |
… |
void zoom_filter_xmmx (int prevX, int prevY, |
171 | 178 | /*^*/ "movq %%mm3,%%mm4\n" /*^*/ |
172 | 179 | /*^*/ "movq %%mm3,%%mm5\n" /*^*/ |
173 | 180 | |
174 | | "movl %0,%%ecx\n" |
| 181 | "mov %0,%%"REG_c"\n" |
175 | 182 | /*^*/ "punpcklbw %%mm5,%%mm3\n" /*^*/ |
176 | 183 | |
177 | | "movq (%%ecx,%%eax,4),%%mm0\n" |
| 184 | "movq (%%"REG_c",%%"REG_a",4),%%mm0\n" |
178 | 185 | /*^*/ "punpckhbw %%mm5,%%mm4\n" /*^*/ |
179 | 186 | |
180 | 187 | "addl %1,%%eax\n" |
181 | | "movq (%%ecx,%%eax,4),%%mm2\n" |
| 188 | "movq (%%"REG_c",%%"REG_a",4),%%mm2\n" |
182 | 189 | |
183 | 190 | : : "X"(expix1), "X"(prevX):"eax","ecx" |
184 | 191 | ); |