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"