summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/dct-test.c1
-rw-r--r--libavcodec/i386/dsputil_mmx.c1
-rw-r--r--libavcodec/i386/mmx.h18
-rw-r--r--libavcodec/i386/motion_est_mmx.c2
-rw-r--r--libavcodec/i386/mpegvideo_mmx.c2
-rw-r--r--libavcodec/i386/snowdsp_mmx.c2
-rw-r--r--libavutil/x86_cpu.h38
7 files changed, 42 insertions, 22 deletions
diff --git a/libavcodec/dct-test.c b/libavcodec/dct-test.c
index 232278c8aa..874d5733db 100644
--- a/libavcodec/dct-test.c
+++ b/libavcodec/dct-test.c
@@ -12,7 +12,6 @@
#include "dsputil.h"
-#include "i386/mmx.h"
#include "simple_idct.h"
#include "faandct.h"
diff --git a/libavcodec/i386/dsputil_mmx.c b/libavcodec/i386/dsputil_mmx.c
index 2bef197cea..f7f1b2b587 100644
--- a/libavcodec/i386/dsputil_mmx.c
+++ b/libavcodec/i386/dsputil_mmx.c
@@ -23,6 +23,7 @@
#include "../dsputil.h"
#include "../simple_idct.h"
#include "../mpegvideo.h"
+#include "x86_cpu.h"
#include "mmx.h"
//#undef NDEBUG
diff --git a/libavcodec/i386/mmx.h b/libavcodec/i386/mmx.h
index df1791823b..eab0513416 100644
--- a/libavcodec/i386/mmx.h
+++ b/libavcodec/i386/mmx.h
@@ -5,24 +5,6 @@
#ifndef AVCODEC_I386MMX_H
#define AVCODEC_I386MMX_H
-#ifdef ARCH_X86_64
-# define REG_a "rax"
-# define REG_b "rbx"
-# define REG_c "rcx"
-# define REG_d "rdx"
-# define REG_D "rdi"
-# define REG_S "rsi"
-# define PTR_SIZE "8"
-#else
-# define REG_a "eax"
-# define REG_b "ebx"
-# define REG_c "ecx"
-# define REG_d "edx"
-# define REG_D "edi"
-# define REG_S "esi"
-# define PTR_SIZE "4"
-#endif
-
/*
* The type of an value that fits in an MMX register (note that long
* long constant values MUST be suffixed by LL and unsigned long long
diff --git a/libavcodec/i386/motion_est_mmx.c b/libavcodec/i386/motion_est_mmx.c
index c14b793848..edcabcf387 100644
--- a/libavcodec/i386/motion_est_mmx.c
+++ b/libavcodec/i386/motion_est_mmx.c
@@ -20,7 +20,7 @@
* mostly by Michael Niedermayer <michaelni@gmx.at>
*/
#include "../dsputil.h"
-#include "mmx.h"
+#include "x86_cpu.h"
static const __attribute__ ((aligned(8))) uint64_t round_tab[3]={
0x0000000000000000ULL,
diff --git a/libavcodec/i386/mpegvideo_mmx.c b/libavcodec/i386/mpegvideo_mmx.c
index ad03629342..c00a602bdd 100644
--- a/libavcodec/i386/mpegvideo_mmx.c
+++ b/libavcodec/i386/mpegvideo_mmx.c
@@ -23,7 +23,7 @@
#include "../dsputil.h"
#include "../mpegvideo.h"
#include "../avcodec.h"
-#include "mmx.h"
+#include "x86_cpu.h"
extern uint8_t zigzag_direct_noperm[64];
extern uint16_t inv_zigzag_direct16[64];
diff --git a/libavcodec/i386/snowdsp_mmx.c b/libavcodec/i386/snowdsp_mmx.c
index 5f17e35976..9fb36772a5 100644
--- a/libavcodec/i386/snowdsp_mmx.c
+++ b/libavcodec/i386/snowdsp_mmx.c
@@ -19,7 +19,7 @@
#include "../avcodec.h"
#include "../snow.h"
-#include "mmx.h"
+#include "x86_cpu.h"
void ff_snow_horizontal_compose97i_sse2(DWTELEM *b, int width){
const int w2= (width+1)>>1;
diff --git a/libavutil/x86_cpu.h b/libavutil/x86_cpu.h
new file mode 100644
index 0000000000..8fd5f8600e
--- /dev/null
+++ b/libavutil/x86_cpu.h
@@ -0,0 +1,38 @@
+#ifndef AVUTIL_X86CPU_H
+#define AVUTIL_X86CPU_H
+
+#ifdef ARCH_X86_64
+# define REG_a "rax"
+# define REG_b "rbx"
+# define REG_c "rcx"
+# define REG_d "rdx"
+# define REG_D "rdi"
+# define REG_S "rsi"
+# define PTR_SIZE "8"
+
+# define REG_SP "rsp"
+# define REG_BP "rbp"
+# define REGBP rbp
+# define REGa rax
+# define REGb rbx
+# define REGSP rsp
+
+#else
+
+# define REG_a "eax"
+# define REG_b "ebx"
+# define REG_c "ecx"
+# define REG_d "edx"
+# define REG_D "edi"
+# define REG_S "esi"
+# define PTR_SIZE "4"
+
+# define REG_SP "esp"
+# define REG_BP "ebp"
+# define REGBP ebp
+# define REGa eax
+# define REGb ebx
+# define REGSP esp
+#endif
+
+#endif /* AVUTIL_X86CPU_H */