zstd/contrib/educational_decoder
2017-02-03 18:04:00 -08:00
..
harness.c Switch IO to go through streams 2017-02-03 15:22:52 -08:00
README.md Minor fixes according to comments 2017-01-30 15:00:19 -08:00
zstd_decompress.c Inlined portions of specification for clarity 2017-02-03 18:04:00 -08:00
zstd_decompress.h More const's and readability improvements 2017-01-31 15:57:18 -08:00

Educational Decoder

zstd_decompress.c is a self-contained implementation in C99 of a decoder, according to the Zstandard format specification. While it does not implement as many features as the reference decoder, such as the streaming API or content checksums, it is written to be easy to follow and understand, to help understand how the Zstandard format works. It's laid out to match the format specification, so it can be used to understand how complex segments could be implemented. It also contains implementations of Huffman and FSE table decoding.

harness.c provides a simple test harness around the decoder:

harness <input-file> <output-file> [dictionary]