mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-09 08:07:19 -06:00
- AdjustLiz.sh fixes some double defines with zstd of lizard - lizard uses it's own entropy lib again - this will fix #302 Signed-off-by: Tino Reichardt <milky-7zip@mcmilk.de>
1.5 KiB
1.5 KiB
New Generation Entropy library
The lib directory contains several files, but you don't necessarily want them all. Here is a detailed list, to help you decide which one you need :
Compulsory files
These files are required in all circumstances :
- error_public.h : error list as enum
- error_private.h : error management
- mem.h : low level memory access routines
- bitstream.h : generic read/write bitstream common to all entropy codecs
- entropy_common.c : common functions needed for both compression and decompression
Finite State Entropy
This is the base codec required by other ones. It implements a tANS variant, similar to arithmetic in compression performance, but much faster. Compression and decompression can be compiled independently.
- fse.h : exposes interfaces
- fse_compress.c : implements compression codec
- fse_decompress.c : implements decompression codec
FSE 16-bits symbols version
This 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.
- fseU16.c implements the codec, while fseU16.h exposes its interfaces.
Huffman codec
This is the fast huffman codec. It requires the base FSE codec to compress its headers. Compression and decompression can be compiled independently.
- huf.h : exposes interfaces.
- huf_compress.c : implements compression codec
- huf_decompress.c : implements decompression codec