comparison libmpcodecs/vf_ilpack.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 20aca9baf5d8
children 497ebe3ecc2b
comparison
equal deleted inserted replaced
18103:26ea12332e67 18104:7b408d60de9e
4 #include <inttypes.h> 4 #include <inttypes.h>
5 5
6 #include "config.h" 6 #include "config.h"
7 #include "mp_msg.h" 7 #include "mp_msg.h"
8 #include "cpudetect.h" 8 #include "cpudetect.h"
9 #include "asmalign.h"
9 10
10 #include "img_format.h" 11 #include "img_format.h"
11 #include "mp_image.h" 12 #include "mp_image.h"
12 #include "vf.h" 13 #include "vf.h"
13 14
64 static void pack_nn_MMX(unsigned char *dst, unsigned char *y, 65 static void pack_nn_MMX(unsigned char *dst, unsigned char *y,
65 unsigned char *u, unsigned char *v, int w) 66 unsigned char *u, unsigned char *v, int w)
66 { 67 {
67 int j; 68 int j;
68 asm volatile ("" 69 asm volatile (""
69 ".balign 16 \n\t" 70 ASMALIGN16
70 "1: \n\t" 71 "1: \n\t"
71 "movq (%0), %%mm1 \n\t" 72 "movq (%0), %%mm1 \n\t"
72 "movq (%0), %%mm2 \n\t" 73 "movq (%0), %%mm2 \n\t"
73 "movq (%1), %%mm4 \n\t" 74 "movq (%1), %%mm4 \n\t"
74 "movq (%2), %%mm6 \n\t" 75 "movq (%2), %%mm6 \n\t"
103 "movl 4(%%"REG_d"), %%"REG_BP" \n\t" 104 "movl 4(%%"REG_d"), %%"REG_BP" \n\t"
104 "movl (%%"REG_d"), %%"REG_d" \n\t" 105 "movl (%%"REG_d"), %%"REG_d" \n\t"
105 #endif 106 #endif
106 "pxor %%mm0, %%mm0 \n\t" 107 "pxor %%mm0, %%mm0 \n\t"
107 108
108 ".balign 16 \n\t" 109 ASMALIGN16
109 ".Lli0: \n\t" 110 ".Lli0: \n\t"
110 "movq (%%"REG_S"), %%mm1 \n\t" 111 "movq (%%"REG_S"), %%mm1 \n\t"
111 "movq (%%"REG_S"), %%mm2 \n\t" 112 "movq (%%"REG_S"), %%mm2 \n\t"
112 113
113 "movq (%%"REG_a",%%"REG_d",2), %%mm4 \n\t" 114 "movq (%%"REG_a",%%"REG_d",2), %%mm4 \n\t"
211 "movl 4(%%"REG_d"), %%"REG_BP" \n\t" 212 "movl 4(%%"REG_d"), %%"REG_BP" \n\t"
212 "movl (%%"REG_d"), %%"REG_d" \n\t" 213 "movl (%%"REG_d"), %%"REG_d" \n\t"
213 #endif 214 #endif
214 "pxor %%mm0, %%mm0 \n\t" 215 "pxor %%mm0, %%mm0 \n\t"
215 216
216 ".balign 16 \n\t" 217 ASMALIGN16
217 ".Lli1: \n\t" 218 ".Lli1: \n\t"
218 "movq (%%"REG_S"), %%mm1 \n\t" 219 "movq (%%"REG_S"), %%mm1 \n\t"
219 "movq (%%"REG_S"), %%mm2 \n\t" 220 "movq (%%"REG_S"), %%mm2 \n\t"
220 221
221 "movq (%%"REG_a",%%"REG_d",2), %%mm4 \n\t" 222 "movq (%%"REG_a",%%"REG_d",2), %%mm4 \n\t"