/vvdec-rs

Rust bindings for VVdeC

Primary LanguageRustBSD 3-Clause Clear LicenseBSD-3-Clause-Clear

VVdeC-rs

Rust bindings for VVdeC.

Work in progress: the bindings are not stable yet and may change at any time. Stabilization will begin once integration with some framework is working (e.g. GStreamer).

Sub-projects:

  • vvdec-sys: unsafe bindings generated by bindgen
  • vvdec: the safe bindings on top of vvdec-sys
  • vvdecli: CLI application using the safe bindings to decode VVC Annex-B files into YUV4MPEG (Y4M).

Installing the CLI

In order to build, either VVdeC >= 2.1.2 needs to be installed and be found via pkg-config, or the vendored feature needs to be enabled to build VVdeC from source (which requires CMake). On macOS, VVdeC can be installed with brew install vvdec.

Then, the CLI app can be installed with cargo install vvdecli.

If you have FFmpeg installed, you can then test vvdecli and play VVC with

vvdecli -i ./tests/short.vvc | ffplay -

License

This crate is license under the BSD-3-Clause-Clear license, to maintain compatibility with VVdeC's license.