提交 ac2549b5 编写于 作者: M Michael Niedermayer

avoid hard to predict branch (idea by arpi)

Originally committed as revision 5252 to svn://svn.ffmpeg.org/ffmpeg/trunk
上级 9296d45d
......@@ -1288,11 +1288,10 @@ static int decode_block(MJpegDecodeContext *s, DCTELEM *block,
code &= 0xf;
UPDATE_CACHE(re, &s->gb)
if ((int32_t)GET_CACHE(re,&s->gb)<0) { //MSB=1
level = NEG_USR32( GET_CACHE(re,&s->gb),code);
} else {
level = - NEG_USR32(~GET_CACHE(re,&s->gb),code);
{
int cache=GET_CACHE(re,gb);
int sign=(~cache)>>31;
level = (NEG_USR32(sign ^ cache,code) ^ sign) + (sign&1) ;
}
LAST_SKIP_BITS(re, &s->gb, code)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册