Lines 712-717
Link Here
|
712 |
// Stuff below this line is borrowed from libac3 |
712 |
// Stuff below this line is borrowed from libac3 |
713 |
#include "srfftp.h" |
713 |
#include "srfftp.h" |
714 |
#if ARCH_X86 || ARCH_X86_64 |
714 |
#if ARCH_X86 || ARCH_X86_64 |
|
|
715 |
#if HAVE_SSE |
715 |
#undef HAVE_AMD3DNOW |
716 |
#undef HAVE_AMD3DNOW |
716 |
#define HAVE_AMD3DNOW 1 |
717 |
#define HAVE_AMD3DNOW 1 |
717 |
#include "srfftp_3dnow.h" |
718 |
#include "srfftp_3dnow.h" |
Lines 726-732
Link Here
|
726 |
#undef HAVE_AMD3DNOWEXT |
727 |
#undef HAVE_AMD3DNOWEXT |
727 |
#define HAVE_AMD3DNOWEXT 1 |
728 |
#define HAVE_AMD3DNOWEXT 1 |
728 |
#include "imdct_3dnow.h" |
729 |
#include "imdct_3dnow.h" |
729 |
|
|
|
730 |
void |
730 |
void |
731 |
imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias) |
731 |
imdct_do_512_sse(sample_t data[],sample_t delay[], sample_t bias) |
732 |
{ |
732 |
{ |
Lines 1060-1065
Link Here
|
1060 |
: "%"REG_S, "%"REG_D |
1060 |
: "%"REG_S, "%"REG_D |
1061 |
); |
1061 |
); |
1062 |
} |
1062 |
} |
|
|
1063 |
#endif // HAVE_SSE |
1063 |
#endif // ARCH_X86 || ARCH_X86_64 |
1064 |
#endif // ARCH_X86 || ARCH_X86_64 |
1064 |
|
1065 |
|
1065 |
void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias) |
1066 |
void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias) |
Lines 1259-1282
Link Here
|
1259 |
ifft64 = ifft64_c; |
1260 |
ifft64 = ifft64_c; |
1260 |
|
1261 |
|
1261 |
#if ARCH_X86 || ARCH_X86_64 |
1262 |
#if ARCH_X86 || ARCH_X86_64 |
|
|
1263 |
#if HAVE_SSE |
1262 |
if(mm_accel & MM_ACCEL_X86_SSE) |
1264 |
if(mm_accel & MM_ACCEL_X86_SSE) |
1263 |
{ |
1265 |
{ |
1264 |
fprintf (stderr, "Using SSE optimized IMDCT transform\n"); |
1266 |
fprintf (stderr, "Using SSE optimized IMDCT transform\n"); |
1265 |
a52_imdct_512 = imdct_do_512_sse; |
1267 |
a52_imdct_512 = imdct_do_512_sse; |
1266 |
} |
1268 |
} |
1267 |
else |
1269 |
else |
|
|
1270 |
#endif // HAVE_SSE |
1271 |
#if HAVE_3DNOWEXT |
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 |
} |
1273 |
else |
1277 |
else |
|
|
1278 |
#endif // HAVE_3DNOWEXT |
1279 |
#if HAVE_3DNOW |
1274 |
if(mm_accel & MM_ACCEL_X86_3DNOW) |
1280 |
if(mm_accel & MM_ACCEL_X86_3DNOW) |
1275 |
{ |
1281 |
{ |
1276 |
fprintf (stderr, "Using 3DNow optimized IMDCT transform\n"); |
1282 |
fprintf (stderr, "Using 3DNow optimized IMDCT transform\n"); |
1277 |
a52_imdct_512 = imdct_do_512_3dnow; |
1283 |
a52_imdct_512 = imdct_do_512_3dnow; |
1278 |
} |
1284 |
} |
1279 |
else |
1285 |
else |
|
|
1286 |
#endif // HAVE_3DNOW |
1280 |
#endif // ARCH_X86 || ARCH_X86_64 |
1287 |
#endif // ARCH_X86 || ARCH_X86_64 |
1281 |
#if HAVE_ALTIVEC |
1288 |
#if HAVE_ALTIVEC |
1282 |
if (mm_accel & MM_ACCEL_PPC_ALTIVEC) |
1289 |
if (mm_accel & MM_ACCEL_PPC_ALTIVEC) |