Mercurial > libavcodec.hg
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; |