Originally committed as revision 19676 to svn://svn.ffmpeg.org/ffmpeg/trunk
| ... | ... |
@@ -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" |