mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-07-01 05:31:04 +08:00
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
This commit is contained in:
@ -470,13 +470,14 @@ static int always_inline get_cabac_inline(CABACContext *c, uint8_t * const state
|
|||||||
"subl %%edx, %%ebx \n\t"
|
"subl %%edx, %%ebx \n\t"
|
||||||
"xorl %%ecx, %%eax \n\t"
|
"xorl %%ecx, %%eax \n\t"
|
||||||
#else /* CMOV_IS_FAST */
|
#else /* CMOV_IS_FAST */
|
||||||
FIXTHIS
|
|
||||||
"movl %%edx, %%ecx \n\t"
|
"movl %%edx, %%ecx \n\t"
|
||||||
|
"shl $17, %%edx \n\t"
|
||||||
"subl %%ebx, %%edx \n\t"
|
"subl %%ebx, %%edx \n\t"
|
||||||
"sarl $31, %%edx \n\t" //lps_mask
|
"sarl $31, %%edx \n\t" //lps_mask
|
||||||
"subl %%ecx, %%esi \n\t" //RangeLPS - range
|
"subl %%ecx, %%esi \n\t" //RangeLPS - range
|
||||||
"andl %%edx, %%esi \n\t" //(RangeLPS - range)&lps_mask
|
"andl %%edx, %%esi \n\t" //(RangeLPS - range)&lps_mask
|
||||||
"addl %%ecx, %%esi \n\t" //new range
|
"addl %%ecx, %%esi \n\t" //new range
|
||||||
|
"shl $17, %%ecx \n\t"
|
||||||
"andl %%edx, %%ecx \n\t"
|
"andl %%edx, %%ecx \n\t"
|
||||||
"subl %%ecx, %%ebx \n\t"
|
"subl %%ecx, %%ebx \n\t"
|
||||||
"xorl %%edx, %%eax \n\t"
|
"xorl %%edx, %%eax \n\t"
|
||||||
|
Reference in New Issue
Block a user