Mercurial > libavcodec.hg
diff cabac.h @ 3948:3edbf131ee44 libavcodec
refill cabac variables in 16bit steps, 3% faster get_cabac()
author | michael |
---|---|
date | Sat, 07 Oct 2006 15:44:14 +0000 |
parents | c8c591fe26f8 |
children | 900d21b85dd6 |
line wrap: on
line diff
--- a/cabac.h Sat Oct 07 15:30:46 2006 +0000 +++ b/cabac.h Sat Oct 07 15:44:14 2006 +0000 @@ -29,7 +29,7 @@ //#undef NDEBUG #include <assert.h> -#define CABAC_BITS 8 +#define CABAC_BITS 16 #define CABAC_MASK ((1<<CABAC_BITS)-1) typedef struct CABACContext{ @@ -302,7 +302,7 @@ #if 0 //P3:683 asm( - "lea -0x20000(%0), %2 \n\t" + "lea -0x2000000(%0), %2 \n\t" "shr $31, %2 \n\t" //FIXME 31->63 for x86-64 "shl %%cl, %0 \n\t" "shl %%cl, %1 \n\t" @@ -311,7 +311,7 @@ #elif 0 //P3:680 asm( - "cmp $0x20000, %0 \n\t" + "cmp $0x2000000, %0 \n\t" "setb %%cl \n\t" //FIXME 31->63 for x86-64 "shl %%cl, %0 \n\t" "shl %%cl, %1 \n\t" @@ -321,7 +321,7 @@ int temp2; //P3:665 asm( - "lea -0x20000(%0), %%eax \n\t" + "lea -0x2000000(%0), %%eax \n\t" "cdq \n\t" "mov %0, %%eax \n\t" "and %%edx, %0 \n\t" @@ -334,7 +334,7 @@ int temp2; //P3:673 asm( - "cmp $0x20000, %0 \n\t" + "cmp $0x2000000, %0 \n\t" "sbb %%edx, %%edx \n\t" "mov %0, %%eax \n\t" "and %%edx, %0 \n\t" @@ -347,7 +347,7 @@ int temp2; //P3:677 asm( - "cmp $0x20000, %0 \n\t" + "cmp $0x2000000, %0 \n\t" "lea (%0, %0), %%eax \n\t" "lea (%1, %1), %%edx \n\t" "cmovb %%eax, %0 \n\t"