[flac-dev] Supporting 32 bit data

Christoph Terasa cterasa at googlemail.com
Sun Sep 27 03:55:39 PDT 2015

On 9/26/2015 9:22 AM, Erik de Castro Lopo wrote:
> Hi all,
> I just noticed this:
>      https://sourceforge.net/p/flac/feature-requests/91/
> a request for support of 32 bit audio data. The request has been around
> since 2008.
> Had two inial impressions:
> * Would adding this break brackwards compatibility too badly? Obviously
>    decoding of 32 bit encoded data would not work with older versions of
>    flac.
16bit/24 bit files encoded with the "new" encoder would be playable in 
old decoders, right? So backwards compatibility is not really broken, 
only for new 32 bit files, which will hopefully be rare.

How about implementing 32/64 bit support, but also creating a fork of 
the project (FLAC32/64/etc.) at the same time? 32 bit files will get a 
separate header/file extension, and will decode only with either the 
"new" master branch decoder, or the "new" 32 bit decoder. Therefore it 
will be crystal clear that this is a new "form" of FLAC, which is not 
supported by the mainline decoder (at least not the old one). The 32 bit 
decoder can be phased out later down the line when adoption of the "new" 
mainline decoder has become ubiquitous. I know this is far from ideal, 
but IMHO it's better than dealing with cases where projects/products 
claim to have "FLAC support", but the user finds out he/she is unable to 
play his 32 bit "FLAC" files. Like I said, usage will hopefully be rare, 
especially as a delivery format.

On the other hand, nobody can expect FLAC to support everything that's 
possible. I think it's perfectly fine to "stick" to 24 bits and lower.
> * This is nuts. 24 bits has a dynamic range of ~140dB which is roughly
>    the difference between a quiet whisper in a quiet room, to the sound
>    of a jet engine at 10 meters. Surely that is enough?
Professionals who want to use FLAC for archival might want to store the 
data in the format they use in their DAW (though, arguably, if it's an 
audio recording the data was not recorded with anything close to 32 bit, 
not even 24 or 20 bit), so I see a "need" for that format. In reality 
the data they store in the lower bits is pure noise. Ideally they set 
the lower 12 bits to zero anyway, to make use of FLACs compression 
efficiency (like, for example, lossyFLAC does), but I rather suspect 
this results in badly compressible FLAC files, due to the fact that 
they're mostly compressing noise.
> Thoughts?
> Cheers,
> Erik

More information about the flac-dev mailing list