diff ffv1.c @ 9546:54ddf2b7d4bd libavcodec

Optimize sign handling in get_symbol().
author michael
date Fri, 24 Apr 2009 00:26:49 +0000
parents 3045aef3405c
children df1827eb3aaa
line wrap: on
line diff
--- a/ffv1.c	Thu Apr 23 23:14:26 2009 +0000
+++ b/ffv1.c	Fri Apr 24 00:26:49 2009 +0000
@@ -258,10 +258,8 @@
             a += a + get_rac(c, state+22 + i); //22..31
         }
 
-        if(is_signed && get_rac(c, state+11 + e)) //11..21
-            return -a;
-        else
-            return a;
+        e= -(is_signed && get_rac(c, state+11 + e)); //11..21
+        return (a^e)-e;
     }
 }