OSDN Git Service

fix !CMOV_IS_FAST case (iam not really happy with the fix but i didnt come up with...
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 16 Oct 2006 11:11:20 +0000 (11:11 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 16 Oct 2006 11:11:20 +0000 (11:11 +0000)
Originally committed as revision 6707 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/cabac.h

index 8366630..27869b1 100644 (file)
@@ -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"