View Single Post
Old 02 October 2021, 19:14   #54
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,479
Quote:
Originally Posted by ross View Post
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
ross is offline  
 
Page generated in 0.07050 seconds with 11 queries