Skip to content
hw.dev
hw.dev/signal/openav1-frame-state-u200-byte-exact-2026
SignalOpenAV1

OpenAV1 Keeps 500 Video Frames Byte-Exact on an FPGA

OpenAV1 moves frame history onto the accelerator while keeping a 500-frame test identical to a trusted software decoder.

Thesis connection

A long video test now checks the accelerator's state across frames instead of proving only that one frame works.

#fpga#ai-hardware#testing#verification
Read Original

OpenAV1 can now keep the history between video frames on an AMD Alveo U200 field-programmable gate array (FPGA), a chip whose logic can be rewired after manufacturing. The project decoded a 500-frame, 1080p clip at 3.0 frames per second and produced output byte-for-byte identical to dav1d, a widely used software decoder for AOMedia Video 1 (AV1).

Video decoding depends on more than the current picture. Later frames reuse probability tables and motion information from earlier ones, so moving that state onto the card can introduce errors that a single-frame test won't find. OpenAV1 added hardware to save and reload those tables, project motion data forward, and expose the state to its host software. Its test compares the whole sequence with dav1d instead of checking that the accelerator merely produced a picture.

Three frames per second is far from a useful 1080p playback rate, and this result comes from the project's own test. Still, byte-exact agreement across 500 dependent frames is the right milestone before optimizing speed. The next result worth watching is whether throughput rises without shortening that comparison or relaxing it to a visual check.