Skip to content
Yann Collet edited this page Oct 13, 2015 · 1 revision

Entropy codec 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.h : error list and management
  • mem.h : low level memory access routines
  • bitstream.h : generic read/write bitstream common to all entropy codecs

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.

  • fse.c implements the codec, while fse.h exposes its interfaces.
  • fse_static.h is an optional header, exposing unsupported and potentially unstable interfaces, for experiments.

FSE 16-bits 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.

  • fseU16.c implements the codec, while fseU16.h exposes its interfaces.

Huff0 Huffman codec

This is the fast huffman codec. This requires the base FSE codec to compress its headers.

  • huff0.c implements the codec, while huff0.h exposes its interfaces.
  • huff0_static.h is an optional header, exposing unsupported and potentially unstable interfaces, for experiments.
Clone this wiki locally