[FFmpeg-cvslog] r19974 - trunk/libavcodec/vp3.c

melanson subversion
Wed Sep 23 07:38:12 CEST 2009


Author: melanson
Date: Wed Sep 23 07:38:12 2009
New Revision: 19974

Log:
Another micro-optimization for unpack_vlcs(): Eliminate a possible 
branch and save around 45k-55k dezicycles per function run.

Modified:
   trunk/libavcodec/vp3.c

Modified: trunk/libavcodec/vp3.c
==============================================================================
--- trunk/libavcodec/vp3.c	Wed Sep 23 00:44:56 2009	(r19973)
+++ trunk/libavcodec/vp3.c	Wed Sep 23 07:38:12 2009	(r19974)
@@ -1070,10 +1070,9 @@ static int unpack_vlcs(Vp3DecodeContext 
                 coeff = zero_run = 0;
             } else {
                 bits_to_get = coeff_get_bits[token];
-                if (!bits_to_get)
-                    coeff = coeff_tables[token][0];
-                else
-                    coeff = coeff_tables[token][get_bits(gb, bits_to_get)];
+                if (bits_to_get)
+                    bits_to_get = get_bits(gb, bits_to_get);
+                coeff = coeff_tables[token][bits_to_get];
 
                 zero_run = zero_run_base[token];
                 if (zero_run_get_bits[token])



More information about the ffmpeg-cvslog mailing list