Mercurial > mplayer.hg
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 } |