Mercurial > libavcodec.hg
comparison h264_cavlc.c @ 10994:2179ea01df62 libavcodec
Simplify suffix_length computation, same speed.
author | michael |
---|---|
date | Sun, 24 Jan 2010 18:18:08 +0000 |
parents | 3932fd1a1c25 |
children | 5352afcd6748 |
comparison
equal
deleted
inserted
replaced
10993:3932fd1a1c25 | 10994:2179ea01df62 |
---|---|
441 mask= -(level_code&1); | 441 mask= -(level_code&1); |
442 level[trailing_ones]= (((2+level_code)>>1) ^ mask) - mask; | 442 level[trailing_ones]= (((2+level_code)>>1) ^ mask) - mask; |
443 }else{ | 443 }else{ |
444 level_code += ((level_code>>31)|1) & -(trailing_ones < 3); | 444 level_code += ((level_code>>31)|1) & -(trailing_ones < 3); |
445 | 445 |
446 suffix_length = 1; | 446 suffix_length = 1 + (level_code + 3U > 6U); |
447 if(level_code + 3U > 6U) | |
448 suffix_length++; | |
449 level[trailing_ones]= level_code; | 447 level[trailing_ones]= level_code; |
450 } | 448 } |
451 | 449 |
452 //remaining coefficients have suffix_length > 0 | 450 //remaining coefficients have suffix_length > 0 |
453 for(i=trailing_ones+1;i<total_coeff;i++) { | 451 for(i=trailing_ones+1;i<total_coeff;i++) { |