From 9ed92c65f14f7544e5360ae6c872183e30ed266f Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Tue, 10 Oct 2006 06:56:51 +0000 Subject: [PATCH] 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 Originally committed as revision 6618 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/cabac.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h index 7bd0e417be..d1022a98f8 100644 --- a/libavcodec/cabac.h +++ b/libavcodec/cabac.h @@ -441,12 +441,11 @@ static int get_cabac(CABACContext *c, uint8_t * const state){ "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"