Improving performance of rav1d video decoder
Published on: 2025-06-30 15:59:03
Making the rav1d Video Decoder 1% Faster
*on macOS with an M3 chip
*slightly more than 1%, on a specific benchmark, without any new unsafe code
A while ago, memorysafety.org announced a contest for improving performance of rav1d , a Rust port of the dav1d AV1 decoder.
As this literally has my name written on it, I thought it would be fun to give it a try (even though I probably can’t participate in the contest).
This is a write-up about two small performance improvements I found (1st PR, 2nd PR) and how I found them (you can also jump to the summary in the end).
Background and Approach
rav1d is a port of dav1d , created by (1) running c2rust on dav1d , (2) incorporating dav1d ’s asm-optimized functions, and (3) changing the code to be more Rust-y and safer.
The authors also published a detailed article about the process and the performance work they did.
More recently, the contest was announced, with the baseline being:
Our Rust-based rav1d decoder is currently about 5% slowe
... Read full article.