From: Cornelia Huck <cohuck@redhat.com>
To: "Alexander Gordeev" <alexander.gordeev@opensynergy.com>,
"Alexandre Courbot" <acourbot@chromium.org>,
virtio-dev@lists.oasis-open.org,
"Keiichi Watanabe" <keiichiw@chromium.org>,
"Alex Bennée" <alex.bennee@linaro.org>
Cc: "Marcin Wojtas" <mwojtas@google.com>,
"Matti Möll" <Matti.Moell@opensynergy.com>,
"Andrew Gazizov" <andrew.gazizov@opensynergy.com>,
"Enrico Granata" <egranata@google.com>,
"Gustavo Padovan" <gustavo.padovan@collabora.com>,
"Peter Griffin" <peter.griffin@linaro.org>,
"Bartłomiej Grzesik" <bag@semihalf.com>,
"Tomasz Figa" <tfiga@chromium.org>
Subject: Re: [virtio-dev] Re: [RFC PATCH v6] virtio-video: Add virtio video device specification
Date: Tue, 20 Dec 2022 18:39:13 +0100 [thread overview]
Message-ID: <87bknyyny6.fsf@redhat.com> (raw)
In-Reply-To: <de2f7a27-9f2a-0e36-d57c-3ddaa86b0a26@opensynergy.com>
On Tue, Dec 20 2022, Alexander Gordeev <alexander.gordeev@opensynergy.com> wrote:
> Hello Cornelia,
>
> On 20.12.22 10:51, Cornelia Huck wrote:
>> On Mon, Dec 19 2022, Alexander Gordeev <alexander.gordeev@opensynergy.com> wrote:
>>
>>> Hello Alexandre,
>>>
>>> Thanks for the update. Please check my comments below.
>>> I'm new to the virtio video spec development, so I may lack some
>>> historic perspective. I would gladly appreciate pointing me to some
>>> older emails explaining decisions, that I might not understand. I hope
>>> to read through all of them later. Overall I have a lot of experience in
>>> the video domain and in virtio video device development in Opsy, so I
>>> hope, that my comments are relevant and useful.
>> Thank you for commenting! I know the virtio spec, but I'm not familiar
>> with the video part, so your feedback is highly appreciated :)
>>
>> Prior discussions should be in the virtio-dev archives; at least v3
>> (https://ddec1-0-en-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2flists.oasis%2dopen.org%2farchives%2fvirtio%2ddev%2f202002%2fmsg00002.html&umid=ce4587fa-5f66-4a08-be71-c7fad0355b4c&auth=53c7c7de28b92dfd96e93d9dd61a23e634d2fbec-8ac7749933f48b779f5d37c4630ba2d37c15b0eb)
>> and v4
>> (https://ddec1-0-en-ctp.trendmicro.com:443/wis/clicktime/v1/query?url=https%3a%2f%2flists.oasis%2dopen.org%2farchives%2fvirtio%2ddev%2f202006%2fmsg00072.html&umid=ce4587fa-5f66-4a08-be71-c7fad0355b4c&auth=53c7c7de28b92dfd96e93d9dd61a23e634d2fbec-f5d8196d57b85625d3a8262d32ad87a88d5d6bee)
>> seem to have gotten some feedback.
>>
>> [A note to Alexandre: You'll want to send your patches to virtio-comment
>> as well as virtio-dev; virtio-comment is for commenting on the spec
>> including proposing updates, while virtio-dev is for discussing virtio
>> development. Yes, I know that we haven't always been strict about that
>> in the past.]
>
> Thank you for the references! I'll take some time to read these
> discussions through.
You're welcome; I'm not sure how much of this is still relevant.
>
>
>>> On 08.12.22 08:23, Alexandre Courbot wrote:
>> (...)
>>
>>>> +\subsubsection{Image formats}\label{sec:Device Types / Video Device / Supported formats / Image formats}
>>>> +
>>>> +The fourcc code of each supported image format is given, as well as its
>>>> +number of planes, physical buffers, and eventual subsampling.
>>>> +
>>>> +\begin{description}
>>>> +\item[\field{RGB3}]
>>>> +one RGB plane where each component takes one byte, i.e.~3 bytes per
>>>> +pixel.
>>>> +\item[\field{NV12}]
>>>> +one Y plane followed by interleaved U and V data, in a single buffer.
>>>> +4:2:0 subsampling.
>>>> +\item[\field{NV12}]
>>>> +same as \field{NV12} but using two separate buffers for the Y and UV
>>>> +planes.
>>> s/NV12/NM12/ ?
>>>
>>>
>>>> +\item[\field{YU12}]
>>>> +one Y plane followed by one Cb plane, followed by one Cr plane, in a
>>>> +single buffer. 4:2:0 subsampling.
>>>> +\item[\field{YM12}]
>>>> +same as \field{YU12} but using three separate buffers for the Y, U and V
>>>> +planes.
>>>> +\end{description}
>>> This looks like V4L2 formats. Maybe add a V4L2 reference? At least the
>>> V4L2 documentation has a nice description of exact plane layouts.
>>> Otherwise it would be nice to have these layouts in the spec IMO.
>> Ah, so this is all V4L2? It looks like we really want to refer to the
>> existing V4L2 headers (like we already do for FUSE in the virtiofs
>> case). Are those headers sufficient to specify the formats, or do we
>> need anything else?
> Yes, these fourcc code seem to come from V4L2:
> https://docs.kernel.org/userspace-api/media/v4l/pixfmt-yuv-planar.html
> I also think we want to have a reference to V4L2 in the spec here, because:
> 1. V4L2 docs have the nice component/plane layouts that help convert or
> match these format definitions with other APIs.
> 2. These fourcc codes are not used anywhere else except in V4L2. I think
> this is the only place, that distinguishes coontiguous and non
> contiguous buffers with a fourcc code. So without a reference this may
> look quite weird. With a reference this looks logical, because I guess
> any virtio video driver for a Linux guest would naturally implement V4L2.
Maybe the best way to handle this would be to link to both the UAPI
header file (via Linus' tree on kernel.org, as we do for FUSE), and to
the .rst file(s) that describe what this all means (probably also via
kernel.org). The header file would definitely be a normative reference;
not sure whether the .rst files would be normative or non-normative, but
we can figure that out later. That's certainly better than trying to
replicate existing definitions and explanations.
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
next prev parent reply other threads:[~2022-12-20 17:39 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-08 7:23 [virtio-dev] [RFC PATCH v6] virtio-video: Add virtio video device specification Alexandre Courbot
2022-12-08 15:00 ` Cornelia Huck
2022-12-27 5:38 ` Alexandre Courbot
2023-01-11 8:45 ` Cornelia Huck
2023-01-12 6:32 ` Alexandre Courbot
2023-01-12 15:23 ` Cornelia Huck
2022-12-19 16:59 ` [virtio-dev] " Alexander Gordeev
2022-12-20 9:51 ` Cornelia Huck
2022-12-20 10:35 ` Alexander Gordeev
2022-12-20 17:39 ` Cornelia Huck [this message]
2022-12-21 14:56 ` Alexander Gordeev
2022-12-27 7:31 ` Alexandre Courbot
2023-01-11 18:42 ` Alexander Gordeev
2023-01-11 20:13 ` Alex Bennée
2023-01-12 6:40 ` Alexandre Courbot
2023-01-12 6:39 ` Alexandre Courbot
2023-01-18 23:06 ` Alexander Gordeev
2023-02-06 14:12 ` Cornelia Huck
2023-02-07 6:16 ` Alexandre Courbot
2023-02-07 13:59 ` Cornelia Huck
2023-03-10 10:50 ` Cornelia Huck
2023-03-10 13:19 ` Alexandre Courbot
2023-03-10 14:20 ` Cornelia Huck
2023-03-14 5:06 ` Alexandre Courbot
2023-03-16 10:12 ` Alexander Gordeev
2023-03-17 7:24 ` Alexandre Courbot
2023-04-17 12:51 ` Alexander Gordeev
2023-04-17 14:43 ` Cornelia Huck
2023-04-19 7:39 ` Alexander Gordeev
2023-04-19 21:34 ` Enrico Granata
2023-04-21 14:48 ` Alexander Gordeev
2023-04-21 4:02 ` Alexandre Courbot
2023-04-21 16:01 ` Alexander Gordeev
2023-04-24 7:52 ` Alexander Gordeev
2023-04-25 16:04 ` Cornelia Huck
2023-04-26 6:29 ` Alexandre Courbot
2023-04-27 14:10 ` Alexander Gordeev
2023-04-28 4:02 ` Alexandre Courbot
2023-04-28 8:54 ` Alexander Gordeev
2023-05-02 1:07 ` Alexandre Courbot
2023-05-02 11:12 ` Alexander Gordeev
2023-04-26 5:52 ` Alexandre Courbot
2023-04-27 14:20 ` Alexander Gordeev
2023-04-28 3:22 ` Alexandre Courbot
2023-04-28 8:22 ` Alexander Gordeev
2023-04-26 15:52 ` Alexander Gordeev
2023-04-27 13:23 ` Alexandre Courbot
2023-04-27 15:12 ` Alexander Gordeev
2023-04-28 3:24 ` Alexandre Courbot
2023-04-28 8:31 ` Alexander Gordeev
[not found] ` <CALgKJBqKWng508cB_F_uD2fy9EAvQ36rYR3fRb57sFd3ihpUFw@mail.gmail.com>
2023-04-26 16:00 ` Alexander Gordeev
2023-04-27 10:13 ` Bartłomiej Grzesik
2023-04-27 14:34 ` Alexander Gordeev
2023-04-28 3:22 ` Alexandre Courbot
2023-04-28 7:57 ` Alexander Gordeev
2023-04-21 4:02 ` Alexandre Courbot
2023-04-26 15:11 ` Alexander Gordeev
2023-04-27 13:16 ` Alexandre Courbot
2023-04-28 7:47 ` Alexander Gordeev
2023-05-03 14:04 ` Cornelia Huck
2023-05-03 15:11 ` Alex Bennée
2023-05-03 15:53 ` Cornelia Huck
2023-05-05 9:57 ` Alexander Gordeev
[not found] ` <168329085253.1880445.14002473591422425775@Monstersaurus>
2023-05-05 15:55 ` Alex Bennée
2023-05-16 12:57 ` Alexander Gordeev
[not found] ` <20230506081229.GA8114@pendragon.ideasonboard.com>
[not found] ` <20230506081633.GB8114@pendragon.ideasonboard.com>
2023-05-08 8:00 ` [virtio-dev] Re: [libcamera-devel] " Alexandre Courbot
2023-05-16 13:50 ` Alexander Gordeev
2023-05-17 3:58 ` Tomasz Figa
2023-05-05 12:28 ` Alexander Gordeev
2023-05-05 11:54 ` Alexander Gordeev
2023-05-08 4:55 ` Alexandre Courbot
2023-05-11 8:50 ` Alexander Gordeev
2023-05-11 9:00 ` Alexander Gordeev
2023-05-12 4:15 ` Alexandre Courbot
2023-05-17 7:35 ` Alexander Gordeev
2023-05-12 4:09 ` Alexandre Courbot
2023-05-16 14:53 ` Alexander Gordeev
2023-05-17 16:28 ` Cornelia Huck
2023-05-18 6:29 ` Alexander Gordeev
2023-05-18 19:35 ` Michael S. Tsirkin
2023-05-17 11:04 ` Alexander Gordeev
2023-03-27 13:00 ` Albert Esteve
2023-04-15 5:58 ` Alexandre Courbot
2023-04-17 12:56 ` Cornelia Huck
2023-04-17 13:13 ` Alexander Gordeev
2023-04-17 13:22 ` Cornelia Huck
2023-02-07 11:11 ` Alexander Gordeev
2023-02-07 6:51 ` Alexandre Courbot
2023-02-07 10:57 ` Alexander Gordeev
2023-01-11 17:04 ` Alexander Gordeev
2023-01-12 6:32 ` Alexandre Courbot
2023-01-12 22:24 ` Alexander Gordeev
2023-01-11 18:45 ` Alexander Gordeev
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=87bknyyny6.fsf@redhat.com \
--to=cohuck@redhat.com \
--cc=Matti.Moell@opensynergy.com \
--cc=acourbot@chromium.org \
--cc=alex.bennee@linaro.org \
--cc=alexander.gordeev@opensynergy.com \
--cc=andrew.gazizov@opensynergy.com \
--cc=bag@semihalf.com \
--cc=egranata@google.com \
--cc=gustavo.padovan@collabora.com \
--cc=keiichiw@chromium.org \
--cc=mwojtas@google.com \
--cc=peter.griffin@linaro.org \
--cc=tfiga@chromium.org \
--cc=virtio-dev@lists.oasis-open.org \
/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