On Thu, Dec 09, 2021 at 02:55:53PM +0000, Peter Griffin wrote:
> This series adds support for virtio-video decoder devices in Qemu
> and also provides a vhost-user-video vmm implementation.
> 
> The vhost-user-video vmm currently parses virtio-vido v3 protocol
> (as that is what the Linux frontend driver implements).
> It then converts that to a v4l2 mem2mem stateful decoder device.
> Currently this has been tested using v4l2 vicodec test driver in Linux
> [1] but it is intended to be used with Arm SoCs which often implement
> v4l2 stateful decoders/encoders drivers for their video accelerators.
> 
> The primary goal so far has been to allow continuing development
> of virtio-video Linux frontend driver and testing with Qemu. Using
> vicodec on the host allows a purely virtual dev env, and allows for
> ci integration in the future by kernelci etc.
> 
> This series also adds the virtio_video.h header and adds the
> FWHT format which is used by vicodec driver.
> 
> I have tested this VMM using v4l2-ctl from v4l2 utils in the guest
> to do a video decode to a file. This can then be validated using ffplay
> v4l2-compliance tool in the guest has also been run which stresses the
> interface and issues lots of syscall level tests
> 
> See the README.md for example commands on how to configure guest kernel
> and do a video decode using Qemu, vicodec using this VMM.
> 
> Linux virtio-video frontend driver code:
> https://github.com/petegriffin/linux/commits/v5.10-virtio-video-latest

Are you going to post this btw?


> Qemu vmm code:
> https://github.com/petegriffin/qemu/tree/vhost-virtio-video-master-v1
> 
> This is part of a wider initiative by Linaro called
> "project Stratos" for which you can find information here:
> 
>   https://collaborate.linaro.org/display/STR/Stratos+Home
> 
> Applies cleanly to git://git.qemu.org/qemu.git master(a3607def89).
> 
> Thanks,
> 
> Peter.
> 
> [1] https://lwn.net/Articles/760650/

And the spec status?
Does this match this spec:
https://lore.kernel.org/linux-media/capbb6mud_oyeut8_bgrwapcpam40jtktz2f7+a3so5pfrdu...@mail.gmail.com/T/
?
A year ago a new revision was coming RSN ...


> Peter Griffin (8):
>   vhost-user-video: Add a README.md with cheat sheet of commands
>   MAINTAINERS: Add virtio-video section
>   vhost-user-video: boiler plate code for vhost-user-video device
>   vhost-user-video: add meson subdir build logic
>   standard-headers: Add virtio_video.h
>   virtio_video: Add Fast Walsh-Hadamard Transform format
>   hw/display: add vhost-user-video-pci
>   tools/vhost-user-video: Add initial vhost-user-video vmm
> 
>  MAINTAINERS                                   |    8 +
>  hw/display/Kconfig                            |    5 +
>  hw/display/meson.build                        |    3 +
>  hw/display/vhost-user-video-pci.c             |   82 +
>  hw/display/vhost-user-video.c                 |  386 ++++
>  include/hw/virtio/vhost-user-video.h          |   41 +
>  include/standard-headers/linux/virtio_video.h |  484 +++++
>  tools/meson.build                             |    9 +
>  tools/vhost-user-video/50-qemu-rpmb.json.in   |    5 +
>  tools/vhost-user-video/README.md              |   98 +
>  tools/vhost-user-video/main.c                 | 1680 ++++++++++++++++
>  tools/vhost-user-video/meson.build            |   10 +
>  tools/vhost-user-video/v4l2_backend.c         | 1777 +++++++++++++++++
>  tools/vhost-user-video/v4l2_backend.h         |   99 +
>  tools/vhost-user-video/virtio_video_helpers.c |  462 +++++
>  tools/vhost-user-video/virtio_video_helpers.h |  166 ++
>  tools/vhost-user-video/vuvideo.h              |   43 +
>  17 files changed, 5358 insertions(+)
>  create mode 100644 hw/display/vhost-user-video-pci.c
>  create mode 100644 hw/display/vhost-user-video.c
>  create mode 100644 include/hw/virtio/vhost-user-video.h
>  create mode 100644 include/standard-headers/linux/virtio_video.h
>  create mode 100644 tools/vhost-user-video/50-qemu-rpmb.json.in
>  create mode 100644 tools/vhost-user-video/README.md
>  create mode 100644 tools/vhost-user-video/main.c
>  create mode 100644 tools/vhost-user-video/meson.build
>  create mode 100644 tools/vhost-user-video/v4l2_backend.c
>  create mode 100644 tools/vhost-user-video/v4l2_backend.h
>  create mode 100644 tools/vhost-user-video/virtio_video_helpers.c
>  create mode 100644 tools/vhost-user-video/virtio_video_helpers.h
>  create mode 100644 tools/vhost-user-video/vuvideo.h
> 
> -- 
> 2.25.1


Reply via email to