comparison ppc/idct_altivec.c @ 1033:b4172ff70d27 libavcodec

Altivec on non darwin systems patch by Romain Dolbeau
author bellard
date Sun, 26 Jan 2003 22:29:47 +0000
parents 35cf2f4a0f8c
children b32afefe7d33
comparison
equal deleted inserted replaced
1032:8f440ca8e0b0 1033:b4172ff70d27
149 vx4 = vec_sra (vy4, shift); \ 149 vx4 = vec_sra (vy4, shift); \
150 vx5 = vec_sra (vy5, shift); \ 150 vx5 = vec_sra (vy5, shift); \
151 vx6 = vec_sra (vy6, shift); \ 151 vx6 = vec_sra (vy6, shift); \
152 vx7 = vec_sra (vy7, shift); 152 vx7 = vec_sra (vy7, shift);
153 153
154
155 #ifdef CONFIG_DARWIN
154 static const vector_s16_t constants[5] = { 156 static const vector_s16_t constants[5] = {
155 (vector_s16_t)(23170, 13573, 6518, 21895, -23170, -21895, 32, 31), 157 (vector_s16_t)(23170, 13573, 6518, 21895, -23170, -21895, 32, 31),
156 (vector_s16_t)(16384, 22725, 21407, 19266, 16384, 19266, 21407, 22725), 158 (vector_s16_t)(16384, 22725, 21407, 19266, 16384, 19266, 21407, 22725),
157 (vector_s16_t)(22725, 31521, 29692, 26722, 22725, 26722, 29692, 31521), 159 (vector_s16_t)(22725, 31521, 29692, 26722, 22725, 26722, 29692, 31521),
158 (vector_s16_t)(21407, 29692, 27969, 25172, 21407, 25172, 27969, 29692), 160 (vector_s16_t)(21407, 29692, 27969, 25172, 21407, 25172, 27969, 29692),
159 (vector_s16_t)(19266, 26722, 25172, 22654, 19266, 22654, 25172, 26722) 161 (vector_s16_t)(19266, 26722, 25172, 22654, 19266, 22654, 25172, 26722)
160 }; 162 };
163 #else
164 // broken gcc
165 static const vector_s16_t constants[5] = {
166 (vector_s16_t){23170, 13573, 6518, 21895, -23170, -21895, 32, 31},
167 (vector_s16_t){16384, 22725, 21407, 19266, 16384, 19266, 21407, 22725},
168 (vector_s16_t){22725, 31521, 29692, 26722, 22725, 26722, 29692, 31521},
169 (vector_s16_t){21407, 29692, 27969, 25172, 21407, 25172, 27969, 29692},
170 (vector_s16_t){19266, 26722, 25172, 22654, 19266, 22654, 25172, 26722}
171 };
172 #endif
161 173
162 void idct_put_altivec(uint8_t* dest, int stride, vector_s16_t* block) 174 void idct_put_altivec(uint8_t* dest, int stride, vector_s16_t* block)
163 { 175 {
164 POWERPC_TBL_DECLARE(altivec_idct_put_num, 1); 176 POWERPC_TBL_DECLARE(altivec_idct_put_num, 1);
165 #ifdef ALTIVEC_USE_REFERENCE_C_CODE 177 #ifdef ALTIVEC_USE_REFERENCE_C_CODE