# HG changeset patch # User michael # Date 1113503606 0 # Node ID 39ef4c5454f0410efd9357f58bf69f8adbb9553f # Parent b7e6c3d31c6502faf1d02af88cdb604c23467521 optimizing unpack_coeffs() diff -r b7e6c3d31c65 -r 39ef4c5454f0 snow.c --- a/snow.c Wed Apr 13 01:57:19 2005 +0000 +++ b/snow.c Thu Apr 14 18:33:26 2005 +0000 @@ -1817,10 +1817,21 @@ int context= av_log2(/*ABS(ll) + */3*(l>>1) + (lt>>1) + (t&~1) + (rt>>1) + (p>>1)); v=get_rac(&s->c, &b->state[0][context]); + if(v){ + v= 2*(get_symbol2(&s->c, b->state[context + 2], context-4) + 1); + v+=get_rac(&s->c, &b->state[0][16 + 1 + 3 + quant3bA[l&0xFF] + 3*quant3bA[t&0xFF]]); + + b->x_coeff[index].x=x; + b->x_coeff[index++].coeff= v; + } }else{ if(!run){ run= get_symbol2(&s->c, b->state[1], 3); - v=1; + v= 2*(get_symbol2(&s->c, b->state[0 + 2], 0-4) + 1); + v+=get_rac(&s->c, &b->state[0][16 + 1 + 3]); + + b->x_coeff[index].x=x; + b->x_coeff[index++].coeff= v; }else{ run--; v=0; @@ -1835,14 +1846,6 @@ } } } - if(v){ - int context= av_log2(/*ABS(ll) + */3*(l>>1) + (lt>>1) + (t&~1) + (rt>>1) + (p>>1)); - v= 2*(get_symbol2(&s->c, b->state[context + 2], context-4) + 1); - v+=get_rac(&s->c, &b->state[0][16 + 1 + 3 + quant3bA[l&0xFF] + 3*quant3bA[t&0xFF]]); - - b->x_coeff[index].x=x; - b->x_coeff[index++].coeff= v; - } } b->x_coeff[index++].x= w+1; //end marker prev_index= prev2_index;