mirror of https://git.ffmpeg.org/ffmpeg.git
optimizing unpack_coeffs()
Originally committed as revision 4127 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
86e59cc01d
commit
3c096ac791
|
@ -1817,10 +1817,21 @@ static inline void unpack_coeffs(SnowContext *s, SubBand *b, SubBand * parent, i
|
||||||
int context= av_log2(/*ABS(ll) + */3*(l>>1) + (lt>>1) + (t&~1) + (rt>>1) + (p>>1));
|
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]);
|
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{
|
}else{
|
||||||
if(!run){
|
if(!run){
|
||||||
run= get_symbol2(&s->c, b->state[1], 3);
|
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{
|
}else{
|
||||||
run--;
|
run--;
|
||||||
v=0;
|
v=0;
|
||||||
|
@ -1835,14 +1846,6 @@ static inline void unpack_coeffs(SnowContext *s, SubBand *b, SubBand * parent, i
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
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
|
b->x_coeff[index++].x= w+1; //end marker
|
||||||
prev_index= prev2_index;
|
prev_index= prev2_index;
|
||||||
|
|
Loading…
Reference in New Issue