diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2006-10-20 10:00:28 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2006-10-20 10:00:28 +0000 |
commit | 849a50041c1c27e16da2ed235940af97a6673d3c (patch) | |
tree | a28da33d098e3e591e01e11427e9d9843057364e | |
parent | 942f3bb528807df5f272a7577a2a3813fe18b848 (diff) | |
download | ffmpeg-849a50041c1c27e16da2ed235940af97a6673d3c.tar.gz |
another instruction less in decode_significance_x86() -> 1% faster ion P3
Originally committed as revision 6745 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/cabac.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h index 592fe1313a..e191a62124 100644 --- a/libavcodec/cabac.h +++ b/libavcodec/cabac.h @@ -676,7 +676,7 @@ static always_inline int get_cabac_bypass_sign(CABACContext *c, int val){ static int decode_significance_x86(CABACContext *c, int max_coeff, uint8_t *significant_coeff_ctx_base, int *index){ void *end= significant_coeff_ctx_base + max_coeff - 1; int minusstart= -(int)significant_coeff_ctx_base; - int minusindex= -(int)index; + int minusindex= 4-(int)index; int coeff_count; asm volatile( "movl "RANGE "(%3), %%esi \n\t" @@ -695,11 +695,11 @@ static int decode_significance_x86(CABACContext *c, int max_coeff, uint8_t *sign "movl %4, %%ecx \n\t" "addl %1, %%ecx \n\t" "movl %%ecx, (%%eax) \n\t" - "addl $4, %%eax \n\t" "test $1, %%edx \n\t" " jnz 4f \n\t" + "addl $4, %%eax \n\t" "movl %%eax, %2 \n\t" "3: \n\t" @@ -710,7 +710,6 @@ static int decode_significance_x86(CABACContext *c, int max_coeff, uint8_t *sign "movl %4, %%ecx \n\t" "addl %1, %%ecx \n\t" "movl %%ecx, (%%eax) \n\t" - "addl $4, %%eax \n\t" "4: \n\t" "addl %6, %%eax \n\t" "shr $2, %%eax \n\t" |