summaryrefslogtreecommitdiffstats
path: root/doc/lzlib.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/lzlib.info')
-rw-r--r--doc/lzlib.info71
1 files changed, 48 insertions, 23 deletions
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