public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v10 0/1] Virtio video device specification
@ 2026-02-13  8:53 Alexander Gordeev
  2026-02-13  8:53 ` [PATCH v10 1/1] virtio-video: Add virtio " Alexander Gordeev
  0 siblings, 1 reply; 9+ messages in thread
From: Alexander Gordeev @ 2026-02-13  8:53 UTC (permalink / raw)
  To: virtio-comment
  Cc: Albert Esteve, Alex Bennée, Cornelia Huck, Daniel Almeida,
	Nicolas Dufresne, Enric Balletbo i Serra, Kieran Bingham,
	Laurent Pinchart, Michael S . Tsirkin, Peter Griffin,
	Demi Marie Obenour, Manos Pitsidianakis,
	Matias Ezequiel Vara Larsen, Trilok Soni, Matti Moell,
	linux-media

Hi,

This is the 10th version of virtio-video device specification patch.
There are some major changes based on internal review. I think it is
good enough conceptually, but may need few minor changes, when the
driver gets fully updated. It took a long time. We were very busy
working on the implementation. I hope to release the updated driver
soon. Please review.

Changelog v9 -> v10:
1. Combine both encoder and decoder in a single device.
There is HW out there that can do both encoding and decoding at the
same time (e.g. Qualcomm). Having both functions in a single device
can save resources.

2. New device ID.
Point 1 required the new device ID. I've already sent the patch to
reserve the new ID and asked for a vote. I took the liberty to already
put this new ID here. I'll send a new patch if any change would be
necessary.

3. Reinvented the internal queues, added per stream main queue.
This is based on internal review. Having too many virtqueues may use
more HW resources. Still there is a change in the scheme. Now each
stream has three internal queues: mainqX, inputqX, outputqX.

4. Now all stream commands return the results as async responses over
eventq and nothing is returned on the commandq anymore. This way the
race handling both commandq's and eventq's used queues is completely
avoided. Now the eventq is the single source of truth about the
device's state.

5. SET_PARAMS returns only changed parameters, GET_CONFIG returns
everything.

6. SET_PARAMS/dynamic parameter change now blocks outputqX to allow
driver finish output format negotiation and reallocate buffers if
necessary. This fixes a potential race in the implementation. This
is somewhat similar to what V4L2_DEC_CMD_START is for.

7. Added VIRTIO_VIDEO_F_V4L2_COMPATIBLE_LAST_BUFFER feature flag for
compatibility with V4L2's V4L2_BUF_FLAG_LAST.

8. The spec size went down from 19 to 18 pages.

Alexander Gordeev (1):
  virtio-video: Add virtio video device specification

 conformance.tex                           |   12 +-
 content.tex                               |    1 +
 device-types/video/description.tex        | 1592 +++++++++++++++++++++
 device-types/video/device-conformance.tex |   22 +
 device-types/video/driver-conformance.tex |   20 +
 introduction.tex                          |   21 +
 6 files changed, 1664 insertions(+), 4 deletions(-)
 create mode 100644 device-types/video/description.tex
 create mode 100644 device-types/video/device-conformance.tex
 create mode 100644 device-types/video/driver-conformance.tex

-- 
2.43.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-02-25 14:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-13  8:53 [PATCH v10 0/1] Virtio video device specification Alexander Gordeev
2026-02-13  8:53 ` [PATCH v10 1/1] virtio-video: Add virtio " Alexander Gordeev
2026-02-15 10:49   ` Parav Pandit
2026-02-15 15:11     ` Michael S. Tsirkin
2026-02-25 14:21       ` Alexander Gordeev
2026-02-24 20:02     ` Alexander Gordeev
2026-02-25  4:59       ` Parav Pandit
2026-02-25 14:04         ` Alexander Gordeev
2026-02-25 14:38           ` Parav Pandit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox