HydrogenAudio

Lossless Audio Compression => WavPack => Topic started by: lkeagle on 2013-05-13 21:46:14

Title: Does Wavpack (or FLAC) support compression on 10 or 12 bit waveforms?
Post by: lkeagle on 2013-05-13 21:46:14
I am investigating compression alternatives (beyond gzip/deflate/etc.) for short clips of 10 or 12 bit audio-frequency waveforms.  I can't find any reference in the documentation that wavpack supports anything other than 16/24 bit waveforms.

I haven't attempted any tests yet, but does anyone know if this is possible with wavpack (or other lossless codecs like FLAC)? I could pad to 16bit if necessary for a test, but it would be far less than ideal to add a 33% overhead before compression even begins.
Title: Does Wavpack (or FLAC) support compression on 10 or 12 bit waveforms?
Post by: saratoga on 2013-05-13 22:24:25
Any format that works with lossywav will work with <16 bit input.  The decoder might insist on zero padding to 16 bit when writing to wav (packed 12 bit formats are uncommonly used).
Title: Does Wavpack (or FLAC) support compression on 10 or 12 bit waveforms?
Post by: Nick.C on 2013-05-13 22:36:08
Any PCM integer samples contained in the RIFF WAVE format will have a sample size corresponding to an exact number of bytes, i.e 8, 16, 24 or 32 bits. Audio where bits_per_sample is not divisible by 8 should be contained in a permissible sample size and padded with a number of LSBs (i.e. left shifted by the corresponding number of padding bits).
Title: Does Wavpack (or FLAC) support compression on 10 or 12 bit waveforms?
Post by: lvqcl on 2013-05-13 22:50:53
Of course, both FLAC and WavPack compress such padded data efficiently: there's no (or almost no) overhead.
Title: Does Wavpack (or FLAC) support compression on 10 or 12 bit waveforms?
Post by: ktf on 2013-05-14 07:57:36
How would 10 or 12 bit even be packed? (It can't be packed in WAV, right?) Anyway, the FLAC specification has room for any bitdepth between 4 and 32 bit, but I'm not sure whether the reference encoder accepts those, I never tried.

As others already said, padding is very well possible, because both WavPack and FLAC search for wasted bits, thats the method lossyWAV works. Overhead will be almost non-existent.
Title: Does Wavpack (or FLAC) support compression on 10 or 12 bit waveforms?
Post by: saratoga on 2013-05-14 16:21:52
How would 10 or 12 bit even be packed? (It can't be packed in WAV, right?)


10 bits of sample 1, 10 bits of sample 2, etc.

But yes, I was forgetting, WAV does not allow packed samples, or integer numbers of bytes.
Title: Does Wavpack (or FLAC) support compression on 10 or 12 bit waveforms?
Post by: Nick.C on 2013-05-14 19:22:53
How would 10 or 12 bit even be packed? (It can't be packed in WAV, right?) Anyway, the FLAC specification has room for any bitdepth between 4 and 32 bit, but I'm not sure whether the reference encoder accepts those, I never tried.

10 bit sample: 0111111111; Requires to be placed in a 16 bit container for WAV, i.e. 0111111111000000. As I said previously, WAV requires sample sizes to be an integer number of bytes.