gamut-heic
gamut-heic is a pure-Rust HEIC/HEIF encoder — HEVC (H.265) bitstreams wrapped in an ISOBMFF
container.
Goals
Part of the gamut workspace, this crate exists to provide HEIC encoding that is:
- Memory-safe on hostile input.
#![forbid(unsafe_code)], deleting the memory-corruption bug class that has bitten the C HEVC/HEIF stacks. - Clean-slate from the spec. Implemented directly from the HEVC and HEIF specs (see
../../references/) rather than wrapping libde265/libheif. - Sharing the AVIF container. It reuses
gamut-isobmff— the same ISOBMFF box writer that backs AVIF — and color handling fromgamut-color.
Note: HEVC is patent-encumbered, unlike gamut's royalty-free focus formats; this crate is scaffolding and may move or be dropped as the project's scope sharpens (see the workspace README's "Scope").
Usage
No public API yet — implementation pending. It will follow the same shape as
gamut-avif: an encoder type implementing [gamut_core::EncodeImage], reachable
through the umbrella crate's heic feature.
Status
Placeholder — implementation pending.
Roadmap
- HEVC intra still-image encoding, wrapped via
gamut-isobmff(hvc1items).
License
Licensed under either of MIT or Apache-2.0 at your option.