mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 18:38:01 +00:00
fa32ced1e0
Long-term libvda will be replaced with an implementation that can function outside of ChromeOS. In the meantime thes allows crosvm to be built externally and pass clippy with all features enabled. BUG=b:191507399 TEST=Tests in crosvm and cros_sdk both pass: $ ./test_all $ cros_run_unit_tests --package=crosvm Cq-Depend: chromium:2989315, chromium:2986403 Change-Id: Ic37bda4426d69d16cb4bc0d7ba6f81052f6f2f59 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2983505 Tested-by: Dennis Kempin <denniskempin@google.com> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: Dennis Kempin <denniskempin@google.com> Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# Libvda Rust wrapper
|
|
|
|
Note: This crate is specific to ChromeOS and requires the native
|
|
(libvda)[https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/platform2/arc/vm/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.
|
|
|
|
```shell
|
|
(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.
|