Lines 6-26
Link Here
|
6 |
|
6 |
|
7 |
static long long mpeg3_MMX_0 = 0L; |
7 |
static long long mpeg3_MMX_0 = 0L; |
8 |
static unsigned long mpeg3_MMX_10w[] = {0x00100010, 0x00100010}; /*dd 00010 0010h, 000100010h */ |
8 |
static unsigned long mpeg3_MMX_10w[] = {0x00100010, 0x00100010}; /*dd 00010 0010h, 000100010h */ |
9 |
static unsigned long mpeg3_MMX_80w[] = {0x00800080, 0x00800080}; /*dd 00080 0080h, 000800080h */ |
9 |
static unsigned long __attribute__((used)) mpeg3_MMX_80w[] = {0x00800080, 0x00800080}; /*dd 00080 0080h, 000800080h */ |
10 |
|
10 |
|
11 |
static unsigned long mpeg3_MMX_00FFw[] = {0x00ff00ff, 0x00ff00ff}; /*dd 000FF 00FFh, 000FF00FFh */ |
11 |
static unsigned long __attribute__((used)) mpeg3_MMX_00FFw[] = {0x00ff00ff, 0x00ff00ff}; /*dd 000FF 00FFh, 000FF00FFh */ |
12 |
|
12 |
|
13 |
static unsigned short mpeg3_MMX_Ublucoeff[] = {0x81, 0x81, 0x81, 0x81}; /*dd 00081 0081h, 000810081h */ |
13 |
static unsigned short __attribute__((used)) mpeg3_MMX_Ublucoeff[] = {0x81, 0x81, 0x81, 0x81}; /*dd 00081 0081h, 000810081h */ |
14 |
static unsigned short mpeg3_MMX_Vredcoeff[] = {0x66, 0x66, 0x66, 0x66}; /*dd 00066 0066h, 000660066h */ |
14 |
static unsigned short __attribute__((used)) mpeg3_MMX_Vredcoeff[] = {0x66, 0x66, 0x66, 0x66}; /*dd 00066 0066h, 000660066h */ |
15 |
|
15 |
|
16 |
static unsigned short mpeg3_MMX_Ugrncoeff[] = {0xffe8, 0xffe8, 0xffe8, 0xffe8}; /*dd 0FFE7 FFE7h, 0FFE7FFE7h */ |
16 |
static unsigned short __attribute__((used)) mpeg3_MMX_Ugrncoeff[] = {0xffe8, 0xffe8, 0xffe8, 0xffe8}; /*dd 0FFE7 FFE7h, 0FFE7FFE7h */ |
17 |
static unsigned short mpeg3_MMX_Vgrncoeff[] = {0xffcd, 0xffcd, 0xffcd, 0xffcd}; /*dd 0FFCC FFCCh, 0FFCCFFCCh */ |
17 |
static unsigned short __attribute__((used)) mpeg3_MMX_Vgrncoeff[] = {0xffcd, 0xffcd, 0xffcd, 0xffcd}; /*dd 0FFCC FFCCh, 0FFCCFFCCh */ |
18 |
|
18 |
|
19 |
static unsigned short mpeg3_MMX_Ycoeff[] = {0x4a, 0x4a, 0x4a, 0x4a}; /*dd 0004A 004Ah, 0004A004Ah */ |
19 |
static unsigned short __attribute__((used)) mpeg3_MMX_Ycoeff[] = {0x4a, 0x4a, 0x4a, 0x4a}; /*dd 0004A 004Ah, 0004A004Ah */ |
20 |
|
20 |
|
21 |
static unsigned short mpeg3_MMX_redmask[] = {0xf800, 0xf800, 0xf800, 0xf800}; /*dd 07c00 7c00h, 07c007c00h */ |
21 |
static unsigned short __attribute__((used)) mpeg3_MMX_redmask[] = {0xf800, 0xf800, 0xf800, 0xf800}; /*dd 07c00 7c00h, 07c007c00h */ |
22 |
|
22 |
|
23 |
static unsigned short mpeg3_MMX_grnmask[] = {0x7e0, 0x7e0, 0x7e0, 0x7e0}; /*dd 003e0 03e0h, 003e003e0h */ |
23 |
static unsigned short __attribute__((used)) mpeg3_MMX_grnmask[] = {0x7e0, 0x7e0, 0x7e0, 0x7e0}; /*dd 003e0 03e0h, 003e003e0h */ |
24 |
|
24 |
|
25 |
static unsigned char mpeg3_601_to_rgb[256]; |
25 |
static unsigned char mpeg3_601_to_rgb[256]; |
26 |
|
26 |
|
Lines 207-218
Link Here
|
207 |
); |
207 |
); |
208 |
} |
208 |
} |
209 |
|
209 |
|
210 |
static unsigned long long mpeg3_MMX_U_80 = 0x0000008000800000LL; |
210 |
static unsigned long long __attribute__((used)) mpeg3_MMX_U_80 = 0x0000008000800000LL; |
211 |
static unsigned long long mpeg3_MMX_V_80 = 0x0000000000800080LL; |
211 |
static unsigned long long __attribute__((used)) mpeg3_MMX_V_80 = 0x0000000000800080LL; |
212 |
static long long mpeg3_MMX_U_COEF = 0x00000058ffd30000LL; |
212 |
static long long __attribute__((used)) mpeg3_MMX_U_COEF = 0x00000058ffd30000LL; |
213 |
static long long mpeg3_MMX_V_COEF = 0x00000000ffea006fLL; |
213 |
static long long __attribute__((used)) mpeg3_MMX_V_COEF = 0x00000000ffea006fLL; |
214 |
static long long mpeg3_MMX_601_Y_COEF = 0x0000004800480048LL; |
214 |
static long long __attribute__((used)) mpeg3_MMX_601_Y_COEF = 0x0000004800480048LL; |
215 |
static long long mpeg3_MMX_601_Y_DIFF = 0x0000000000000010LL; |
215 |
static long long __attribute__((used)) mpeg3_MMX_601_Y_DIFF = 0x0000000000000010LL; |
216 |
|
216 |
|
217 |
inline void mpeg3_bgra32_mmx(unsigned long y, |
217 |
inline void mpeg3_bgra32_mmx(unsigned long y, |
218 |
unsigned long u, |
218 |
unsigned long u, |
Lines 297-306
Link Here
|
297 |
: "r" (&y), "r" (&u), "r" (&v), "r" (output)); |
297 |
: "r" (&y), "r" (&u), "r" (&v), "r" (output)); |
298 |
} |
298 |
} |
299 |
|
299 |
|
300 |
static unsigned long long mpeg3_MMX_U_80_RGB = 0x0000000000800080LL; |
300 |
static unsigned long long __attribute__((used)) mpeg3_MMX_U_80_RGB = 0x0000000000800080LL; |
301 |
static unsigned long long mpeg3_MMX_V_80_RGB = 0x0000008000800000LL; |
301 |
static unsigned long long __attribute__((used)) mpeg3_MMX_V_80_RGB = 0x0000008000800000LL; |
302 |
static long long mpeg3_MMX_U_COEF_RGB = 0x00000000ffd30058LL; |
302 |
static long long __attribute__((used)) mpeg3_MMX_U_COEF_RGB = 0x00000000ffd30058LL; |
303 |
static long long mpeg3_MMX_V_COEF_RGB = 0x0000006fffea0000LL; |
303 |
static long long __attribute__((used)) mpeg3_MMX_V_COEF_RGB = 0x0000006fffea0000LL; |
304 |
|
304 |
|
305 |
inline void mpeg3_rgba32_mmx(unsigned long y, |
305 |
inline void mpeg3_rgba32_mmx(unsigned long y, |
306 |
unsigned long u, |
306 |
unsigned long u, |