summaryrefslogtreecommitdiff
path: root/libavcodec/cabac.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2006-10-16 11:11:20 +0000
committerMichael Niedermayer <michaelni@gmx.at>2006-10-16 11:11:20 +0000
commit165c5f0909ca61b6b10eeae6bd893e9f0aa02d3b (patch)
treee156ba8161e0d7dac70e544cc41451b078668ac3 /libavcodec/cabac.h
parent89ae0e620da01566a00eb572f815517db1379ef3 (diff)
fix !CMOV_IS_FAST case (iam not really happy with the fix but i didnt come up with a better one quickly)
Originally committed as revision 6707 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/cabac.h')
-rw-r--r--libavcodec/cabac.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavcodec/cabac.h b/libavcodec/cabac.h
index 836663034e..27869b154a 100644
--- a/libavcodec/cabac.h
+++ b/libavcodec/cabac.h
@@ -470,13 +470,14 @@ static int always_inline get_cabac_inline(CABACContext *c, uint8_t * const state
"subl %%edx, %%ebx \n\t"
"xorl %%ecx, %%eax \n\t"
#else /* CMOV_IS_FAST */
-FIXTHIS
"movl %%edx, %%ecx \n\t"
+ "shl $17, %%edx \n\t"
"subl %%ebx, %%edx \n\t"
"sarl $31, %%edx \n\t" //lps_mask
"subl %%ecx, %%esi \n\t" //RangeLPS - range
"andl %%edx, %%esi \n\t" //(RangeLPS - range)&lps_mask
"addl %%ecx, %%esi \n\t" //new range
+ "shl $17, %%ecx \n\t"
"andl %%edx, %%ecx \n\t"
"subl %%ecx, %%ebx \n\t"
"xorl %%edx, %%eax \n\t"