README.md
1New Generation Entropy library
2==============================
3
4The __lib__ directory contains several files, but you don't necessarily want them all.
5Here is a detailed list, to help you decide which one you need :
6
7
8#### Compulsory files
9
10These files are required in all circumstances :
11- __error_public.h__ : error list as enum
12- __error_private.h__ : error management
13- __mem.h__ : low level memory access routines
14- __bitstream.h__ : generic read/write bitstream common to all entropy codecs
15- __entropy_common.c__ : common functions needed for both compression and decompression
16
17
18#### Finite State Entropy
19
20This is the base codec required by other ones.
21It implements a tANS variant, similar to arithmetic in compression performance, but much faster. Compression and decompression can be compiled independently.
22- __fse.h__ : exposes interfaces
23- __fse_compress.c__ : implements compression codec
24- __fse_decompress.c__ : implements decompression codec
25
26
27#### FSE 16-bits symbols version
28
29This codec is able to encode alphabets of size > 256, using 2 bytes per symbol. It requires the base FSE codec to compile properly. Compression and decompression are merged in the same file.
30- __fseU16.c__ implements the codec, while __fseU16.h__ exposes its interfaces.
31
32
33#### Huffman codec
34
35This is the fast huffman codec. It requires the base FSE codec to compress its headers. Compression and decompression can be compiled independently.
36- __huf.h__ : exposes interfaces.
37- __huf_compress.c__ : implements compression codec
38- __huf_decompress.c__ : implements decompression codec
39