mirror of
https://chromium.googlesource.com/crosvm/crosvm
synced 2025-02-06 10:32:10 +00:00
c7cd0e0114
As we are going to introduce more media-related crates, reserve the "media" folder as a placeholder for them, starting with the existing libvda. BUG=b:169295147 BUG=b:214478588 TEST=cargo build --features "video-decoder,video-encoder,libvda" Change-Id: I1b2ec65cbba8b735db3d19845c504546fa1c64ca Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3565623 Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: 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.
|