[FFmpeg-cvslog] r21888 - trunk/libavcodec/h264_cabac.c

michael subversion
Fri Feb 19 03:37:11 CET 2010


Author: michael
Date: Fri Feb 19 03:37:11 2010
New Revision: 21888

Log:
Get rid of a local variable, 10 cpu cycles faster.

Modified:
   trunk/libavcodec/h264_cabac.c

Modified: trunk/libavcodec/h264_cabac.c
==============================================================================
--- trunk/libavcodec/h264_cabac.c	Fri Feb 19 00:37:48 2010	(r21887)
+++ trunk/libavcodec/h264_cabac.c	Fri Feb 19 03:37:11 2010	(r21888)
@@ -914,17 +914,16 @@ static int decode_cabac_mb_mvd( H264Cont
                h->mvd_cache[list][scan8[n] - 8][l];
     int ctxbase = (l == 0) ? 40 : 47;
     int mvd;
-    int ctx = (amvd>2) + (amvd>32);
 
-    if(!get_cabac(&h->cabac, &h->cabac_state[ctxbase+ctx]))
+    if(!get_cabac(&h->cabac, &h->cabac_state[ctxbase+(amvd>2) + (amvd>32)]))
         return 0;
 
     mvd= 1;
-    ctx= 3;
-    while( mvd < 9 && get_cabac( &h->cabac, &h->cabac_state[ctxbase+ctx] ) ) {
+    ctxbase+= 3;
+    while( mvd < 9 && get_cabac( &h->cabac, &h->cabac_state[ctxbase] ) ) {
+        if( mvd < 4 )
+            ctxbase++;
         mvd++;
-        if( ctx < 6 )
-            ctx++;
     }
 
     if( mvd >= 9 ) {



More information about the ffmpeg-cvslog mailing list