Video you can put in a receipt.
Every frame, the same bytes everywhere.
Why the whole decode is integer: each frame is rebuilt by integer block motion compensation from the previous frame plus an integer-quantized residual, so every frame is byte-identical on every conforming sink. This page runs the reference implementation's decoder, compiled to WebAssembly, with no ML runtime, and re-checks each decoded frame against the checksum the native reference recorded. That is frame-state-equivalence.
Frame-state-equivalence
As the clip plays, the page checks each decoded frame against the checksums recorded for that
clip (the native reference's, for the two integer clips);
— frames are checked. Motion compensation is array indexing and
the residual is integer-quantized, so nothing in the decode depends on the machine. The
real-footage clip moves by fractions of a pixel, so its motion compensation predicts on a
half-pixel grid by integer bilinear interpolation ((a+b+1)>>1), still
without a float.
A learned keyframe, integer frames after it
The neural keyframe clip is the registered capability
wai.video.int_hyper: a learned integer int_hyper keyframe followed by
integer motion-compensated frames, all decoded in integer arithmetic. Its frame checksums are
the ones the encoder recorded for this demo clip, which is generated demo data rather than a
conformance vector. Envelopes choose a capability per piece across separate objects; this clip
keeps its pieces in one envelope. wai-pack, the packager, reads a declared policy and cuts pieces
at scene changes, and writes a package with a stage index and a signed receipt; refinement layers in
packages and choosing the capability per piece come next.
Which hash is which
The frame hash and clip hash in the readout are 64-bit FNV-1a checksums of the decoded RGB bytes, compared with the values the native reference implementation recorded for the same clip. A signed video receipt hashes each decoded frame with BLAKE3 and binds those hashes, the codestream hash and the reconstruction work under one Ed25519 signature. The reference engine is Apache-2.0 in the open-standards repository.