> I've compiled lame with the free Borland C++ compiler (for Windows).
> Some code changes were necessary. In ts_process_time,
>
> LARGE_INTEGER Kernel = { KernelTime.dwLowDateTime,
> KernelTime.dwHighDateTime };
> LARGE_INTEGER User = { UserTime.dwLowDateTime,
> UserTime.dwHighDateTime };
>
> needs to be changed to:
>
> LARGE_INTEGER Kernel;
> LARGE_INTEGER User;
>
> Kernel.LowPart = KernelTime.dwLowDateTime;
> Kernel.HighPart = KernelTime.dwHighDateTime;
> User.LowPart = UserTime.dwLowDateTime;
> User.HighPart = UserTime.dwHighDateTime;
>
I changed the above, and hopefully fixed the problem with adj43. But
I dont know enough about the NASM stuff to comment.
As for TAKEHIRO_IEE754_HACK: On my system (athlon, gcc 2.95) it
causes some problems when used with optimizations above -O1. So it
is disabled by default. The amount of choices for the quantize_xrpow
and quantize_xrpow_ISO is starting to become unmanageable.
We've got:
straight C
C with a macro to convert floats to ints
(macro uses assembly code, different macro for each compiler)
ASM code for MSVC
ASM code for gcc
TAKEHIRO_IEE754_HACK should be portable accross compilers, but
might have to disable some optimizations
when compiling.
NASM versions?
Mark
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )