public inbox for virtio-comment@lists.linux.dev
 help / color / mirror / Atom feed
From: Albert Esteve <aesteve@redhat.com>
To: virtio-comment@lists.linux.dev
Cc: eballetb@redhat.com, adelva@google.com, gnurou@gmail.com,
	cohuck@redhat.com, daniel.almeida@collabora.com,
	ribalda@google.com, dverkamp@chromium.org,
	agordeev@qti.qualcomm.com, alex.bennee@linaro.org,
	nicolas.dufresne@collabora.com, gurchetansingh@google.com,
	mvaralar@redhat.com, changyeon@google.com, hverkuil@xs4all.nl,
	mst@redhat.com, Albert Esteve <aesteve@redhat.com>
Subject: [PATCH v6 0/1] virtio-media: Add device specification
Date: Wed,  5 Feb 2025 16:33:00 +0100	[thread overview]
Message-ID: <20250205153301.133040-1-aesteve@redhat.com> (raw)

New attempt of including virtio-media
device specification.

v5->v6:
- A couple minor typos.
- Change driver-writable for
  device-readable to avoid
  confusion.

v4->v5:
- Rewritten/clarified some parts
  according to the reviews received.
- Added missing links to V4L2
  structures. Structs should
  have a link on their first
  appreance in the document.
- Clarified memory type
  semantic V4L2 equivalent.

v3->v4:
- Updated device ID to 48
  (moved to the first free id)
- Specified endianess on all
  structures defined through
  the spec (leXX)
- Slightly improved the explanation
  of the size (and endianess)
  of the exchanged v4l2 structs
  as part of the ioctl command
  payload
- Changed cmd_mmap offset size to
  match the V4L2_QUERYBUF offset field
- Fixed most comments on previous
  version for small typos/rewrites.

Virtio-media came from a discussion on virtio-dev
mailing list, which lead to presenting virtio-v4l2[1]
specification as an alternative to virtio-video.

Later, virtio-v4l2 was renamed to virtio-media[2]
and published at:

https://github.com/chromeos/virtio-media

The repository above includes a virtio-media driver able
to pass v4l2-compliance when proxying the vivid/vicodec
virtual devices or an actual UVC camera using the
V4L2 vhost device (available in the repository).
It also includes a FFmpeg-based video encoder
device. Steps to reproduce are also detailed[3].

Recently, virtio-media has landed in AOSP[4].
Also the driver patch has been sent to the
kernel, currently in its v2 [5].

Furthermore, virtio-media got a proposal to reserve
device ID 48, which was finally approved for
inclusion in v1.4.

There is some overlap with virtio-video in regards
to which devices it can handle. However,
they take different approaches, making them
the preferable choice for different scenarios.
Moreover, given that virtio-media will be the virtualization
solution for media devices for ChromeOS, Android, and
possibly others, this gives a justification for the desire
to include the specification in the next release despite
the aforementioned overlap.

Full PDF: https://drive.google.com/file/d/1baz3NZFPVEJlyprErUqevs38oPbjp1z2/view?usp=sharing
PDF with the media section only: https://drive.google.com/file/d/1AfYPnjHhh9rsfwQK0PKKbkM6sNlLV0UI/view?usp=sharing

[1] https://mail.google.com/mail/u/0?ui=2&ik=73ebd65ebd&attid=0.1&permmsgid=msg-f:1767388565327924962&th=1887068940754ee2&view=att&disp=inline&realattid=f_libalimc0
[2] https://www.mail-archive.com/virtio-dev@lists.oasis-open.org/msg12665.html
[3] https://github.com/chromeos/virtio-media/blob/main/TRY_IT_OUT.md
[4] https://cs.android.com/android/platform/superproject/main/+/main:external/virtio-media/
[5] https://lore.kernel.org/lkml/20250201-virtio-media-v2-1-ac840681452d@gmail.com/T/

Albert Esteve (1):
  virtio-media: Add virtio media device specification

 conformance.tex                           |  13 +-
 content.tex                               |   1 +
 device-types/media/description.tex        | 617 ++++++++++++++++++++++
 device-types/media/device-conformance.tex |  12 +
 device-types/media/driver-conformance.tex |  10 +
 5 files changed, 649 insertions(+), 4 deletions(-)
 create mode 100644 device-types/media/description.tex
 create mode 100644 device-types/media/device-conformance.tex
 create mode 100644 device-types/media/driver-conformance.tex

-- 
2.48.1


             reply	other threads:[~2025-02-05 15:35 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-05 15:33 Albert Esteve [this message]
2025-02-05 15:33 ` [PATCH v6 1/1] virtio-media: Add virtio media device specification Albert Esteve
2025-02-10 12:24   ` Matias Ezequiel Vara Larsen
2025-02-11  9:15     ` Albert Esteve
2025-02-11 11:53       ` Matias Ezequiel Vara Larsen
2025-02-12 14:39       ` Michael S. Tsirkin
2025-02-14 16:19   ` Alexander Gordeev
2025-02-18  9:49     ` Albert Esteve
2025-02-18 12:31   ` Alexandre Courbot
2025-02-20  9:20     ` Albert Esteve

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250205153301.133040-1-aesteve@redhat.com \
    --to=aesteve@redhat.com \
    --cc=adelva@google.com \
    --cc=agordeev@qti.qualcomm.com \
    --cc=alex.bennee@linaro.org \
    --cc=changyeon@google.com \
    --cc=cohuck@redhat.com \
    --cc=daniel.almeida@collabora.com \
    --cc=dverkamp@chromium.org \
    --cc=eballetb@redhat.com \
    --cc=gnurou@gmail.com \
    --cc=gurchetansingh@google.com \
    --cc=hverkuil@xs4all.nl \
    --cc=mst@redhat.com \
    --cc=mvaralar@redhat.com \
    --cc=nicolas.dufresne@collabora.com \
    --cc=ribalda@google.com \
    --cc=virtio-comment@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox