[ogg-dev] OggPCM proposal feedback

Erik de Castro Lopo mle+xiph at mega-nerd.com
Thu Nov 10 14:13:01 PST 2005

Arc wrote:

> However, support for (ie) 48-bit-float should not have to be created, 

Where are you going to find a 48 bit float? Is there an IEEE
standard for that? I know some floating point DSP chips use
a 48 bit float internally, but if there is more than one they
are unlikely to be compatible and they certainly cannot be read
by standard CPUs without having pull each value apart into 
separate sign, mantissa and exponent and then recreating a host 
CPU compatible floating point value from that. 

> But between float and int, why /not/ allow someone to do something 
> insane like 96-bit audio? 

I think putting contraints on insane people is a good thing. 
It saves the rest of us a lot of grief.

> 20 years ago, we thought that 16 bit, or 
> prehaps 24 bit, was the maximum we could do.

The only place I've ever heard of 96 bit anything is in image
processing where R, G and B were each encoded as a float.

If the RGB explanation is not what you are thinking about, do
you realise that 96 bits gives a dynamic range of over 500 
decibels? That means that if the largest sample corresponds to
1000 volts, the smallest sample will correspond to 5e-26 volts.
I think you'll find that this is less than the voltage on an
electron which is approx. 1e-19 volts.

> And yet, the issue was raised that 64-bit audio samples 
> are nessesary.

A couple of points:

   - 64 bit float is supported by most CPUs, 96 bit and 48 bits
     are not.

   - 64 bit float is used to prevent rounding errors in
     calculations. If you have a program that needs to pass
     data to another program (via a file) for processing and 
     then get the data back (via a file again) for further
     processing, 64 bit float is a sensible option.
> This isn't the issue of right or wrong, but two different 
> styles of designing codecs.

See my comments above re insanity.

  Erik de Castro Lopo
"Unix and C are the ultimate computer viruses." -- Richard P Gabriel

More information about the ogg-dev mailing list