Mercurial > libavcodec.hg
diff dsputil.h @ 3089:072dbc669253 libavcodec
MSVC-compatible __align8/__align16 declaration
patch by Steve Lhomme, steve .dot. lhomme .at. free .dot. fr
author | diego |
---|---|
date | Sun, 05 Feb 2006 13:35:17 +0000 |
parents | 0b546eab515d |
children | 2d35fb3cb940 |
line wrap: on
line diff
--- a/dsputil.h Sun Feb 05 10:16:20 2006 +0000 +++ b/dsputil.h Sun Feb 05 13:35:17 2006 +0000 @@ -390,7 +390,11 @@ one or more MultiMedia extension */ int mm_support(void); -#define __align16 __attribute__ ((aligned (16))) +#ifdef __GNUC__ + #define DECLARE_ALIGNED_16(t,v) t v __attribute__ ((aligned (16))) +#else + #define DECLARE_ALIGNED_16(t,v) __declspec(align(16)) t v +#endif #if defined(HAVE_MMX) @@ -421,7 +425,12 @@ emms();\ } -#define __align8 __attribute__ ((aligned (8))) +#ifdef __GNUC__ + #define DECLARE_ALIGNED_8(t,v) t v __attribute__ ((aligned (8))) +#else + #define DECLARE_ALIGNED_8(t,v) __declspec(align(8)) t v +#endif + #define STRIDE_ALIGN 8 void dsputil_init_mmx(DSPContext* c, AVCodecContext *avctx); @@ -431,7 +440,7 @@ /* This is to use 4 bytes read to the IDCT pointers for some 'zero' line optimizations */ -#define __align8 __attribute__ ((aligned (4))) +#define DECLARE_ALIGNED_8(t,v) t v __attribute__ ((aligned (4))) #define STRIDE_ALIGN 4 #define MM_IWMMXT 0x0100 /* XScale IWMMXT */ @@ -443,7 +452,7 @@ #elif defined(HAVE_MLIB) /* SPARC/VIS IDCT needs 8-byte aligned DCT blocks */ -#define __align8 __attribute__ ((aligned (8))) +#define DECLARE_ALIGNED_8(t,v) t v __attribute__ ((aligned (8))) #define STRIDE_ALIGN 8 void dsputil_init_mlib(DSPContext* c, AVCodecContext *avctx); @@ -451,13 +460,13 @@ #elif defined(ARCH_SPARC) /* SPARC/VIS IDCT needs 8-byte aligned DCT blocks */ -#define __align8 __attribute__ ((aligned (8))) +#define DECLARE_ALIGNED_8(t,v) t v __attribute__ ((aligned (8))) #define STRIDE_ALIGN 8 void dsputil_init_vis(DSPContext* c, AVCodecContext *avctx); #elif defined(ARCH_ALPHA) -#define __align8 __attribute__ ((aligned (8))) +#define DECLARE_ALIGNED_8(t,v) t v __attribute__ ((aligned (8))) #define STRIDE_ALIGN 8 void dsputil_init_alpha(DSPContext* c, AVCodecContext *avctx); @@ -474,28 +483,28 @@ #undef pixel #endif -#define __align8 __attribute__ ((aligned (16))) +#define DECLARE_ALIGNED_8(t,v) t v __attribute__ ((aligned (16))) #define STRIDE_ALIGN 16 void dsputil_init_ppc(DSPContext* c, AVCodecContext *avctx); #elif defined(HAVE_MMI) -#define __align8 __attribute__ ((aligned (16))) +#define DECLARE_ALIGNED_8(t,v) t v __attribute__ ((aligned (16))) #define STRIDE_ALIGN 16 void dsputil_init_mmi(DSPContext* c, AVCodecContext *avctx); #elif defined(ARCH_SH4) -#define __align8 __attribute__ ((aligned (8))) +#define DECLARE_ALIGNED_8(t,v) t v __attribute__ ((aligned (8))) #define STRIDE_ALIGN 8 void dsputil_init_sh4(DSPContext* c, AVCodecContext *avctx); #else -#define __align8 __attribute__ ((aligned (8))) +#define DECLARE_ALIGNED_8(t,v) t v __attribute__ ((aligned (8))) #define STRIDE_ALIGN 8 #endif