[FFmpeg-devel] [PATCH] msmpeg4.c, cabac.h: do not check for PIC, use HAVE_7REGS && HAVE_EBX_AVAILABLE instead

Reimar Döffinger Reimar.Doeffinger
Wed Aug 19 15:15:27 CEST 2009


Hello,
I think we got rid of most #ifdef PIC, and that's a good thing.
This gets rid of two more:
Index: msmpeg4.c
===================================================================
--- msmpeg4.c   (revision 19668)
+++ msmpeg4.c   (working copy)
@@ -31,6 +31,7 @@
 #include "dsputil.h"
 #include "mpegvideo.h"
 #include "msmpeg4.h"
+#include "libavutil/x86_cpu.h"
 
 /*
  * You can also call this codec : MPEG4 with a twist !
@@ -647,7 +648,7 @@
        necessitate to modify mpegvideo.c. The problem comes from the
        fact they decided to store the quantized DC (which would lead
        to problems if Q could vary !) */
-#if ARCH_X86 && !defined PIC
+#if ARCH_X86 && HAVE_7REGS && HAVE_EBX_AVAILABLE
     __asm__ volatile(
         "movl %3, %%eax         \n\t"
         "shrl $1, %%eax         \n\t"
Index: cabac.h
===================================================================
--- cabac.h     (revision 19668)
+++ cabac.h     (working copy)
@@ -637,7 +637,7 @@
 
 
 static av_always_inline int get_cabac_bypass_sign(CABACContext *c, int
val){
-#if ARCH_X86 && !(defined(PIC) && defined(__GNUC__))
+#if ARCH_X86 && HAVE_EBX_AVAILABLE
     __asm__ volatile(
         "movl "RANGE    "(%1), %%ebx            \n\t"
         "movl "LOW      "(%1), %%eax            \n\t"



In x86/dsputil_mmx_rnd_template.c x86/dsputil_mmx_avg_template.c there
is a huge mess of duplicated code that still uses PIC though...



More information about the ffmpeg-devel mailing list