Skip to content

Releases: fMindstormer/h264cpu

v1.0: five videos that compute

Choose a tag to compare

@fMindstormer fMindstormer released this 27 Oct 13:58

Five standard H.264 videos (Main profile, level 5.1, 60 fps, 30 s each). Each holds a starting state and 16 program frames that repeat; the decoder computes every later state while the video plays. Nothing after the start-up frames is pre-rendered.

File What the decoder computes Picture In 30 s Size
life.mp4 Conway's Game of Life (B3/S23) on a 200×200 torus, with a glow 400×400 298 generations 10.0 MB
primes.mp4 The Wireworld computer's instruction set (Moore and Owen), running Michael Fryers' prime program; a seven-segment display shows each prime 592×208 104 instructions; shows 2, 3, 5, 7 66.9 MB
tunnel.mp4 Game of Life on a 128×128 torus, inside a 1920×1080 picture the decoder zooms and turns from its own previous frame 1920×1080 299 generations 46.4 MB
spiral.mp4 A 14-state cyclic cellular automaton on a 64×64 torus 128×128 199 generations 7.2 MB
turing.mp4 Multi-scale Turing patterns (reaction–diffusion, after Jonathan McCabe; not a Turing machine) on a 104×104 torus 208×208 1,793 steps 21.6 MB

Verification (23–27 October 2026, Apple M4, macOS 27.0.1):

  • All 1800 frames of each file, decoded by ffmpeg 9.0.2 and again by Apple's VideoToolbox (through ffmpeg's -hwaccel videotoolbox), equal the NumPy simulation in every sample.
  • The Life boards equal an independent NumPy Life, and the spiral board the cyclic automaton, after every generation. The CPU's registers, program counter, instruction register, display and carry equal a reference model of its instruction set after every instruction.
  • The build is deterministic: python -m h264cpu <program> rebuilds these exact files and runs the same checks (--hwaccel videotoolbox for Apple's decoder). Details: how it is checked.

Players other than ffmpeg-based ones, Chromium and Apple's decoder have not been checked frame by frame. If one shows something different, please open an issue naming it.

SHA-256:

244555a36fbff2026c79a6ed9fd542a53a976025cb7ef278acb16620d4974b8a  life.mp4
34b66dbb7eec049ddf1e41b59a547ac8e7e81bd328f3c1468ccc36a59e983b0e  primes.mp4
56c733c8713ecb0c80fc90b4f102c9d1683a220904f8960762685bebbdc7ad92  tunnel.mp4
0d92fa6c3f7e84b29991734cd00b79cfcba4fb53ab27909ef0d2639115114e21  spiral.mp4
966753d4ba0d7c5a8ed40307663c2f5dc14ad0337ff054cd6442c0292320e7a4  turing.mp4

Or skip the files: draw a pattern and watch your browser's decoder run it.