It's not possible to use ia32/*.nasm code in 64-bit compiles. There's still no 64-bit asm code in FLAC. I'm not familiar with asm too, so I wrote SSE-accelerated code using intrinsics.
This code uses two new preprocessor macros:
FLAC__CPU_X86_64 (analogous to FLAC__CPU_IA32)
and FLAC__HAS_X86INTRIN (analogous to FLAC__HAS_NASM)
Patch for cpu.c/cpu.h adds CPU features (sse3, ssse3) detection code
for x86-64 architecture.
Another patch adds SSE-accelerated functions:
FLAC__lpc_compute_autocorrelation_intrin_sse_lag_4()
FLAC__lpc_compute_autocorrelation_intrin_sse_lag_8()
FLAC__lpc_compute_autocorrelation_intrin_sse_lag_12()
FLAC__lpc_compute_autocorrelation_intrin_sse_lag_16()
FLAC__lpc_compute_residual_from_qlp_coefficients_16_intrin_sse2()
Note that the new code works only if both FLAC__CPU_X86_64 and
FLAC__HAS_X86INTRIN
macros are defined somewhere in config files. Appropriate changes in *.vcproj,
makefiles, configure.ac files are necessary. Unfortunately MSVS 2005 Express
Edition
doesn't support creation of 64-bit programs.
cpu.patch
Description: Binary data
intrin.patch
Description: Binary data
_______________________________________________ flac-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/flac-dev
