[pkg-mad-maintainers] Bug#465438: Bug#465438: terrible decoding quality with libmad0 on amd64
Kurt Roeckx
kurt at roeckx.be
Tue Feb 12 18:51:36 UTC 2008
On Tue, Feb 12, 2008 at 01:48:59PM +0100, Julien Pommier wrote:
> Package: libmad0
> Version: 0.15.1b-2.1
> Severity: important
> Tags: patch
>
> Every program using libmad0 decodes wrongly some (if not all) mp3
> files on amd64.
> The bug is very audible on this one:
>
> http://www.pianoteq.com/audio/mengo-je-passerai-la-main-partial.mp3
>
> (One may need headphones to hear the high pitch noise as it is above
> 10kHz)
There seems to be some 10 KHz signal, but it's like -75 dB. I doubt you
can hear that, since the rest seems to be around -10 dB. I can't hear it.
The mp3 file also seems to be just not 0 dB.
> It seems to be specific to 64 bit architecture. Compiling libmad with
> the
> configure option --enable-fpm=64bit fixes the problem.
Note that during building the packages it says:
checking for architecture-specific fixed-point math routines... DEFAULT
configure: WARNING: default fixed-point math will yield limited accuracy
Which it doesn't when using for instance --enable-fpm=64bit.
There are a few options:
- default: low quality, fastest, current version
- fpm=64bit: Highest accuracy, but slower.
- fpm=intel: fast and accurate, written in i386 assembler.
64bit and intel actually produce the same file.
The reason I didn't change this yet was that it changes
the symbol "mad_build" which contains the options used
to build it. It then generates this:
madplay: Symbol `mad_build' has different size in shared object, consider re-linking
And it doesn't properly display the actual string.
Anyway, I've done some speed test with it:
- Current version: 4.9 s
- Recompiled with current gcc: 4.1 s
- 64bit: 4.7 s
- Intel: 6.6 s
Anyway, this has been on my own wishlist things to change for
a while.
I don't remember the intel version being so bad on amd64. So
64bit clearly seems to be the best option if we change things.
Kurt
More information about the pkg-mad-maintainers
mailing list