>From: Joshua Bahnsen [mailto:[EMAIL PROTECTED]]
> Ok I compiled lame 3.61 with DJGPP and I also compiled it with MSVC++ 5
SP3. I encoded
> the exact same file with the same options but I used GNU diff and it said
the the files
> differed. Is this because the DOS version input is handled by libsndfile
and the Win32
> version is not? Both resulting mp3s were 5,004,520 so I am really baffled
as to why
> they would differ. I was also amazed to see that the Win32 version is
actually a
> little bit faster the linux version I compiled as well.

Due to a bug somewhere in the psychoacoustics, recent versions compiled with
MSVC produce output that does not match that of gcc/i386 (e.g. Linux/gcc,
Windows/Cygwin, DOS/DJGPP). I'm not sure when this bug first appeared -
might be worth checking previous releases. Without really knowing how the
psychoacoustics are supposed to work I'm having a hard time working out what
could be going wrong, and haven't had much time to look at it lately anyway.
Also, the version of Cygwin I have crashes my machine almost every time I
run it, which makes debugging rather painful. :/

As to the speed issue, I've found that MSVC in general tends to be faster
than gcc, and in any case, there are assembly language optimisations in the
MSVC version which aren't currently available under gcc: see quantize_xrpow
in quantize-pvt.c.

-- Mat.
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to