# chdlady
Rust library for reading, writing, and manipulating MAME CHD (Compressed Hunks of Data) containers.
This is the main entry point for consuming chdlady as a dependency. It re-exports types and functions from the internal crates (`chdlady-core`, `chdlady-disc`, `chdlady-huffman`, `chdlady-av`) under a single unified API. Supported media types include CD-ROM (CUE/GDI/TOC), DVD ISO, hard disk images, raw binary dumps, and laserdisc AVI. CHD versions 3, 4, and 5 can be read; version 5 can be written.
All crates in this workspace use `#![deny(unsafe_code)]`.
## Usage
```toml
[dependencies]
chdlady = "0.1"
```
The `default` feature enables everything. To select only what you need:
```toml
[dependencies]
chdlady = { version = "0.1", default-features = false, features = ["cd", "zlib", "lzma"] }
```
## Features
| `full` | ✓ | Enables all media types and codecs |
| `cd` | ✓ | CD-ROM creation and extraction (FLAC-based) |
| `dvd` | ✓ | DVD ISO creation and extraction |
| `gdrom` | ✓ | GD-ROM support (implies `cd`) |
| `hd` | ✓ | Hard disk image creation and extraction |
| `ld` | ✓ | Laserdisc creation and extraction |
| `zlib` | ✓ | Deflate codec |
| `lzma` | ✓ | LZMA codec |
| `zstd` | ✓ | Zstandard codec |
| `flac` | ✓ | FLAC codec for CD hunks |
| `rayon` | ✓ | Parallel compression and decompression |
Part of the [chdlady](https://codeberg.org/NeverAnswers/chdlady) workspace.