[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