[MPlayer-cvslog] r27350 - in trunk: configure liba52/imdct.c liba52/liba52_changes.diff mp3lib/dct64_altivec.c
diego
subversion at mplayerhq.hu
Sat Jul 26 14:26:04 CEST 2008
Author: diego
Date: Sat Jul 26 14:26:04 2008
New Revision: 27350
Log:
Remove AltiVec vector declaration compiler compatibility macros.
The original problem was that FSF and Apple gcc used a different syntax
for vector declarations, i.e. {} vs. (). Nowadays Apple gcc versions support
the standard {} syntax and versions that support {} are available on all
relevant Mac OS X versions. Thus the greater compatibility is no longer
worth cluttering the code with macros.
Modified:
trunk/configure
trunk/liba52/imdct.c
trunk/liba52/liba52_changes.diff
trunk/mp3lib/dct64_altivec.c
Modified: trunk/configure
==============================================================================
--- trunk/configure (original)
+++ trunk/configure Sat Jul 26 14:26:04 2008
@@ -2470,11 +2470,9 @@ EOF
# check if the compiler supports braces for vector declarations
cat > $TMPC << EOF
$inc_altivec_h
-#define AVV(x...) {x}
-int main(void) { (vector int) AVV(1); return 0; }
+int main(void) { (vector int) {1}; return 0; }
EOF
- cc_check $_altivec_gcc_flags &&
- _def_altivec_vector_braces='#define HAVE_ALTIVEC_VECTOR_BRACES 1'
+ cc_check $_altivec_gcc_flags || die "You need a compiler that supports {} in AltiVec vector declarations."
# Disable runtime cpudetection if we cannot generate AltiVec code or
# AltiVec is disabled by the user.
@@ -8630,7 +8628,6 @@ $_def_gethostbyname2
`ff_config_enable "$_cpuexts_all" "$_cpuexts" "HAVE"`
$_def_altivec_h // enables usage of altivec.h
-$_def_altivec_vector_braces
/* libvo options */
#define SCREEN_SIZE_X 1
Modified: trunk/liba52/imdct.c
==============================================================================
--- trunk/liba52/imdct.c (original)
+++ trunk/liba52/imdct.c Sat Jul 26 14:26:04 2008
@@ -382,16 +382,10 @@ void imdct_do_512 (sample_t * data, samp
#define WORD_s2 0x18,0x19,0x1a,0x1b
#define WORD_s3 0x1c,0x1d,0x1e,0x1f
-#ifdef HAVE_ALTIVEC_VECTOR_BRACES
-#define AVV(x...) {x}
-#else
-#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 vcprm(a,b,c,d) (const vector unsigned char){WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d}
+#define vcii(a,b,c,d) (const vector float){FLOAT_ ## a, FLOAT_ ## b, FLOAT_ ## c, FLOAT_ ## d}
-#define FOUROF(a) AVV(a,a,a,a)
+#define FOUROF(a) {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
Modified: trunk/liba52/liba52_changes.diff
==============================================================================
--- trunk/liba52/liba52_changes.diff (original)
+++ trunk/liba52/liba52_changes.diff Sat Jul 26 14:26:04 2008
@@ -1542,7 +1542,7 @@
{
int i, k;
sample_t t_r, t_i, a_r, a_i, b_r, b_i, w_1, w_2;
-@@ -285,6 +365,707 @@
+@@ -285,6 +365,701 @@
}
}
@@ -1563,16 +1563,10 @@
+#define WORD_s2 0x18,0x19,0x1a,0x1b
+#define WORD_s3 0x1c,0x1d,0x1e,0x1f
+
-+#ifdef HAVE_ALTIVEC_VECTOR_BRACES
-+#define AVV(x...) {x}
-+#else
-+#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 vcprm(a,b,c,d) (const vector unsigned char){WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d}
++#define vcii(a,b,c,d) (const vector float){FLOAT_ ## a, FLOAT_ ## b, FLOAT_ ## c, FLOAT_ ## d}
+
-+#define FOUROF(a) AVV(a,a,a,a)
++#define FOUROF(a) {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
Modified: trunk/mp3lib/dct64_altivec.c
==============================================================================
--- trunk/mp3lib/dct64_altivec.c (original)
+++ trunk/mp3lib/dct64_altivec.c Sat Jul 26 14:26:04 2008
@@ -27,16 +27,10 @@
#define WORD_s2 0x18,0x19,0x1a,0x1b
#define WORD_s3 0x1c,0x1d,0x1e,0x1f
-#ifdef HAVE_ALTIVEC_VECTOR_BRACES
-#define AVV(x...) {x}
-#else
-#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 vcprm(a,b,c,d) (const vector unsigned char){WORD_ ## a, WORD_ ## b, WORD_ ## c, WORD_ ## d}
+#define vcii(a,b,c,d) (const vector float){FLOAT_ ## a, FLOAT_ ## b, FLOAT_ ## c, FLOAT_ ## d}
-#define FOUROF(a) AVV(a,a,a,a)
+#define FOUROF(a) {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
More information about the MPlayer-cvslog
mailing list