How meta/zstd works
Zstandard is a lossless compression library and command-line tool. The main user workflow is to invoke the CLI on files, have its file-I/O layer configure and call the library to compress or decompress, then write the resulting data. The library also supports dictionary training and use, parallel compression, legacy decoding, and a zlib-compatible wrapper; seekable frames and parallel CLI compression are additional capabilities. Shared format, entropy, memory, and platform code underpin the codec. Some implementation files were not sampled, so edges are limited to README statements and indexed references.
Main entry points: zstd.h Public API · zstdcli.c zstd CLI · zstd_compress.c Compression Engine · fileio.c File I/O
Components 17
Command-line
- zstd CLI
programs/zstdcli.c - File I/O
programs/fileio.c - CLI Utilities
programs/util.c
Compression Codec
- Public API
lib/zstd.h - Compression Engine
lib/compress/zstd_compress.c - Decompression Engine
lib/decompress/zstd_decompress.c - Dictionary Training
lib/dictBuilder/zdict.c - Legacy Decoders
lib/legacy - Parallel Compression
lib/compress/zstdmt_compress.c
Codec Support
- Entropy Coding
lib/common/fse.h - Common Primitives
lib/common - Codec Interfaces
lib/compress/zstd_compress_internal.h
Formats And Integrations
- Seekable Frames
contrib/seekable_format/zstdseek_compress.c - Seekable Reader
contrib/seekable_format/zstdseek_decompress.c - Parallel CLI
contrib/pzstd/Pzstd.cpp - zlib Wrapper
zlibWrapper/zstd_zlibwrapper.c
Other components
- File User
Connections 18
- File User → zstd CLI: invokes
- zstd CLI → File I/O: uses
programs/zstdcli.c - zstd CLI → CLI Utilities: uses
programs/zstdcli.c - File I/O → Public API: calls
programs/fileio.c - Public API → Compression Engine: compresses with
- Public API → Decompression Engine: decompresses with
- Compression Engine → Codec Interfaces: uses
lib/compress/zstd_compress.c - Compression Engine → Entropy Coding: uses
lib/compress/zstd_compress.c - Compression Engine → Common Primitives: uses
lib/compress/zstd_compress.c - Decompression Engine → Common Primitives: uses
- Dictionary Training → Public API: supports dictionaries
- zstd CLI → Dictionary Training: trains dictionaries
- Public API → Parallel Compression: supports parallel mode
lib/zstd.h - Public API → Legacy Decoders: decodes older formats
- Public API → Seekable Frames: supports seekable frames
- Seekable Reader → Public API: reads frames
contrib/seekable_format/zstdseek_decompress.c - Parallel CLI → zstd CLI: parallel CLI use
- zlib Wrapper → Public API: calls
zlibWrapper/zstd_zlibwrapper.c