lz4/lib
2016-11-08 11:47:03 +01:00
..
.gitignore lz4 version source from lz4.h 2016-09-02 22:04:16 -07:00
liblz4.pc.in lz4 version source from lz4.h 2016-09-02 22:04:16 -07:00
LICENSE Makefile : generates *.o for faster processing 2015-08-15 17:21:45 +01:00
lz4.c small compression ratio and speed improvement on small files 2016-11-07 17:31:38 -08:00
lz4.h updated links to LZ4 repository 2016-11-03 15:12:57 +01:00
lz4frame_static.h removed support for old error code enums from lz4frame_static.h, to free up namespace. 2016-11-04 16:29:43 -07:00
lz4frame.c err0r(LZ4F_errorCodes code) uses ptrdiff_t 2016-11-08 11:47:03 +01:00
lz4frame.h updated declaration of LZ4F_freeDecompressionContext 2016-11-07 14:14:42 +01:00
lz4hc.c slightly improved HC compression ratio 2016-11-07 19:32:24 -08:00
lz4hc.h updated links to LZ4 repository 2016-11-03 15:12:57 +01:00
Makefile test powerpc64 2016-11-08 11:16:16 +01:00
README.md documentation moved to doc/ 2016-11-03 13:25:20 +01:00
xxhash.c Use https wherever possible 2016-07-08 00:46:02 +02:00
xxhash.h Updated xxhash library to v0.6.1 2016-06-29 21:48:27 +02:00

LZ4 - Library Files

All source material within lib directory are BSD 2-Clause licensed. See LICENSE for details. The license is also repeated at the top of each source file.

The directory contains many files, but depending on project's objectives, not all of them are necessary.

The minimum required is lz4.c and lz4.h, which will provide the fast compression and decompression algorithm.

For more compression at the cost of compression speed, the High Compression variant lz4hc is available. It's necessary to add lz4hc.c and lz4hc.h. The variant still depends on regular lz4 source files. In particular, the decompression is still provided by lz4.c.

In order to produce files or streams compatible with lz4 command line utility, it's necessary to encode lz4-compressed blocks using the official interoperable frame format. This format is generated and decoded automatically by the lz4frame library. In order to work properly, lz4frame needs lz4 and lz4hc, and also xxhash, which provides error detection. (Advanced stuff : It's possible to hide xxhash symbols into a local namespace. This is what liblz4 does, to avoid symbol duplication in case a user program would link to several libraries containing xxhash symbols.)

A more complex lz4frame_static.h is also provided. It contains definitions which are not guaranteed to remain stable within future versions. It must be used with static linking only.

Other files present in the directory are not source code. There are :

  • LICENSE : contains the BSD license text
  • Makefile : script to compile or install lz4 library (static or dynamic)
  • liblz4.pc.in : for pkg-config (make install)
  • README.md : this file