summaryrefslogtreecommitdiff
path: root/libavcodec/cabac.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2006-10-10 06:56:51 +0000
committerMichael Niedermayer <michaelni@gmx.at>2006-10-10 06:56:51 +0000
commit9ed92c65f14f7544e5360ae6c872183e30ed266f (patch)
tree2f9be4c9c12d7324bc71e35b833c01e273789dbb /libavcodec/cabac.h
parentee56f2c020916d03759c82ee48b12471955a5a40 (diff)
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
Diffstat (limited to 'libavcodec/cabac.h')
-rw-r--r--libavcodec/cabac.h3
1 files changed, 1 insertions, 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"