Decode and encode
The j2k facade owns public HTJ2K application APIs for raw HT codestreams and JPH still-image files, including cleanup and refinement packet paths.
cargo add j2k
HTJ2K Rust
J2K supports HTJ2K Part 15 Rust APIs for HT codestream decode, encode, recode, JPH still-image wrapping, and JPEG-to-HTJ2K transcode workflows, with optional CUDA and Metal adapter crates for supported routes.
Release status: j2k 0.8.0 is published on crates.io; see the release policy for support details.
The j2k facade owns public HTJ2K application APIs for raw HT codestreams and JPH still-image files, including cleanup and refinement packet paths.
cargo add j2k
Classic JPEG 2000 inputs use coefficient-domain recode where valid, and a pixel-preserving fallback for signed, high-bit, lossy, sampled, or otherwise incompatible coefficient-domain cases.
j2k-transcode provides JPEG-to-HTJ2K coefficient-domain transcode primitives, with CUDA and Metal acceleration crates for supported transform stages.
cargo add j2k-transcode
HT cleanup, significance-propagation refinement, magnitude-refinement, packet length signaling, quality-layer contributions, and strict decode coverage are tracked by repo-local tests.
JPH wrapping and inspection reuse the JP2 box parser and validate HT codestream branding so HTJ2K files are distinct from classic JP2 files.
HTJ2K requests above the Part 15 coded-bitplane limit reject explicitly. External OpenJPH/Kakadu parity remains publication evidence, not a silent runtime fallback.
See Rust JPEG 2000 Codec, CUDA JPEG2000 Rust, Metal JPEG2000 Rust, and GPU Backends for related codec and backend pages.