f1dd5afb9a
This CL adds support for the VIRTIO_VIDEO_CONTROL_BITRATE_MODE control to the crosvm encoder. This control allows configuring the bitrate mode used to encode a video. Possible values are: - VIRTIO_VIDEO_BITRATE_MODE_VBR (Variable bitrate) - VIRTIO_VIDEO_BITRATE_MODE_CBR (Constant bitrate) BUG=b:190336806,b:181514834 TEST=tast run DUT arc.VideoEncodeAccel.h264_192p_i420_vm Cq-Depend: chromium:2946469 Change-Id: Ic8461e746884620cd426c1b562724e4120fe2129 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2944317 Tested-by: kokoro <noreply+kokoro@google.com> Commit-Queue: David Staessens <dstaessens@chromium.org> Reviewed-by: Keiichi Watanabe <keiichiw@chromium.org> Reviewed-by: Alexandre Courbot <acourbot@chromium.org> |
||
---|---|---|
.. | ||
src | ||
tests | ||
build.rs | ||
Cargo.toml | ||
README.md |
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.
(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.