52 int level, uni_code, uni_len;
54 for(level=-256; level<256; level++){
65 l= (-
level) ^ ((1 << size) - 1);
72 uni_code ^= (1<<uni_len)-1;
75 uni_code<<=
size; uni_code|=l;
78 uni_code<<=1; uni_code|=1;
88 uni_code ^= (1<<uni_len)-1;
91 uni_code<<=
size; uni_code|=l;
94 uni_code<<=1; uni_code|=1;
106 static int initialized=0;
128 #if CONFIG_VC1_DECODER
190 return FASTDIV((sum + (scale>>1)), scale);
195 int16_t **dc_val_ptr,
int *dir_ptr)
214 b = dc_val[ - 1 -
wrap];
225 #if ARCH_X86 && HAVE_7REGS && HAVE_EBX_AVAILABLE
227 "movl %3, %%eax \n\t"
228 "shrl $1, %%eax \n\t"
229 "addl %%eax, %2 \n\t"
230 "addl %%eax, %1 \n\t"
231 "addl %0, %%eax \n\t"
233 "movl %%edx, %0 \n\t"
234 "movl %1, %%eax \n\t"
236 "movl %%edx, %1 \n\t"
237 "movl %2, %%eax \n\t"
239 "movl %%edx, %2 \n\t"
240 :
"+b" (
a),
"+c" (b),
"+D" (c)
247 a = (a + (8 >> 1)) / 8;
248 b = (b + (8 >> 1)) / 8;
249 c = (c + (8 >> 1)) / 8;
251 a =
FASTDIV((a + (scale >> 1)), scale);
252 b =
FASTDIV((b + (scale >> 1)), scale);
253 c =
FASTDIV((c + (scale >> 1)), scale);
270 if (abs(a - b) < abs(b - c)) {
285 if(s->
mb_x==0) a= (1024 + (scale>>1))/
scale;
286 else a=
get_dc(dest-8, wrap, scale*8);
287 if(s->
mb_y==0) c= (1024 + (scale>>1))/
scale;
288 else c=
get_dc(dest-8*wrap, wrap, scale*8);
315 if (abs(a - b) < abs(b - c)) {
324 if (abs(a - b) <= abs(b - c)) {
334 *dc_val_ptr = &dc_val[0];