Re: Ojala Pasi = magician !

From: Ojala Pasi 'Albert' (albert_at_cs.tut.fi)
Date: 2000-09-14 09:44:21

> I'm still using one of the earlier version of PUZIP
> and i've noticed when itreaches a very small seq file on the directory it
> reports a compression ratio of  100% - 120%  , gosh ;->

Well, well, that's not the compression ratio it reports, it's the size
of the result compared to the original, which means that the smaller
the value, the better it compressed. Values above 100% mean a file
was expanded. If it is above something like 100.3%, you should use
the store setting (S) instead of medium-blown deflate (Y).

There is now also a C16 and +4 versions of PuZip, but I'll release
them only after someone has reported how it works. I may have to
wait until the weekend even..

I'm also considering a ZIP repacker, which would turn fixed-Huffman-tree
deflate into dynamic-Huffman-tree deflate. Of course the point is
getting better compression, but because of memory and complexity
issues adding dynamic-huffman-tree deflate to PuZip may be
inconvenient.

Two-pass compression is of course an option (or part of the file to
get at least a moderately accurate statistic), and another way would
be to decode and recode the contents of the output buffer, i.e. first
save to output buffer with fixed-huffman trees and gather statistics,
and when the buffer is to be flushed, create huffman trees, output
them to ZIP, then decode and recode the stream. The rest of the file
would be directly encoded as dynamic huffman. But I'll model everything
in C before deciding which way to go..

-Pasi
-- 
/Mat luxuriated in the feel of Melindhra's thumbs kneading their way down
 his spine. There was nothing quite as good than a massage after a long day
 in the saddle. Well, some things were, but right then, he was willing to
 settle for her thumbs./ -- Mat in The Wheel of Time:"The Fires of Heaven"
-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tml.hut.fi.

Archive generated by hypermail 2.1.1.