PDA

View Full Version : AntiZ + CLS (ZLib Precompressor)


Razor12911
31-05-2016, 18:54
AntiZ is a project to create an open source precompressor for lightly compressed data.(currently Zlib)
Zlib is very common, for example it is used in PDF, JAR, ZIP, PNG etc.
It is fast but it has a poor compression ratio, and it is usually not effective to use a stronger compression(eg. LZMA) on data that has been compressed with Zlib. It would be much better if the data was not compressed at all before the sron compression. For example:
PDF file: 172KB---->compresses to 124KB with 7ZIP 9.38 beta (ultra preset)
PDF file: 172KB---->expands to 745KB with AntiZ----->compresses to 104KB with 7ZIP

Of course this process is not trivial if you want to get back the original file, byte identical.
This project is inspiried by and aims to be a replacement for the long abandoned precomp project (non open source).
http://schnaader.info/precomp.php

AntiZ is currently in alpha stage, the ATZ1 file format is not very polished, has almost no integrity checksa and wastes space. There may also be bugs. I do not recommend using it on important data yet, especially since later versions will not support the ATZ1 file format.

AntiZ supports any file that contains a standard deflate stream, such as PDF, JAR, some PNGs and many others. Files that contain headerless or otherwise altered deflate streams(eg. ZIP) are currently not supported.

A number of people have contributed ideas, kind words, testing and code to the development of AntiZ:

hxim (https://github.com/hxim)

the encode.ru community (http://encode.ru/threads/2197-AntiZ-an-open-source-alternative-to-precomp)

Thank you!

USAGE:

uncomp.exe [--brute-window] [--notest] [-r] [--chunksize <integer>]
[--mismatch-tol <integer>] [--shortcut-len <integer>]
[--sizediff-tresh <integer>] [--recomp-tresh <integer>] [-o
<string>] -i <string> [--] [--version] [-h]


Where:

--brute-window
Bruteforce deflate window size if there is a chance that recompression
could be improved by it. This can have a major performance penalty.
Default: disabled

--notest
Skip comparing the reconstructed file to the original at the end. This
is not recommended, as AntiZ is still experimental software and my
contain bugs that corrupt data.

-r, --reconstruct
Assume the input file is an ATZ file and attempt to reconstruct the
original file from it

--chunksize <integer>
Size of the memory buffer in bytes for chunked disk IO. This contorls
memory usage to some extent, but memory usage control is not fully
implemented yet. Smaller values result in more disk IO operations.
Default: 524288

--mismatch-tol <integer>
Mismatch tolerance in bytes. If a set of parameters are found that
give at most this many mismatches, then accept them and stop looking
for a better set of parameters. Increasing this improves speed at the
cost of more ATZ file overhead that may hurt compression. Default: 2
Maximum: 65535

--shortcut-len <integer>
Length of the shortcut in bytes. If a stream is longer than the
shortcut, then stop compression after <shortcut> compressed bytes have
been obtained and compare this portion to the original. If this
comparison yields more than recompTresh mismatches, then do not
compress the entire stream. Lowering this improves speed, but it must
be significantly greater than recompTresh or the speed benefit will
decrease. Default: 512 Maximum: 65535

--sizediff-tresh <integer>
Size difference treshold in bytes. If the size difference between a
recompressed stream and the original is more than the treshold then do
not even compare them. Increasing this treshold increases the chance
that a stream will be compared to the original. The cost of comparing
is relatively low, so setting this equal to the recompression treshold
should be fine. Default: 128 Maximum: 65535

--recomp-tresh <integer>
Recompression treshold in bytes. Streams are only recompressed if the
best match differs from the original in at most recompTresh bytes.
Increasing this treshold may allow more streams to be recompressed,
but may increase ATZ file overhead and make it harder to compress.
Default: 128 Maximum: 65535

-o <string>, --output <string>
Output file name

-i <string>, --input <string>
(required) Input file name

--, --ignore_rest
Ignores the rest of the labeled arguments following this flag.

--version
Displays version information and exits.

-h, --help
Displays usage information and exits.


Notes
cls-antiz.dll and antiz.exe are needed for both compression and decompression.

aswadd
06-09-2016, 21:21
I usually use AntiZ rather than precomp :) it gave better ratio with srep+lzma & also provide more speed .. the only problem in Antiz is that it can't handle large files / folders like 15 GB :( this is the only problem ..

LuzhinE
12-10-2016, 10:19
thanks I'll try

aswadd
14-10-2016, 06:15
aswadd and as you run?

don't know what you mean ?? :D
but if you will compare precomp038 with antiz
for small files like 1GB precomp will win in the speed
big Files of course Antiz will win :) but it depends on your ram so it can't handle large files

LuzhinE
19-10-2016, 13:35
as I can make it work because there is no discharge in arc.ini, you would be so kind to explain, to make a test

78372
12-05-2017, 10:56
AntiZ is going to be updated or abandoned?

Gupta
19-05-2017, 06:35
AntiZ is going to be updated or abandoned?

Creator has done it as a project for his university looks like he got the grades

78372
19-05-2017, 06:43
Creator has done it as a project for his university looks like he got the grades

Yeah, may be.

Simorq
20-05-2017, 03:54
antiz015a
https://github.com/Diazonium/AntiZ/releases

Gupta
20-05-2017, 04:16
last commit July 28, 2016, it will be 1 year soon last updated

78372
20-05-2017, 08:49
So, it was updated and looks like it's going to be updated again.

78372
22-05-2017, 10:17
This new antiz works with this cls perfectly

romulus_ut3
23-05-2017, 22:56
Just an inquiry: is AntiZ superior than pZlib v3?

78372
24-05-2017, 00:52
No, but faster than precomp

78372
12-06-2017, 20:01
Some latest news, as the creator said, antiz is going to be abandoned forever.

At this point, I have no time or motivation to work on this project. So for the foreseeable future, no updates.