Altivec on non darwin systems patch by Romain Dolbeau
[ffmpeg.git] / libavcodec / ppc / dsputil_altivec.h
index b19c0a5e513d333c0ad7e417e4a49cc2cf969fed..61dbec54898d5f9140c1dd6871972430e651ac7a 100644 (file)
@@ -63,7 +63,11 @@ extern int has_altivec(void);
 #define WORD_s2 0x18,0x19,0x1a,0x1b
 #define WORD_s3 0x1c,0x1d,0x1e,0x1f
 
+#ifdef CONFIG_DARWIN
 #define vcprm(a,b,c,d) (const vector unsigned char)(WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d)
+#else
+#define vcprm(a,b,c,d) (const vector unsigned char){WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d}
+#endif
 
 // vcprmle is used to keep the same index as in the SSE version.
 // it's the same as vcprm, with the index inversed
@@ -75,7 +79,12 @@ extern int has_altivec(void);
 #define FLOAT_n -1.
 #define FLOAT_p 1.
 
+
+#ifdef CONFIG_DARWIN
 #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
 
 #else /* HAVE_ALTIVEC */
 #ifdef ALTIVEC_USE_REFERENCE_C_CODE