diff --git a/libavcodec/dct-test.c b/libavcodec/dct-test.c index 232278c8aad10918e18f53f14c12d3b381e0ba27..874d5733dbf03d719e02dbe198833fb07cd0feb3 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 2bef197ceaae88927a40383cd09fe5cb8ebaa619..f7f1b2b5873ef409b4a8fd6dca8c2689968e8f59 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 df1791823be4e9da40fdc8359afdf556c5f6c8e9..eab051341606640094d80fd985236fd235cf4245 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 c14b7938482d2290676951d0c3d5d5e94244273d..edcabcf3872230a5700dd5d6057f9e3f073bf28d 100644 --- a/libavcodec/i386/motion_est_mmx.c +++ b/libavcodec/i386/motion_est_mmx.c @@ -20,7 +20,7 @@ * mostly by Michael Niedermayer */ #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 ad03629342ea7c0da6d6a3794772e9420badfdf6..c00a602bdda4232ac37e2eb47e17802c62b25285 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 5f17e359765c9eaffc1b7bef5c94f69683640fa1..9fb36772a51712ac408be88c5849a1c17ad3e584 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 0000000000000000000000000000000000000000..8fd5f8600ee18627430dbf037b47f8ecfd7fc2e7 --- /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 */