Merging upstream version 1.6~pre3.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
b9a866df33
commit
02a8ed6430
15 changed files with 306 additions and 185 deletions
|
@ -11,7 +11,7 @@ File: lzlib.info, Node: Top, Next: Introduction, Up: (dir)
|
|||
Lzlib Manual
|
||||
************
|
||||
|
||||
This manual is for Lzlib (version 1.6-pre2, 30 January 2014).
|
||||
This manual is for Lzlib (version 1.6-pre3, 30 March 2014).
|
||||
|
||||
* Menu:
|
||||
|
||||
|
@ -45,9 +45,24 @@ and decompression functions, including integrity checking of the
|
|||
decompressed data. The compressed data format used by the library is the
|
||||
lzip format. Lzlib is written in C.
|
||||
|
||||
The lzip file format is designed for long-term data archiving. It is
|
||||
clean, provides very safe 4 factor integrity checking, and is backed by
|
||||
the recovery capabilities of lziprecover.
|
||||
The lzip file format is designed for long-term data archiving, taking
|
||||
into account both data integrity and decoder availability:
|
||||
|
||||
* The lzip format provides very safe integrity checking and some data
|
||||
recovery means. The lziprecover program can repair bit-flip errors
|
||||
(one of the most common forms of data corruption) in lzip files,
|
||||
and provides data recovery capabilities, including error-checked
|
||||
merging of damaged copies of a file.
|
||||
|
||||
* The lzip format is as simple as possible (but not simpler). The
|
||||
lzip manual provides the code of a simple decompressor along with
|
||||
a detailed explanation of how it works, so that with the only help
|
||||
of the lzip manual it would be possible for a digital
|
||||
archaeologist to extract the data from a lzip file long after
|
||||
quantum computers eventually render LZMA obsolete.
|
||||
|
||||
* Additionally lzip is copylefted, which guarantees that it will
|
||||
remain free forever.
|
||||
|
||||
The functions and variables forming the interface of the compression
|
||||
library are declared in the file 'lzlib.h'. Usage examples of the
|
||||
|
@ -75,13 +90,23 @@ install any signal handler. The decoder checks the consistency of the
|
|||
compressed data, so the library should never crash even in case of
|
||||
corrupted input.
|
||||
|
||||
Lzlib implements a simplified version of the LZMA (Lempel-Ziv-Markov
|
||||
chain-Algorithm) algorithm. The high compression of LZMA comes from
|
||||
combining two basic, well-proven compression ideas: sliding dictionaries
|
||||
(LZ77/78) and markov models (the thing used by every compression
|
||||
algorithm that uses a range encoder or similar order-0 entropy coder as
|
||||
its last stage) with segregation of contexts according to what the bits
|
||||
are used for.
|
||||
There is no such thing as a "LZMA algorithm"; it is more like a "LZMA
|
||||
coding scheme". For example, the option '-0' of lzip uses the scheme in
|
||||
almost the simplest way possible; issuing the longest match it can find,
|
||||
or a literal byte if it can't find a match. Conversely, a much more
|
||||
elaborated way of finding coding sequences of minimum price than the one
|
||||
currently used by lzip could be developed, and the resulting sequence
|
||||
could also be coded using the LZMA coding scheme.
|
||||
|
||||
Lzip currently implements two variants of the LZMA algorithm; fast
|
||||
(used by option -0) and normal (used by all other compression levels).
|
||||
Lzlib just implements the "normal" variant.
|
||||
|
||||
The high compression of LZMA comes from combining two basic,
|
||||
well-proven compression ideas: sliding dictionaries (LZ77/78) and
|
||||
markov models (the thing used by every compression algorithm that uses
|
||||
a range encoder or similar order-0 entropy coder as its last stage)
|
||||
with segregation of contexts according to what the bits are used for.
|
||||
|
||||
The ideas embodied in lzlib are due to (at least) the following
|
||||
people: Abraham Lempel and Jacob Ziv (for the LZ algorithm), Andrey
|
||||
|
@ -736,18 +761,18 @@ Concept index
|
|||
|
||||
Tag Table:
|
||||
Node: Top220
|
||||
Node: Introduction1335
|
||||
Node: Library version3916
|
||||
Node: Buffering4561
|
||||
Node: Parameter limits5684
|
||||
Node: Compression functions6643
|
||||
Node: Decompression functions12856
|
||||
Node: Error codes19017
|
||||
Node: Error messages20956
|
||||
Node: Data format21535
|
||||
Node: Examples24184
|
||||
Node: Problems28267
|
||||
Node: Concept index28839
|
||||
Node: Introduction1333
|
||||
Node: Library version5247
|
||||
Node: Buffering5892
|
||||
Node: Parameter limits7015
|
||||
Node: Compression functions7974
|
||||
Node: Decompression functions14187
|
||||
Node: Error codes20348
|
||||
Node: Error messages22287
|
||||
Node: Data format22866
|
||||
Node: Examples25515
|
||||
Node: Problems29598
|
||||
Node: Concept index30170
|
||||
|
||||
End Tag Table
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue