Skip to content

rav2d: Memory-safe AV2 decoder in Rust (port of dav2d) #5008

@stukenov

Description

@stukenov

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions