[vorbis-dev] Observations about the floating point data in vorbisfile

Segher Boessenkool segher at koffie.nl
Tue Feb 4 17:15:58 PST 2003

Beni Cherniavsky wrote:

>>Not all lossy codecs have overshoot.  It would be really great
>>if Vorbis could deal with this (yes, I know it's a hard problem).
> The other ones should be called "strictly amplitude-lossy", I presume? :-)

I'm slow today, it took me a few seconds to get the joke.

> More seriously, how do they solve this?

They don't use an fft/dct/overlapped-dct based filterbank, but a
filterbank with better properties.  After you've got that, you
only need to make sure not to round up some high-amplitude

 > Detect the case and locally attenuate?

That's what we'd have to do to Vorbis to make it better in
this regard, I think.  I couldn't come up with an algorithm
that wasn't computationally intractable, though (I didn't
look really hard, of course, only a few days; and if there
is such a solution, it will of course be obvious after all :-/).

 > I can't think of something that will be better than applying a
> limiter in the decoder, which has the benefit of allowing experimentation
> and avoiding the distortion alogether when decoding to lower volume...

The best and easiest solution is to use a more-than-16bit
D/A converter.

>>>This problem generally only happens (at least in ways that matter - i.e. could
>>>be audible) with peak-to-peak inputs, which are a bad idea anyway.
>>Why are full-range inputs a bad idea?
> Because of they are not handled <wink>.

You said they are a bad idea *anyway* -- the rest I understand,
yes :)


<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