#bindings #vvc #vvdec #v-vde-c

sys vvdec-sys

Rust unsafe bindings for VVdeC

15 releases (4 breaking)

0.4.1 Nov 9, 2023
0.4.0 Nov 6, 2023
0.3.4 Oct 31, 2023
0.2.0 Oct 5, 2023
0.0.6 Jun 23, 2023

#1653 in #bindings

Download history 10/week @ 2024-02-25 3/week @ 2024-03-03 4/week @ 2024-03-10 4/week @ 2024-03-17 215/week @ 2024-03-31

224 downloads per month
Used in 2 crates (via vvdec)

BSD-3-Clause-Clear

2MB
38K SLoC

C++ 37K SLoC // 0.1% comments JavaScript 245 SLoC // 0.0% comments Python 58 SLoC // 0.1% comments Rust 47 SLoC

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.

Dependencies