Mercurial > libavcodec.hg
comparison i386/idct_mmx_xvid.c @ 2967:ef2149182f1c libavcodec
COSMETICS: Remove all trailing whitespace.
author | diego |
---|---|
date | Sat, 17 Dec 2005 18:14:38 +0000 |
parents | f7f8a1c2a077 |
children | 0b546eab515d |
comparison
equal
deleted
inserted
replaced
2966:564788471dd4 | 2967:ef2149182f1c |
---|---|
70 //----------------------------------------------------------------------------- | 70 //----------------------------------------------------------------------------- |
71 // Various memory constants (trigonometric values or rounding values) | 71 // Various memory constants (trigonometric values or rounding values) |
72 //----------------------------------------------------------------------------- | 72 //----------------------------------------------------------------------------- |
73 | 73 |
74 | 74 |
75 static const int16_t tg_1_16[4*4] attribute_used __attribute__ ((aligned(8))) = { | 75 static const int16_t tg_1_16[4*4] attribute_used __attribute__ ((aligned(8))) = { |
76 13036,13036,13036,13036, // tg * (2<<16) + 0.5 | 76 13036,13036,13036,13036, // tg * (2<<16) + 0.5 |
77 27146,27146,27146,27146, // tg * (2<<16) + 0.5 | 77 27146,27146,27146,27146, // tg * (2<<16) + 0.5 |
78 -21746,-21746,-21746,-21746, // tg * (2<<16) + 0.5 | 78 -21746,-21746,-21746,-21746, // tg * (2<<16) + 0.5 |
79 23170,23170,23170,23170}; // cos * (2<<15) + 0.5 | 79 23170,23170,23170,23170}; // cos * (2<<15) + 0.5 |
80 | 80 |
81 static const int32_t rounder_0[2*8] attribute_used __attribute__ ((aligned(8))) = { | 81 static const int32_t rounder_0[2*8] attribute_used __attribute__ ((aligned(8))) = { |
82 65536,65536, | 82 65536,65536, |
83 3597,3597, | 83 3597,3597, |
84 2260,2260, | 84 2260,2260, |
85 1203,1203, | 85 1203,1203, |
86 0,0, | 86 0,0, |
146 //----------------------------------------------------------------------------- | 146 //----------------------------------------------------------------------------- |
147 // Tables for mmx processors | 147 // Tables for mmx processors |
148 //----------------------------------------------------------------------------- | 148 //----------------------------------------------------------------------------- |
149 | 149 |
150 // Table for rows 0,4 - constants are multiplied by cos_4_16 | 150 // Table for rows 0,4 - constants are multiplied by cos_4_16 |
151 static const int16_t tab_i_04_mmx[32*4] attribute_used __attribute__ ((aligned(8))) = { | 151 static const int16_t tab_i_04_mmx[32*4] attribute_used __attribute__ ((aligned(8))) = { |
152 16384,16384,16384,-16384, // movq-> w06 w04 w02 w00 | 152 16384,16384,16384,-16384, // movq-> w06 w04 w02 w00 |
153 21407,8867,8867,-21407, // w07 w05 w03 w01 | 153 21407,8867,8867,-21407, // w07 w05 w03 w01 |
154 16384,-16384,16384,16384, // w14 w12 w10 w08 | 154 16384,-16384,16384,16384, // w14 w12 w10 w08 |
155 -8867,21407,-21407,-8867, // w15 w13 w11 w09 | 155 -8867,21407,-21407,-8867, // w15 w13 w11 w09 |
156 22725,12873,19266,-22725, // w22 w20 w18 w16 | 156 22725,12873,19266,-22725, // w22 w20 w18 w16 |
188 //----------------------------------------------------------------------------- | 188 //----------------------------------------------------------------------------- |
189 // Tables for xmm processors | 189 // Tables for xmm processors |
190 //----------------------------------------------------------------------------- | 190 //----------------------------------------------------------------------------- |
191 | 191 |
192 // %3 for rows 0,4 - constants are multiplied by cos_4_16 | 192 // %3 for rows 0,4 - constants are multiplied by cos_4_16 |
193 static const int16_t tab_i_04_xmm[32*4] attribute_used __attribute__ ((aligned(8))) = { | 193 static const int16_t tab_i_04_xmm[32*4] attribute_used __attribute__ ((aligned(8))) = { |
194 16384,21407,16384,8867, // movq-> w05 w04 w01 w00 | 194 16384,21407,16384,8867, // movq-> w05 w04 w01 w00 |
195 16384,8867,-16384,-21407, // w07 w06 w03 w02 | 195 16384,8867,-16384,-21407, // w07 w06 w03 w02 |
196 16384,-8867,16384,-21407, // w13 w12 w09 w08 | 196 16384,-8867,16384,-21407, // w13 w12 w09 w08 |
197 -16384,21407,16384,-8867, // w15 w14 w11 w10 | 197 -16384,21407,16384,-8867, // w15 w14 w11 w10 |
198 22725,19266,19266,-4520, // w21 w20 w17 w16 | 198 22725,19266,19266,-4520, // w21 w20 w17 w16 |
499 DCT_8_INV_ROW_MMX(3*16(%0), 3*16(%0), 64*3(%2), 8*3(%1)) | 499 DCT_8_INV_ROW_MMX(3*16(%0), 3*16(%0), 64*3(%2), 8*3(%1)) |
500 DCT_8_INV_ROW_MMX(4*16(%0), 4*16(%0), 64*0(%2), 8*4(%1)) | 500 DCT_8_INV_ROW_MMX(4*16(%0), 4*16(%0), 64*0(%2), 8*4(%1)) |
501 DCT_8_INV_ROW_MMX(5*16(%0), 5*16(%0), 64*3(%2), 8*5(%1)) | 501 DCT_8_INV_ROW_MMX(5*16(%0), 5*16(%0), 64*3(%2), 8*5(%1)) |
502 DCT_8_INV_ROW_MMX(6*16(%0), 6*16(%0), 64*2(%2), 8*6(%1)) | 502 DCT_8_INV_ROW_MMX(6*16(%0), 6*16(%0), 64*2(%2), 8*6(%1)) |
503 DCT_8_INV_ROW_MMX(7*16(%0), 7*16(%0), 64*1(%2), 8*7(%1)) | 503 DCT_8_INV_ROW_MMX(7*16(%0), 7*16(%0), 64*1(%2), 8*7(%1)) |
504 | 504 |
505 //# Process the columns (4 at a time) | 505 //# Process the columns (4 at a time) |
506 DCT_8_INV_COL(0(%0), 0(%0)) | 506 DCT_8_INV_COL(0(%0), 0(%0)) |
507 DCT_8_INV_COL(8(%0), 8(%0)) | 507 DCT_8_INV_COL(8(%0), 8(%0)) |
508 :: "r"(block), "r"(rounder_0), "r"(tab_i_04_mmx), "r"(tg_1_16)); | 508 :: "r"(block), "r"(rounder_0), "r"(tab_i_04_mmx), "r"(tg_1_16)); |
509 } | 509 } |
522 DCT_8_INV_ROW_XMM(3*16(%0), 3*16(%0), 64*3(%2), 8*3(%1)) | 522 DCT_8_INV_ROW_XMM(3*16(%0), 3*16(%0), 64*3(%2), 8*3(%1)) |
523 DCT_8_INV_ROW_XMM(4*16(%0), 4*16(%0), 64*0(%2), 8*4(%1)) | 523 DCT_8_INV_ROW_XMM(4*16(%0), 4*16(%0), 64*0(%2), 8*4(%1)) |
524 DCT_8_INV_ROW_XMM(5*16(%0), 5*16(%0), 64*3(%2), 8*5(%1)) | 524 DCT_8_INV_ROW_XMM(5*16(%0), 5*16(%0), 64*3(%2), 8*5(%1)) |
525 DCT_8_INV_ROW_XMM(6*16(%0), 6*16(%0), 64*2(%2), 8*6(%1)) | 525 DCT_8_INV_ROW_XMM(6*16(%0), 6*16(%0), 64*2(%2), 8*6(%1)) |
526 DCT_8_INV_ROW_XMM(7*16(%0), 7*16(%0), 64*1(%2), 8*7(%1)) | 526 DCT_8_INV_ROW_XMM(7*16(%0), 7*16(%0), 64*1(%2), 8*7(%1)) |
527 | 527 |
528 //# Process the columns (4 at a time) | 528 //# Process the columns (4 at a time) |
529 DCT_8_INV_COL(0(%0), 0(%0)) | 529 DCT_8_INV_COL(0(%0), 0(%0)) |
530 DCT_8_INV_COL(8(%0), 8(%0)) | 530 DCT_8_INV_COL(8(%0), 8(%0)) |
531 :: "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16)); | 531 :: "r"(block), "r"(rounder_0), "r"(tab_i_04_xmm), "r"(tg_1_16)); |
532 } | 532 } |