[Ffmpeg-cvslog] r6618 - trunk/libavcodec/cabac.h

michael subversion
Tue Oct 10 08:56:52 CEST 2006


Author: michael
Date: Tue Oct 10 08:56:51 2006
New Revision: 6618

Modified:
   trunk/libavcodec/cabac.h

Log:
moving another bit&1 out, this is as fast as with it in there, but it makes more sense with it outside of the loop


Modified: trunk/libavcodec/cabac.h
==============================================================================
--- trunk/libavcodec/cabac.h	(original)
+++ trunk/libavcodec/cabac.h	Tue Oct 10 08:56:51 2006
@@ -441,12 +441,11 @@
         "2:                                     \n\t"
         "movl %%edx, "RANGE    "(%2)            \n\t"
         "movl %%ebx, "LOW      "(%2)            \n\t"
-        "andl $1, %%eax                         \n\t"
-
         :"=&a"(bit) //FIXME this is fragile gcc either runs out of registers or misscompiles it (for example if "+a"(bit) or "+m"(*state) is used
         :"r"(state), "r"(c)
         : "%ecx", "%ebx", "%edx", "%esi"
     );
+    bit&=1;
 #else
     asm volatile(
         "movzbl (%1), %%eax                     \n\t"




More information about the ffmpeg-cvslog mailing list