Mercurial > mplayer.hg
comparison libmpcodecs/vf_noise.c @ 18104:7b408d60de9e
add support for intel mac. mp3lib is not fixed yet.
author | nplourde |
---|---|
date | Sat, 15 Apr 2006 20:46:54 +0000 |
parents | ec68026bc1d0 |
children | c9de3673e299 |
comparison
equal
deleted
inserted
replaced
18103:26ea12332e67 | 18104:7b408d60de9e |
---|---|
23 #include <math.h> | 23 #include <math.h> |
24 | 24 |
25 #include "config.h" | 25 #include "config.h" |
26 #include "mp_msg.h" | 26 #include "mp_msg.h" |
27 #include "cpudetect.h" | 27 #include "cpudetect.h" |
28 #include "asmalign.h" | |
28 | 29 |
29 #ifdef HAVE_MALLOC_H | 30 #ifdef HAVE_MALLOC_H |
30 #include <malloc.h> | 31 #include <malloc.h> |
31 #endif | 32 #endif |
32 | 33 |
151 asm volatile( | 152 asm volatile( |
152 "mov %3, %%"REG_a" \n\t" | 153 "mov %3, %%"REG_a" \n\t" |
153 "pcmpeqb %%mm7, %%mm7 \n\t" | 154 "pcmpeqb %%mm7, %%mm7 \n\t" |
154 "psllw $15, %%mm7 \n\t" | 155 "psllw $15, %%mm7 \n\t" |
155 "packsswb %%mm7, %%mm7 \n\t" | 156 "packsswb %%mm7, %%mm7 \n\t" |
156 ".balign 16 \n\t" | 157 ASMALIGN16 |
157 "1: \n\t" | 158 "1: \n\t" |
158 "movq (%0, %%"REG_a"), %%mm0 \n\t" | 159 "movq (%0, %%"REG_a"), %%mm0 \n\t" |
159 "movq (%1, %%"REG_a"), %%mm1 \n\t" | 160 "movq (%1, %%"REG_a"), %%mm1 \n\t" |
160 "pxor %%mm7, %%mm0 \n\t" | 161 "pxor %%mm7, %%mm0 \n\t" |
161 "paddsb %%mm1, %%mm0 \n\t" | 162 "paddsb %%mm1, %%mm0 \n\t" |
180 asm volatile( | 181 asm volatile( |
181 "mov %3, %%"REG_a" \n\t" | 182 "mov %3, %%"REG_a" \n\t" |
182 "pcmpeqb %%mm7, %%mm7 \n\t" | 183 "pcmpeqb %%mm7, %%mm7 \n\t" |
183 "psllw $15, %%mm7 \n\t" | 184 "psllw $15, %%mm7 \n\t" |
184 "packsswb %%mm7, %%mm7 \n\t" | 185 "packsswb %%mm7, %%mm7 \n\t" |
185 ".balign 16 \n\t" | 186 ASMALIGN16 |
186 "1: \n\t" | 187 "1: \n\t" |
187 "movq (%0, %%"REG_a"), %%mm0 \n\t" | 188 "movq (%0, %%"REG_a"), %%mm0 \n\t" |
188 "movq (%1, %%"REG_a"), %%mm1 \n\t" | 189 "movq (%1, %%"REG_a"), %%mm1 \n\t" |
189 "pxor %%mm7, %%mm0 \n\t" | 190 "pxor %%mm7, %%mm0 \n\t" |
190 "paddsb %%mm1, %%mm0 \n\t" | 191 "paddsb %%mm1, %%mm0 \n\t" |
218 static inline void lineNoiseAvg_MMX(uint8_t *dst, uint8_t *src, int len, int8_t **shift){ | 219 static inline void lineNoiseAvg_MMX(uint8_t *dst, uint8_t *src, int len, int8_t **shift){ |
219 long mmx_len= len&(~7); | 220 long mmx_len= len&(~7); |
220 | 221 |
221 asm volatile( | 222 asm volatile( |
222 "mov %5, %%"REG_a" \n\t" | 223 "mov %5, %%"REG_a" \n\t" |
223 ".balign 16 \n\t" | 224 ASMALIGN16 |
224 "1: \n\t" | 225 "1: \n\t" |
225 "movq (%1, %%"REG_a"), %%mm1 \n\t" | 226 "movq (%1, %%"REG_a"), %%mm1 \n\t" |
226 "movq (%0, %%"REG_a"), %%mm0 \n\t" | 227 "movq (%0, %%"REG_a"), %%mm0 \n\t" |
227 "paddb (%2, %%"REG_a"), %%mm1 \n\t" | 228 "paddb (%2, %%"REG_a"), %%mm1 \n\t" |
228 "paddb (%3, %%"REG_a"), %%mm1 \n\t" | 229 "paddb (%3, %%"REG_a"), %%mm1 \n\t" |