Adding upstream version 1.14.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
03a9d0ba58
commit
7684d13d23
29 changed files with 744 additions and 652 deletions
41
README
41
README
|
@ -34,6 +34,12 @@ are declared in the file 'lzlib.h'. Usage examples of the library are given
|
|||
in the files 'bbexample.c', 'ffexample.c', and 'minilzip.c' from the source
|
||||
distribution.
|
||||
|
||||
As 'lzlib.h' can be used by C and C++ programs, it must not impose a choice
|
||||
of system headers on the program by including one of them. Therefore it is
|
||||
the responsibility of the program using lzlib to include before 'lzlib.h'
|
||||
some header that declares the type 'uint8_t'. There are at least four such
|
||||
headers in C and C++: 'stdint.h', 'cstdint', 'inttypes.h', and 'cinttypes'.
|
||||
|
||||
All the library functions are thread safe. The library does not 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.
|
||||
|
@ -44,18 +50,18 @@ This interface is safer and less error prone than the traditional zlib
|
|||
interface.
|
||||
|
||||
Compression/decompression is done when the read function is called. This
|
||||
means the value returned by the position functions will not be updated until
|
||||
a read call, even if a lot of data are written. If you want the data to be
|
||||
means the value returned by the position functions is not updated until a
|
||||
read call, even if a lot of data are written. If you want the data to be
|
||||
compressed in advance, just call the read function with a size equal to 0.
|
||||
|
||||
If all the data to be compressed are written in advance, lzlib will
|
||||
automatically adjust the header of the compressed data to use the largest
|
||||
dictionary size that does not exceed neither the data size nor the limit
|
||||
given to 'LZ_compress_open'. This feature reduces the amount of memory
|
||||
needed for decompression and allows minilzip to produce identical compressed
|
||||
output as lzip.
|
||||
If all the data to be compressed are written in advance, lzlib automatically
|
||||
adjusts the header of the compressed data to use the largest dictionary size
|
||||
that does not exceed neither the data size nor the limit given to
|
||||
'LZ_compress_open'. This feature reduces the amount of memory needed for
|
||||
decompression and allows minilzip to produce identical compressed output as
|
||||
lzip.
|
||||
|
||||
Lzlib will correctly decompress a data stream which is the concatenation of
|
||||
Lzlib correctly decompresses a data stream which is the concatenation of
|
||||
two or more compressed data streams. The result is the concatenation of the
|
||||
corresponding decompressed data streams. Integrity testing of concatenated
|
||||
compressed data streams is also supported.
|
||||
|
@ -77,13 +83,13 @@ Lzlib currently implements two variants of the LZMA algorithm: fast (used by
|
|||
option '-0' of minilzip) and normal (used by all other compression levels).
|
||||
|
||||
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.
|
||||
compression ideas: sliding dictionaries (LZ77) 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 Markov (for the
|
||||
Abraham Lempel and Jacob Ziv (for the LZ algorithm), Andrei Markov (for the
|
||||
definition of Markov chains), G.N.N. Martin (for the definition of range
|
||||
encoding), Igor Pavlov (for putting all the above together in LZMA), and
|
||||
Julian Seward (for bzip2's CLI).
|
||||
|
@ -93,11 +99,10 @@ been compressed. Decompressed is used to refer to data which have undergone
|
|||
the process of decompression.
|
||||
|
||||
|
||||
Copyright (C) 2009-2022 Antonio Diaz Diaz.
|
||||
Copyright (C) 2009-2024 Antonio Diaz Diaz.
|
||||
|
||||
This file is free documentation: you have unlimited permission to copy,
|
||||
distribute, and modify it.
|
||||
|
||||
The file Makefile.in is a data file used by configure to produce the
|
||||
Makefile. It has the same copyright owner and permissions that configure
|
||||
itself.
|
||||
The file Makefile.in is a data file used by configure to produce the Makefile.
|
||||
It has the same copyright owner and permissions that configure itself.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue