Originally committed as revision 19676 to svn://svn.ffmpeg.org/ffmpeg/trunk
Reimar Döffinger authored on 2009/08/21 18:54:28... | ... |
@@ -637,7 +637,7 @@ static int av_unused get_cabac_bypass(CABACContext *c){ |
637 | 637 |
|
638 | 638 |
|
639 | 639 |
static av_always_inline int get_cabac_bypass_sign(CABACContext *c, int val){ |
640 |
-#if ARCH_X86 && !(defined(PIC) && defined(__GNUC__)) |
|
640 |
+#if ARCH_X86 && HAVE_EBX_AVAILABLE |
|
641 | 641 |
__asm__ volatile( |
642 | 642 |
"movl "RANGE "(%1), %%ebx \n\t" |
643 | 643 |
"movl "LOW "(%1), %%eax \n\t" |
... | ... |
@@ -31,6 +31,7 @@ |
31 | 31 |
#include "dsputil.h" |
32 | 32 |
#include "mpegvideo.h" |
33 | 33 |
#include "msmpeg4.h" |
34 |
+#include "libavutil/x86_cpu.h" |
|
34 | 35 |
|
35 | 36 |
/* |
36 | 37 |
* You can also call this codec : MPEG4 with a twist ! |
... | ... |
@@ -647,7 +648,7 @@ static inline int msmpeg4_pred_dc(MpegEncContext * s, int n, |
647 | 647 |
necessitate to modify mpegvideo.c. The problem comes from the |
648 | 648 |
fact they decided to store the quantized DC (which would lead |
649 | 649 |
to problems if Q could vary !) */ |
650 |
-#if ARCH_X86 && !defined PIC |
|
650 |
+#if ARCH_X86 && HAVE_7REGS && HAVE_EBX_AVAILABLE |
|
651 | 651 |
__asm__ volatile( |
652 | 652 |
"movl %3, %%eax \n\t" |
653 | 653 |
"shrl $1, %%eax \n\t" |