From c78295ad1b528be05cc66f42af1e935c9ca87072 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 24 Jan 2010 18:17:01 +0000 Subject: Optimize level_code computation, 6cpu cycles speedup. Originally committed as revision 21428 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/h264_cavlc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libavcodec/h264_cavlc.c') diff --git a/libavcodec/h264_cavlc.c b/libavcodec/h264_cavlc.c index c248137248..9440ce03eb 100644 --- a/libavcodec/h264_cavlc.c +++ b/libavcodec/h264_cavlc.c @@ -441,7 +441,7 @@ static int decode_residual(H264Context *h, GetBitContext *gb, DCTELEM *block, in mask= -(level_code&1); level[trailing_ones]= (((2+level_code)>>1) ^ mask) - mask; }else{ - if(trailing_ones < 3) level_code += (level_code>>31)|1; + level_code += ((level_code>>31)|1) & -(trailing_ones < 3); suffix_length = 1; if(level_code + 3U > 6U) -- cgit v1.2.3