• Stars
    star
    248
  • Rank 163,560 (Top 4 %)
  • Language
    Assembly
  • License
    BSD 2-Clause "Sim...
  • Created almost 2 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An AV1 decoder in Rust.

rav1d

rav1d is an AV1 cross-platform decoder, open-source, and focused on speed and correctness. It is a Rust port of dav1d.

rav1d is currently experimental. Core functionality has been transpiled using c2rust, but not everything has been ported yet and the transpiled code needs to be cleaned up from unsafe transpiled Rust to safe, idiomatic Rust.

Running Tests

Currently we use the original Meson test suite for testing the Rust port. To setup and run these tests, do the following:

First, build the Rust project using Cargo. You'll need to do this step manually before running any tests because it is not built automatically when tests are run. Note that you need to build with the --release flag, as tests are run against the release binary.

cargo build --release

Then create the build dir and run meson setup in it:

mkdir build
cd build
meson setup ..

Then you can run meson test to run the tests. Currently only the testdata-* suites are setup to test against the Rust executable:

meson test \
  --suite testdata-8 \
  --suite testdata-10 \
  --suite testdata-12 \
  --suite testdata-multi