[FFmpeg-cvslog] r21428 - trunk/libavcodec/h264_cavlc.c

michael subversion
Sun Jan 24 19:17:02 CET 2010


Author: michael
Date: Sun Jan 24 19:17:01 2010
New Revision: 21428

Log:
Optimize level_code computation, 6cpu cycles speedup.

Modified:
   trunk/libavcodec/h264_cavlc.c

Modified: trunk/libavcodec/h264_cavlc.c
==============================================================================
--- trunk/libavcodec/h264_cavlc.c	Sun Jan 24 19:09:46 2010	(r21427)
+++ trunk/libavcodec/h264_cavlc.c	Sun Jan 24 19:17:01 2010	(r21428)
@@ -441,7 +441,7 @@ static int decode_residual(H264Context *
             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)



More information about the ffmpeg-cvslog mailing list