State-of-the-art lossless data compression in C++. The goal is to provide clean APIs and really fast implementation. It includes compression codecs (Run Length coding, Exp Golomb coding, Huffman, Range, LZ, ANS, Context Mixers, PAQ derivatives), bit stream manipulation, and transforms such as Burrows-Wheeler (BWT) and Move-To-Front, etc ...
-h, --help
display this message
-v, --verbose=<level>
0=silent, 1=default, 2=display details, 3=display configuration,
4=display block size and timings, 5=display extra information
Verbosity is reduced to 1 when files are processed concurrently
Verbosity is silently reduced to 0 when the output is 'stdout'
(EG: The source is a directory and the number of jobs > 1).
-f, --force
overwrite the output file if it already exists
-i, --input=<inputName>
mandatory name of the input file or directory or 'stdin'
When the source is a directory, all files in it will be processed.
Provide \. at the end of the directory name to avoid recursion
(EG: myDir\. => no recursion)
-o, --output=<outputName>
optional name of the output file or directory (defaults to
<inputName.knz>) or 'none' or 'stdout'. 'stdout' is not valid
when the number of jobs is greater than 1.
-b, --block=<size>
size of blocks, multiple of 16 (default 1 MB, max 1 GB, min 1 KB).
-l, --level=<compression>
set the compression level [0..6]
Providing this option forces entropy and transform.
0=None&None (store), 1=TEXT+LZ4&HUFFMAN, 2=TEXT+ROLZ
3=BWT+RANK+ZRLT&ANS0, 4=BWT+RANK+ZRLT&FPAQ, 5=BWT&CM
6=X86+RLT+TEXT&TPAQ
-e, --entropy=<codec>
entropy codec [None|Huffman|ANS0|ANS1|Range|PAQ|FPAQ|TPAQ|CM]
(default is ANS0)
-t, --transform=<codec>
transform [None|BWT|BWTS|SNAPPY|LZ4|ROLZ|RLT|ZRLT|MTFT|RANK|TEXT|X86]
EG: BWT+RANK or BWTS+MTFT (default is BWT+RANK+ZRLT)
-x, --checksum
enable block checksum
-s, --skip
copy blocks with high entropy instead of compressing them.
-j, --jobs=<jobs>
maximum number of jobs the program may start concurrently
(default is 1, maximum is 32).
-h, --help
display this message
-v, --verbose=<level>
0=silent, 1=default, 2=display details, 3=display configuration,
4=display block size and timings, 5=display extra information
Verbosity is reduced to 1 when files are processed concurrently
Verbosity is silently reduced to 0 when the output is 'stdout'
(EG: The source is a directory and the number of jobs > 1).
-f, --force
overwrite the output file if it already exists
-i, --input=<inputName>
mandatory name of the input file or directory or 'stdin'
When the source is a directory, all files in it will be processed.
Provide \. at the end of the directory name to avoid recursion
(EG: myDir\. => no recursion)
-o, --output=<outputName>
optional name of the output file or directory (defaults to
<inputName.knz>) or 'none' or 'stdout'. 'stdout' is not valid
when the number of jobs is greater than 1.
-b, --block=<size>
size of blocks, multiple of 16 (default 1 MB, max 1 GB, min 1 KB).
-l, --level=<compression>
set the compression level [0..6]
Providing this option forces entropy and transform.
0=None&None (store), 1=TEXT+LZ4&HUFFMAN, 2=TEXT+ROLZ
3=BWT+RANK+ZRLT&ANS0, 4=BWT+RANK+ZRLT&FPAQ, 5=BWT&CM
6=X86+RLT+TEXT&TPAQ
-e, --entropy=<codec>
entropy codec [None|Huffman|ANS0|ANS1|Range|PAQ|FPAQ|TPAQ|CM]
(default is ANS0)
-t, --transform=<codec>
transform [None|BWT|BWTS|SNAPPY|LZ4|ROLZ|RLT|ZRLT|MTFT|RANK|TEXT|X86]
EG: BWT+RANK or BWTS+MTFT (default is BWT+RANK+ZRLT)
-x, --checksum
enable block checksum
-s, --skip
copy blocks with high entropy instead of compressing them.
-j, --jobs=<jobs>
maximum number of jobs the program may start concurrently
(default is 1, maximum is 32).