rusty_vp9
A pure-Rust VP9 video decoder + encoder — no C, no FFI, no build scripts, zero dependencies, Apache-2.0. The decoder is bit-exact against all 315 official libvpx conformance vectors (profiles 0–3, 8/10/12-bit, with AVX2 and NEON fast paths) and is fuzzed to never panic on malformed input. The encoder has RDO partition/mode search, CBR and two-pass rate control, golden/ALT-REF reference groups with temporal filtering, compound prediction, and speed presets — its output is validated pixel-exact against libvpx and ffmpeg. Honest numbers: the encoder is younger than libvpx (roughly +36% bitrate at a matched operating point today, and actively being optimized), and the decoder, while fully conformant, is currently slower than libvpx single-thread.
Decoding
The API mirrors FFmpeg's send/receive convention: push coded packets in, pull
frames out; Error::Again means "feed more input", Error::Eof means the
stream is drained.
use ;
Encoding
8-bit YUV 4:2:0 in, coded VP9 packets out (ready for an IVF/WebM muxer).
use ;
The bitstream toolbox is public too: parse_uncompressed_header /
FrameHeader, consume_compressed_header, and the BitReader /
BoolDecoder primitives.
Part of Remade With Rust
This crate is the standalone VP9 engine of
remade_ffmpeg_rs —
a ground-up, permissively-licensed Rust rebuild of FFmpeg: a drop-in
ffmpeg/ffprobe CLI on top of pure-Rust codecs, with no copyleft anywhere in
the tree. Also check out our sister project
FFAI — media for an AI-first
world — and the org page
github.com/remade-with-rust.
Sibling engines from the same effort:
rusty_h264 (H.264/AVC),
rusty_mp3 (MP3),
rusty_aac (AAC-LC),
rusty-opus (Opus), rusty_vorbis (Vorbis), and the
rusty-av1-toolkit (AV1).
About Mata Network
Mata Network builds sovereign, self-hostable infrastructure. Remade With Rust is our open-source home for the permissively-licensed building blocks that work depends on.
License
Apache-2.0. VP9 itself is an open, royalty-free codec published by Google, so there are no per-unit licensing fees to use it.