Quote:
Originally Posted by ross
Basically it is now on par with ARJm7, excluding the pre-LZ4-packed Coso_file.
In this case, unfortunately, it is inevitable that many LZ sequences are 'stolen' by the prepack and the entropic part of ARJ wins.
I'd like to try the un-prepacked version, or a version where LZ4 is replaced internally by ZX0.
|
Ok, it took me a while because I wanted to reconstruct the situation as similar as possible to the original: same initial table with positioning, same order of files, same 'empty spaces' for missing/deleted files.
And as I imagined the situation is different.
Not only by replacing LZ4 with ZX0 the original pre-compressed file is much smaller, but also the final file, and with a large margin
Original file 153031 vs 218912.
Packed file
134212 vs 142048!
So for AmigAtari we have a possible substitute
---
I experimented a bit with an entropy stage.
The only point where it seems probable to insert it is for pure literals, because in all other cases I would destroy the properties of the encoder stream or I would just lose speed.
The fastest and most effective seems to be using a prefix-coder constructed using a package-merge algorithm (basically a tabled length-limited canonical huffman) with an adaptive (tree) block subdivider.
I squeezed another ~1700bytes from Zombies.SHP.
Very rough tests point out to me that ARJm7 is systematically beaten.
But I don't know, the decoder becomes much slower and complex.
I don't have a decompressor for 68k yet, but the feeling is that it should unpack faster than ARJm7.
For now I leave it on stand-by, I'm not too convinced.
The beauty of this decompressor is the extreme speed and the good compression, I would not want it to lose its qualities.
Only problem is the very slow compression, so to use only if you are aware of it