[Vorbis-dev] dynamics, clipping, 0 dBFS

Oliver Thuns
2008-11-27T12:52:40Z

I have some questions about how a sample is encoded in Vorbis
regarding the dynamic range. I try to figured it out by reading the
Vorbis spec and I failed. But I found this quote from Monty:

?Vorbis, BTW, can handle, for sake of programming simplicity, >200dB
range. Just for kicks.? [1]

It's still unclear to me what that means. Should I think of Vorbis as
a floating-point format or a fixed-point format? To make it clearer,
let me ask two simple questions:

1) What happens when you encode a floating point WAV that has samples
which exceed 0 dBFS. Will it be correctly encoded or truncated at 0
dBFS?

2) What about a floating point file where every sample is below -60
dBFS (or -140 dBFS). Does Vorbis take advantage of the floating point
input or will this result in a floating point decode that has a very
limited dynamic range?

These are not meant as real life examples, just for getting an idea
what's going on inside Vorbis.


Oli

[1] http://lists.xiph.org/pipermail/vorbis-dev/2000-December/002528.html