Skip to main content
← all demos
wai.image.jpegai · decode-equivalence

A published international standard's entropy decode, byte-exact in this tab.

JPEG AI (ISO/IEC 6048) is a learned image codec. Its entropy stage is defined in integer arithmetic so it decodes identically on every device — and WAI runs that stage with the same pure-i64 Rust a native sink runs, compiled to wasm32: no onnxruntime-web, no float. The stream below was produced by the reference software's own encoder. Your browser rebuilds the decode tables from the integer PMF rows and decodes the masked-ANS bitstream to residual symbols.

Then it hashes the decoded symbols and checks the digest against the one the native reference produced. A byte-identical match, host and browser, is the whole point of the integer-entropy contract: the reconstruction is a portable hash. These are the same stream and symbols WAI's cross-architecture byte-equality suite checks natively — here they run client-side, with no server.

stream—
coded symbols—
decode—
mismatches vs native—
blake3(symbols) — this tab
—
blake3(symbols) — native reference
—
decoded residual symbols

The whole image, decoded in this tab

The full codestream→RGB path — integer entropy, dequant, hyper decoder, MCM, synthesis, post-filters, BT.709 — the same decoder a native sink runs. One-time model fetch (~12 MB gzipped); the decode itself runs ~8 s of pure-i64 wasm. The decoded pixels hash byte-for-byte to the native reference.

decode—
sha256(RGB) — this tab
—
sha256(RGB) — native reference
—