[MPlayer-cvslog] r26028 - trunk/mp3lib/dct64_altivec.c

diego subversion at mplayerhq.hu
Tue Feb 19 00:33:14 CET 2008


Author: diego
Date: Tue Feb 19 00:33:14 2008
New Revision: 26028

Log:
Refactor AltiVec macros as done for FFmpeg.


Modified:
   trunk/mp3lib/dct64_altivec.c

Modified: trunk/mp3lib/dct64_altivec.c
==============================================================================
--- trunk/mp3lib/dct64_altivec.c	(original)
+++ trunk/mp3lib/dct64_altivec.c	Tue Feb 19 00:33:14 2008
@@ -28,11 +28,16 @@
 #define WORD_s3 0x1c,0x1d,0x1e,0x1f
 
 #ifdef __APPLE_CC__
-#define vcprm(a,b,c,d) (const vector unsigned char)(WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d)
+#define AVV(x...) (x)
 #else
-#define vcprm(a,b,c,d) (const vector unsigned char){WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d}
+#define AVV(x...) {x}
 #endif
 
+#define vcprm(a,b,c,d) (const vector unsigned char)AVV(WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d)
+#define vcii(a,b,c,d) (const vector float)AVV(FLOAT_ ## a, FLOAT_ ## b, FLOAT_ ## c, FLOAT_ ## d)
+
+#define FOUROF(a) AVV(a,a,a,a)
+
 // vcprmle is used to keep the same index as in the SSE version.
 // it's the same as vcprm, with the index inversed
 // ('le' is Little Endian)
@@ -43,18 +48,6 @@
 #define FLOAT_n -1.
 #define FLOAT_p 1.
 
-#ifdef __APPLE_CC__
-#define vcii(a,b,c,d) (const vector float)(FLOAT_ ## a, FLOAT_ ## b, FLOAT_ ## c, FLOAT_ ## d)
-#else
-#define vcii(a,b,c,d) (const vector float){FLOAT_ ## a, FLOAT_ ## b, FLOAT_ ## c, FLOAT_ ## d}
-#endif
-
-#ifdef __APPLE_CC__
-#define FOUROF(a) (a)
-#else
-#define FOUROF(a) {a,a,a,a}
-#endif
-
 void dct64_altivec(real *a,real *b,real *c)
 {
   real __attribute__ ((aligned(16))) b1[0x20];



More information about the MPlayer-cvslog mailing list