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++) {