Hello. I just added 24 bit support to CRAM and noticed that 24 bit data
isn't compressing much, if at all. I saw a recent thread on this list
concerning this same issue.
http://lists.xiph.org/pipermail/flac-dev/2006-July/001907.html
I ran some tests using the command line 'flac' program and also
experienced rather poor results. When doing a 'flac -a' many of the
files have VERBATIM FLAC chunks in them, as the above thread mentions
also.
Any ideas on what could be causing this?
One test I did was to take one file that performed rather poorly and
convert it to 16 bit and then back to 24 bit again (verified with a hex
editor that LSBytes were 0s). Here were the results:
Original 24 bit: 192812 -> 197026 bytes = 102% (got bigger)
16 bit: 128556 -> 97725 bytes = 76%
24 -> 16 -> 24: 192812 -> 183695 bytes = 95.2%
An interesting note is that compressing the 16 MS bits and encoding the
LS 8 bits verbatim would be smaller.
Below are some results for files I compressed with flac at 24 bit and 16
bit (converted with ecasound).
I'll poke around in the FLAC code a bit to see if I can find anything,
but I thought I'd post here to see if anyone has a better idea of what
might be wrong. Best regards,
Josh Green
24 bit
options: -P 4096 -b 4608 -m -l 8 -q 0 -r 3,3
Bees1_clip01.wav: wrote 243159 bytes, ratio=0.945
Bees1_clip02.wav: wrote 319382 bytes, ratio=0.782
Bees2_clip01.wav: wrote 535266 bytes, ratio=1.007
Bees3_clip01.wav: wrote 538943 bytes, ratio=0.805
Bees3_clip02.wav: wrote 356050 bytes, ratio=0.865
Bees3_clip03.wav: wrote 202738 bytes, ratio=0.758
Bees3_clip04.wav: wrote 180798 bytes, ratio=0.774
Bees3_clip05.wav: wrote 348487 bytes, ratio=0.782
Bees3_clip06.wav: wrote 246837 bytes, ratio=0.833
Bees4_clip01.wav: wrote 397719 bytes, ratio=1.003
Bees4_clip02.wav: wrote 239811 bytes, ratio=0.908
Bees4_clip03.wav: wrote 367556 bytes, ratio=1.005
Cricket01.wav: wrote 243255 bytes, ratio=1.015
Cricket02.wav: wrote 197026 bytes, ratio=1.022
GrassHopper_clip01.wav: wrote 768673 bytes, ratio=1.001
GrassHopper_clip02.wav: wrote 638097 bytes, ratio=0.987
GrassHopper_clip03.wav: wrote 557699 bytes, ratio=0.997
GrassHopper_clip04.wav: wrote 568383 bytes, ratio=1.005
GrassHopper_clip05.wav: wrote 1459159 bytes, ratio=0.945
SeedPod1.wav: wrote 259027 bytes, ratio=1.005
SeedPod2.wav: wrote 289343 bytes, ratio=0.999
SeedPod3.wav: wrote 273867 bytes, ratio=0.985
16 bit
options: -P 4096 -b 4608 -m -l 8 -q 0 -r 3,3
Bees1_clip01_16.wav: wrote 116837 bytes, ratio=0.681
Bees1_clip02_16.wav: wrote 165013 bytes, ratio=0.606
Bees2_clip01_16.wav: wrote 261264 bytes, ratio=0.737
Bees3_clip01_16.wav: wrote 275022 bytes, ratio=0.616
Bees3_clip02_16.wav: wrote 176597 bytes, ratio=0.643
Bees3_clip03_16.wav: wrote 106485 bytes, ratio=0.597
Bees3_clip04_16.wav: wrote 94403 bytes, ratio=0.606
Bees3_clip05_16.wav: wrote 180244 bytes, ratio=0.607
Bees3_clip06_16.wav: wrote 125787 bytes, ratio=0.636
Bees4_clip01_16.wav: wrote 186186 bytes, ratio=0.705
Bees4_clip02_16.wav: wrote 117756 bytes, ratio=0.668
Bees4_clip03_16.wav: wrote 173618 bytes, ratio=0.712
Cricket01_16.wav: wrote 123631 bytes, ratio=0.774
Cricket02_16.wav: wrote 97725 bytes, ratio=0.760
GrassHopper_clip01_16.wav: wrote 414547 bytes, ratio=0.810
GrassHopper_clip02_16.wav: wrote 350511 bytes, ratio=0.813
GrassHopper_clip03_16.wav: wrote 311311 bytes, ratio=0.835
GrassHopper_clip04_16.wav: wrote 312618 bytes, ratio=0.829
GrassHopper_clip05_16.wav: wrote 739746 bytes, ratio=0.718
SeedPod1_16.wav: wrote 134188 bytes, ratio=0.781
SeedPod2_16.wav: wrote 149471 bytes, ratio=0.774
SeedPod3_16.wav: wrote 144464 bytes, ratio=0.779