Pictures, games & sound
Wedeo
Port FFmpeg behavior to Rust and compare the decoded bytes.
Recorded result
Explore the exampleWhy I’m interested
FFmpeg is a demanding reference for an AI-directed Rust rewrite because the output gives you a concrete way to judge the work. A decoded image can look right while its bytes differ. I want the port to preserve the behavior behind the picture, and byte-for-byte comparisons make that goal measurable.
Progress
The Rust CLI decoded three synthetic H.264 frames with the same checksums and all 4,608 raw bytes as FFmpeg. The wider port contains codec implementation work beyond this example. The page shows the three decoded frames and their reference checksums.
Three frames, two decoders
Give Wedeo and FFmpeg the same synthetic H.264 input, then compare each decoded frame's checksum.
A 32 × 32 synthetic H.264 frame
Both decoders produced the same raw YUV bytes. The PNG displays Wedeo's decoded output, while the checksums compare the bytes behind it.

- Frame bytes
- 1536
- Frame checksum
- 0xf1b9e679
- Reference
- Equal
Result
Wedeo: 0xf1b9e679
FFmpeg: 0xf1b9e679
Format: YUV420p
Dimensions: 32 × 32A 32 × 32 synthetic H.264 frame
Both decoders produced the same raw YUV bytes. The PNG displays Wedeo's decoded output, while the checksums compare the bytes behind it.

- Frame bytes
- 1536
- Frame checksum
- 0x429be54f
- Reference
- Equal
Result
Wedeo: 0x429be54f
FFmpeg: 0x429be54f
Format: YUV420p
Dimensions: 32 × 32A 32 × 32 synthetic H.264 frame
Both decoders produced the same raw YUV bytes. The PNG displays Wedeo's decoded output, while the checksums compare the bytes behind it.

- Frame bytes
- 1536
- Frame checksum
- 0x5566e611
- Reference
- Equal
Result
Wedeo: 0x5566e611
FFmpeg: 0x5566e611
Format: YUV420p
Dimensions: 32 × 32This native comparison uses baseline H.264 with three intra frames. The complete 4,608-byte YUV output matches FFmpeg. The next comparison adds another decoder fixture.
What comes next
Add a second decoder fixture and compare its raw output with FFmpeg.
Implementation and credits
How do the Rust decoder and FFmpeg compare on the same input?
Three synthetic H.264 frames pass through the native Wedeo and FFmpeg decoders. Their raw YUV output matches byte for byte.
Select a decoded frame and compare its checksum with the FFmpeg reference.
The native Rust CLI supplies the decoded output. Rust and Askama publish the frames and checksums.
Human-directed, AI-generated port based on FFmpeg references.