[vorbis-dev] slightly different audio output
Segher Boessenkool
segher at chello.nl
Tue Apr 9 11:39:31 PDT 2002
> -I debuged the code and found that mdct_backward() returns quite different
> values between float and int setting. (before MDCT, there error is almost
> off-by-one, at most 1%).
Yes. The integer mdct code in libvorbis is pretty bad. There are
comments in the code that say so, even :)
> -I'm using MDCT code from RC3 (not sure if the code in CVS is better?). I
> have tried with 14-bit TRIGBITS and then modified the code to include
> Segher's magic union:
> http://www.xiph.org/archives/vorbis-dev/200202/0081.html. And run it at
> TRIGBITS = 14, 20, 25, 30.
Do you use rounding or truncating? ...
> -the output from mdct_backward() seems to converge to a set of values when
> increasing TRIGBITS but it doesn't converge to the result from floating
> point version though.
... If you use truncating, the libvorbis mdct algorithm is pretty bad.
> -has this int implementation of MDCT been proved to yield the same (or
> almost the same) result with floating point version when using at high
> TRIGBITS? Maybe my workaround is not correct..
No, but it _has_ been proven to yield bad results (in some cases).
<p>If you have 1024-or-so-bit integer math, converting floating point code
to integer code is easy. In all other cases, you need some
serious engineering work, to make it high-quality.
I'm sure you'll enjoy it,
<p>Segher
<p>--- >8 ----
List archives: http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body. No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.
More information about the Vorbis-dev
mailing list