comparison liba52/imdct.c @ 29601:cd3ae709054f

Disable liba52 SSE imdct for x86_64+PIC (e.g. OSX 64 bit) since it will not compile for that combination.
author reimar
date Fri, 04 Sep 2009 10:31:24 +0000
parents e83eef58b30a
children
comparison
equal deleted inserted replaced
29600:577c86f00dd1 29601:cd3ae709054f
725 #include "imdct_3dnow.h" 725 #include "imdct_3dnow.h"
726 #undef HAVE_AMD3DNOWEXT 726 #undef HAVE_AMD3DNOWEXT
727 #define HAVE_AMD3DNOWEXT 1 727 #define HAVE_AMD3DNOWEXT 1
728 #include "imdct_3dnow.h" 728 #include "imdct_3dnow.h"
729 729
730 #if !ARCH_X86_64 || !defined(PIC)
730 void 731 void
731 imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias) 732 imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias)
732 { 733 {
733 /* int i,k; 734 /* int i,k;
734 int p,q;*/ 735 int p,q;*/
1058 " jb 1b \n\t" 1059 " jb 1b \n\t"
1059 :: "r" (buf), "r" (delay_ptr) 1060 :: "r" (buf), "r" (delay_ptr)
1060 : "%"REG_S, "%"REG_D 1061 : "%"REG_S, "%"REG_D
1061 ); 1062 );
1062 } 1063 }
1064 #endif
1063 #endif // ARCH_X86 || ARCH_X86_64 1065 #endif // ARCH_X86 || ARCH_X86_64
1064 1066
1065 void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias) 1067 void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias)
1066 { 1068 {
1067 int i, k; 1069 int i, k;
1257 a52_imdct_512 = imdct_do_512; 1259 a52_imdct_512 = imdct_do_512;
1258 ifft128 = ifft128_c; 1260 ifft128 = ifft128_c;
1259 ifft64 = ifft64_c; 1261 ifft64 = ifft64_c;
1260 1262
1261 #if ARCH_X86 || ARCH_X86_64 1263 #if ARCH_X86 || ARCH_X86_64
1264 #if !ARCH_X86_64 || !defined(PIC)
1262 if(mm_accel & MM_ACCEL_X86_SSE) 1265 if(mm_accel & MM_ACCEL_X86_SSE)
1263 { 1266 {
1264 fprintf (stderr, "Using SSE optimized IMDCT transform\n"); 1267 fprintf (stderr, "Using SSE optimized IMDCT transform\n");
1265 a52_imdct_512 = imdct_do_512_sse; 1268 a52_imdct_512 = imdct_do_512_sse;
1266 } 1269 }
1267 else 1270 else
1271 #endif
1268 if(mm_accel & MM_ACCEL_X86_3DNOWEXT) 1272 if(mm_accel & MM_ACCEL_X86_3DNOWEXT)
1269 { 1273 {
1270 fprintf (stderr, "Using 3DNowEx optimized IMDCT transform\n"); 1274 fprintf (stderr, "Using 3DNowEx optimized IMDCT transform\n");
1271 a52_imdct_512 = imdct_do_512_3dnowex; 1275 a52_imdct_512 = imdct_do_512_3dnowex;
1272 } 1276 }