crosvm/media/libvda
Daniel Verkamp 5124027e17 bindgen: move platform2 path to libvda
The ChromeOS-specific src/platform2 path is only needed in the libvda
binding generation script; move it out of bindgen-common.sh to make this
clearer.

BUG=b:402466294

Change-Id: If3a8e602b95cf312733db3c8b38c34e8b673a4fd
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/6345300
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Reviewed-by: Frederick Mayle <fmayle@google.com>
2025-03-12 12:28:47 -07:00
..
src Reformat comments 2024-02-15 23:30:13 +00:00
tests Replace #[cfg(unix)] with #[cfg(any(target_os = "android", target_os = "linux"))] 2023-10-11 00:43:29 +00:00
bindgen.sh bindgen: move platform2 path to libvda 2025-03-12 12:28:47 -07:00
build.rs test_runner: Add separate cargo target dir for each platform 2022-10-31 21:33:33 +00:00
Cargo.toml Cargo.toml: avoid "*" versions for external crates 2024-05-22 01:01:42 +00:00
README.md Rebuild testvm and devcontainer 2024-06-11 22:24:48 +00:00

Libvda Rust wrapper

Note: This crate is specific to ChromeOS and requires the native libvda library at link time.

Rust wrapper for libvda. This library is used to enable communication with Chrome's GPU process to perform hardware accelerated decoding and encoding. It is currently in development to be used by crosvm's virtio-video device.

Building for the host environment

You can also execute cargo directly for faster build and tests. This would be useful when you are developing this crate. Since this crate depends on libvda.so, you need to install it to host environment first.

(chroot)$ sudo emerge chromeos-base/libvda        # Install libvda.so to host.
# Build
(chroot)$ cargo build
# Unit tests
(chroot)$ cargo test

Updating generated bindings

src/bindings.rs is automatically generated from libvda_common.h. src/decode/bindings.rs is automatically generated from libvda_decode.h. src/encode/bindings.rs is automatically generated from libvda_encode.h.

See the header of the bindings file for the generation command.