summaryrefslogtreecommitdiff
path: root/libavcodec/cabac.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2006-10-07 15:44:14 +0000
committerMichael Niedermayer <michaelni@gmx.at>2006-10-07 15:44:14 +0000
commit5659b509c74ccee0f4abfe197d4dd269cfe21afd (patch)
treeb0a7036eb640197da47ff26fdc3a2d5a3b4fe08c /libavcodec/cabac.h
parentd026b45e73996650ff28ee5a8541ef59d2c421b1 (diff)
refill cabac variables in 16bit steps, 3% faster get_cabac()
Originally committed as revision 6578 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/cabac.h')
-rw-r--r--libavcodec/cabac.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h
index 7498f644a0..4453c09af7 100644
--- a/libavcodec/cabac.h
+++ b/libavcodec/cabac.h
@@ -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 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
#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 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
#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 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
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 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
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 @@ static inline void renorm_cabac_decoder_once(CABACContext *c){
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"