Mercurial > libavcodec.hg
changeset 4049:8c1a5ed03a00 libavcodec
another instruction less in decode_significance_x86() -> 1% faster ion P3
author | michael |
---|---|
date | Fri, 20 Oct 2006 10:00:28 +0000 |
parents | bf6791303fa0 |
children | 2c79a8281cb6 |
files | cabac.h |
diffstat | 1 files changed, 2 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/cabac.h Fri Oct 20 08:46:33 2006 +0000 +++ b/cabac.h Fri Oct 20 10:00:28 2006 +0000 @@ -676,7 +676,7 @@ 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 @@ "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 @@ "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"