virtio: video: Add support for converting AvPixelFormat -> Format.

For simplicity, use the same error type as Format -> AvPixelFormat.

This will be used and tested in the FFmpeg encoder backend.

BUG=b:239897269
TEST=cargo build --features "video-encoder,video-decoder,ffmpeg"

Change-Id: Ie5cf2a29379c0d52c78cee50ed6571f4859eee75
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3924881
Reviewed-by: Alexandre Courbot <acourbot@chromium.org>
Commit-Queue: Alexandre Courbot <acourbot@chromium.org>
1 file changed
tree: 11dc041caee1462b2b689dff2c71d37784e5931a
  1. .cargo/
  2. .devcontainer/
  3. .github/
  4. .vscode/
  5. aarch64/
  6. acpi_tables/
  7. anti_tamper/
  8. arch/
  9. argh_helpers/
  10. base/
  11. bit_field/
  12. broker_ipc/
  13. common/
  14. crash_report/
  15. cros_async/
  16. crosvm-fuzz/
  17. crosvm_control/
  18. crosvm_plugin/
  19. devices/
  20. disk/
  21. docs/
  22. fuse/
  23. gpu_display/
  24. hypervisor/
  25. infra/
  26. integration_tests/
  27. io_uring/
  28. kernel_cmdline/
  29. kernel_loader/
  30. kvm/
  31. kvm_sys/
  32. libcras_stub/
  33. linux_input_sys/
  34. logo/
  35. media/
  36. metrics/
  37. net_sys/
  38. net_util/
  39. power_monitor/
  40. protos/
  41. qcow_utils/
  42. resources/
  43. rutabaga_gfx/
  44. seccomp/
  45. serde_keyvalue/
  46. src/
  47. system_api/
  48. tests/
  49. third_party/
  50. tools/
  51. tpm2/
  52. tpm2-sys/
  53. tracing/
  54. tube_transporter/
  55. usb_sys/
  56. usb_util/
  57. vfio_sys/
  58. vhost/
  59. virtio_sys/
  60. vm_control/
  61. vm_memory/
  62. win_audio/
  63. win_util/
  64. x86_64/
  65. .dockerignore
  66. .gitignore
  67. .gitmodules
  68. .rustfmt.toml
  69. ARCHITECTURE.md
  70. build.rs
  71. Cargo.lock
  72. Cargo.toml
  73. CONTRIBUTING.md
  74. DIR_METADATA
  75. LICENSE
  76. mypy.ini
  77. OWNERS
  78. PRESUBMIT.cfg
  79. pyproject.toml
  80. README.chromeos.md
  81. README.md
  82. rust-toolchain
README.md

crosvm - The Chrome OS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the Chrome OS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.

crosvm is currently used to run Linux/Android guests on Chrome OS devices.

Logo