[Flac-dev] Large compression test
Josh Coalson
xflac at yahoo.com
Fri Aug 3 21:21:28 PDT 2001
A large test I ran on flac 1.0 recently finished so I thought
I'd post the results. I took about 60 CDs, totalling around
30 gigs uncompressed, and compressed them all using all 10 of
flac's default compression modes (-0 through -9). The CDs are
of a wide variety of music; I think the only major genres not
represented are country and rap (freudian slip). Anyway, the
raw numbers:
Opt Uncompressed Compressed Ratio Encode Time
--- ------------ ----------- ------ -----------
-0 18705533061 30308309960 0.6171 3:49:31
-1 18296233794 30308309960 0.6036 3:56:11
-2 18213733462 30308309960 0.6009 4:15:55
-3 17947006657 30308309960 0.5921 4:29:18
-4 17492915245 30308309960 0.5771 4:58:26
-5 17447297373 30308309960 0.5756 5:37:22
-6 17435250044 30308309960 0.5752 5:48:08
-7 17414666580 30308309960 0.5745 10:58:38
-8 17385832738 30308309960 0.5736 13:43:05
-9 17350388508 30308309960 0.5724 282:30:39
Yes, that last one is almost 12 days. You probably noticed
that the compression difference is about 0.1% from -8,
which is why I say -9 is more theoretical than practical.
The test ran on a PIII-600 and I used -V for all the tests,
so the runtime without -V would be a tiny bit less for
-7 -8 -9 and noticibly faster for the lower modes. And
I'm glad to say that there were no verify errors and the
decoded WAVs compared exactly to the originals every time.
The range of ratios ranged from 0.20 for some jazz tracks
(quiet Ella Fitzgerald stuff) to 0.78. The hardest
stuff to encode was constistently by the band Dream
Theater (the ultimate in progressive rock), even harder
than death metal like Cannibal Corpse. Classical, jazz,
chant were almost always below 0.5. Rock, techno, world
music usually fell in the range 0.5-0.7. A ratio of
0.2 like with some of the jazz and classical tracks means
a bitrate of under 300kbps which is not bad for lossless.
The other interesting thing is that the sweet spot seems
to be more near -4 than -5.
Josh
P.S. My next project is to rip and encode all my CDs and
store the CD metadata in a database. I've got a nice
schema worked out and a better hash than CDindex for
creating a primary key from the CD TOC. If there's
interest I can publish the code for the little TOC
reader + key generator (UNIX only, gotta love ioctl).
__________________________________________________
Do You Yahoo!?
Make international calls for as low as $.04/minute with Yahoo! Messenger
http://phonecard.yahoo.com/
More information about the Flac-dev
mailing list