comparison h264_cavlc.c @ 10993:3932fd1a1c25 libavcodec

Optimize level_code computation, 6cpu cycles speedup.
author michael
date Sun, 24 Jan 2010 18:17:01 +0000
parents cf7a9b5c4064
children 2179ea01df62
comparison
equal deleted inserted replaced
10992:9aae10c862f7 10993:3932fd1a1c25
439 439
440 suffix_length = 2; 440 suffix_length = 2;
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 if(trailing_ones < 3) level_code += (level_code>>31)|1; 444 level_code += ((level_code>>31)|1) & -(trailing_ones < 3);
445 445
446 suffix_length = 1; 446 suffix_length = 1;
447 if(level_code + 3U > 6U) 447 if(level_code + 3U > 6U)
448 suffix_length++; 448 suffix_length++;
449 level[trailing_ones]= level_code; 449 level[trailing_ones]= level_code;