The project builds a standards-conforming HEIC image sequence that makes Apple’s stock ImageIO decoder calculate and display the SHA-256 hash of the exact file it is decoding. The file is 536,870,946 bytes and contains 564 monochrome HEVC pictures, each 16,384 by 6,976 samples. Decoding the final picture produces the hexadecimal digest 802cc6d654ad15aafbb1ca5db4824292cc39fd72cf23fd80e1230d90679b9ff1, matching the file’s hash. The decoder performs a fixed computation: it constructs SHA-256’s message schedule, executes all 64 compression rounds and feed-forward, converts the result to hexadecimal, then uses a font lookup to render the characters.
The method treats ordinary HEVC reconstruction rules as a small computer. Intra prediction supplies local data paths, residuals make exact corrections, raster order enforces computation order, PCM carries literal inputs, and motion vectors move state between pictures. Lossless residual handling and disabled filters ensure the reconstructed samples match the compiler’s predicted values exactly. Because HEVC offers local pixel dependencies rather than the wider, more flexible operations available in the team’s earlier JPEG XL experiment, the implementation required a custom compiler, careful register placement and routing, and a sequence of pictures to hold the computation within decoder limits. The result demonstrates a specific finite SHA-256 circuit, not an unbounded general-purpose computer, and shows how decoder constraints shaped the design.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.