From c845b66d8b17513b64acac9e74d20631a68e22b1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 7 Nov 2015 15:03:18 +0100 Subject: Merging upstream version 1.6~pre3. Signed-off-by: Daniel Baumann --- doc/lzlib.info | 71 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 23 deletions(-) (limited to 'doc/lzlib.info') diff --git a/doc/lzlib.info b/doc/lzlib.info index 1344ced..2017f3f 100644 --- a/doc/lzlib.info +++ b/doc/lzlib.info @@ -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 -- cgit v1.2.3