Sharing a project relevant to the AV2 ecosystem: rav2d — a complete Rust port of dav2d (the production AV2 decoder).
All C decoder logic (47K+ lines) has been rewritten in safe Rust. Assembly DSP kernels remain via FFI for performance. 786 tests passing.
The motivation is memory safety — video decoders parse untrusted bitstreams and are historically prone to buffer overflows and use-after-free. rav2d eliminates these bug classes at compile time.
Follows the same approach as rav1d (Rust port of dav1d for AV1, funded by Prossimo/ISRG).
Full pipeline ported: OBU parsing, MSAC entropy decoding, block decode (intra/inter/compound), deblock, CDEF, loop restoration (NS/PC Wiener, GDF), film grain, motion compensation, inverse transforms, threading.
BSD 2-Clause license (same as dav2d).
Sharing a project relevant to the AV2 ecosystem: rav2d — a complete Rust port of dav2d (the production AV2 decoder).
All C decoder logic (47K+ lines) has been rewritten in safe Rust. Assembly DSP kernels remain via FFI for performance. 786 tests passing.
The motivation is memory safety — video decoders parse untrusted bitstreams and are historically prone to buffer overflows and use-after-free. rav2d eliminates these bug classes at compile time.
Follows the same approach as rav1d (Rust port of dav1d for AV1, funded by Prossimo/ISRG).
Full pipeline ported: OBU parsing, MSAC entropy decoding, block decode (intra/inter/compound), deblock, CDEF, loop restoration (NS/PC Wiener, GDF), film grain, motion compensation, inverse transforms, threading.
BSD 2-Clause license (same as dav2d).