From: Dmitry Sepp <dmitry.sepp@opensynergy.com>
To: virtio-dev@lists.oasis-open.org,
Keiichi Watanabe <keiichiw@chromium.org>
Cc: linux-media@vger.kernel.org, acourbot@chromium.org,
alexlau@chromium.org, daniel@ffwll.ch, dgreid@chromium.org,
dstaessens@chromium.org, egranata@google.com, fziglio@redhat.com,
hverkuil@xs4all.nl, keiichiw@chromium.org, kraxel@redhat.com,
marcheu@chromium.org, posciak@chromium.org,
spice-devel@lists.freedesktop.org, stevensd@chromium.org,
tfiga@chromium.org, uril@redhat.com,
samiullah.khawaja@opensynergy.com, kiran.pawar@opensynergy.com,
saket.sinha89@gmail.com, laurent.pinchart@ideasonboard.com,
nicolas@ndufresne.ca, mst@redhat.com
Subject: [virtio-dev] Re: [PATCH RFC v4 0/1] Virtio Video Device Specification
Date: Thu, 2 Jul 2020 09:32:05 +0200 [thread overview]
Message-ID: <2850781.lI95146Gml@os-lin-dmo> (raw)
In-Reply-To: <20200623111325.237158-1-keiichiw@chromium.org>
Hi Keiichi,
Thank you very much for the hard work to update the spec and to summarize all
of the recent proposals!
I want to again raise a topic that was discussed earlier and unfortunately the
latest proposal cannot resolve the problem. I hope together with upstream
people we'll be able to find a neat solution.
Please consider the following case:
1. Encoder case
2. User app does reqbufs with DMABUF flag.
3. User app submits frames to encode, each frame has a different fd, might be a
completely new buffer.
4. Driver receives this buffer via queue() and does this check to verify
whether it is a known dmabuf:
https://elixir.bootlin.com/linux/v5.7.6/source/drivers/media/common/videobuf2/
videobuf2-core.c#L1163
5. When the check fails, it does cleanup.
6. BUG: As we got rid of the flexible resource detach/destroy calls, host side
has no way to know the resource has a new memory region. The new sgt is never
propagated to the host.
The mentioned earlier CMD_RESOURE_REASSIGN_ENTRIES/CMD_RESOURE_REASSIGN_OBJECT
are not included in the spec.
Thanks in advance.
Best regards,
Dmitry.
On Dienstag, 23. Juni 2020 13:13:24 CEST Keiichi Watanabe wrote:
>
> This is the v4 RFC of virtio video device specification.
> PDF versions are available at [1, 2].
>
> Note that this patch depends on a recent patchset "Cross-device resource
> sharing" [3].
>
> Here is a list of major changes from v3:
> * Redesingned struct definitions for each command and request based on
> discussions at [4].
> * Renamed commands/structs/enums to more descriptive names.
> * Had different structs and fields for image formats and bitstream formats.
> * Added more detailed specification for supported video codecs.
> * Made stream_id be allocated by the device.
> * Had a single parameter struct per-stream instead of per-queue parameters
> and controls.
> * Allowed the driver to specify the number of buffers to use via
> "cur_{image,bitstream}_buffers".
> * Renamed RESOURCE_CREATE command to RESOURCE_ATTACH command and allow the
> driver to use this command when replacing backing memories as well.
>
> [5] is the diff of the header file from v3. Note that it only contains
> changes in the header. We haven't updated the driver nor device
> implementation to focus on protocol design discussion first.
>
> While it may appear that many parts have been changed since the previous
> revision, these changes are to address the issues raised in previous
> discussions or/and to make the protocol simpler and easier to prevent
> misuse.
> I'd appreciate any types of feedback.
>
> Best regards,
> Keiichi
>
> [1] (full):
> https://drive.google.com/file/d/1DiOJZfUJ5wvFtnNFQicxt0zkp4Ob1o9C/view?usp=
> sharing [2] (only video section):
> https://drive.google.com/file/d/188uAkIWE0BsXETECez98y5fJKw8rslj3/view?usp=
> sharing [3]
> https://lists.oasis-open.org/archives/virtio-comment/202003/msg00035.html
> [4] https://markmail.org/thread/c6h3e3zn647qli3w
> [5]
> https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/
> 2164411
>
> Keiichi Watanabe (1):
> virtio-video: Add virtio video device specification
>
> .gitignore | 1 +
> content.tex | 1 +
> images/video-buffer-lifecycle.dot | 18 +
> make-setup-generated.sh | 8 +
> virtio-video.tex | 1163 +++++++++++++++++++++++++++++
> 5 files changed, 1191 insertions(+)
> create mode 100644 .gitignore
> create mode 100644 images/video-buffer-lifecycle.dot
> create mode 100644 virtio-video.tex
>
> --
> 2.27.0.111.gc72c7da667-goog
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Sepp <dmitry.sepp@opensynergy.com>
To: <virtio-dev@lists.oasis-open.org>,
Keiichi Watanabe <keiichiw@chromium.org>
Cc: <linux-media@vger.kernel.org>, <acourbot@chromium.org>,
<alexlau@chromium.org>, <daniel@ffwll.ch>, <dgreid@chromium.org>,
<dstaessens@chromium.org>, <egranata@google.com>,
<fziglio@redhat.com>, <hverkuil@xs4all.nl>,
<keiichiw@chromium.org>, <kraxel@redhat.com>,
<marcheu@chromium.org>, <posciak@chromium.org>,
<spice-devel@lists.freedesktop.org>, <stevensd@chromium.org>,
<tfiga@chromium.org>, <uril@redhat.com>,
<samiullah.khawaja@opensynergy.com>,
<kiran.pawar@opensynergy.com>, <saket.sinha89@gmail.com>,
<laurent.pinchart@ideasonboard.com>, <nicolas@ndufresne.ca>,
<mst@redhat.com>
Subject: Re: [PATCH RFC v4 0/1] Virtio Video Device Specification
Date: Thu, 2 Jul 2020 09:32:05 +0200 [thread overview]
Message-ID: <2850781.lI95146Gml@os-lin-dmo> (raw)
In-Reply-To: <20200623111325.237158-1-keiichiw@chromium.org>
Hi Keiichi,
Thank you very much for the hard work to update the spec and to summarize all
of the recent proposals!
I want to again raise a topic that was discussed earlier and unfortunately the
latest proposal cannot resolve the problem. I hope together with upstream
people we'll be able to find a neat solution.
Please consider the following case:
1. Encoder case
2. User app does reqbufs with DMABUF flag.
3. User app submits frames to encode, each frame has a different fd, might be a
completely new buffer.
4. Driver receives this buffer via queue() and does this check to verify
whether it is a known dmabuf:
https://elixir.bootlin.com/linux/v5.7.6/source/drivers/media/common/videobuf2/
videobuf2-core.c#L1163
5. When the check fails, it does cleanup.
6. BUG: As we got rid of the flexible resource detach/destroy calls, host side
has no way to know the resource has a new memory region. The new sgt is never
propagated to the host.
The mentioned earlier CMD_RESOURE_REASSIGN_ENTRIES/CMD_RESOURE_REASSIGN_OBJECT
are not included in the spec.
Thanks in advance.
Best regards,
Dmitry.
On Dienstag, 23. Juni 2020 13:13:24 CEST Keiichi Watanabe wrote:
>
> This is the v4 RFC of virtio video device specification.
> PDF versions are available at [1, 2].
>
> Note that this patch depends on a recent patchset "Cross-device resource
> sharing" [3].
>
> Here is a list of major changes from v3:
> * Redesingned struct definitions for each command and request based on
> discussions at [4].
> * Renamed commands/structs/enums to more descriptive names.
> * Had different structs and fields for image formats and bitstream formats.
> * Added more detailed specification for supported video codecs.
> * Made stream_id be allocated by the device.
> * Had a single parameter struct per-stream instead of per-queue parameters
> and controls.
> * Allowed the driver to specify the number of buffers to use via
> "cur_{image,bitstream}_buffers".
> * Renamed RESOURCE_CREATE command to RESOURCE_ATTACH command and allow the
> driver to use this command when replacing backing memories as well.
>
> [5] is the diff of the header file from v3. Note that it only contains
> changes in the header. We haven't updated the driver nor device
> implementation to focus on protocol design discussion first.
>
> While it may appear that many parts have been changed since the previous
> revision, these changes are to address the issues raised in previous
> discussions or/and to make the protocol simpler and easier to prevent
> misuse.
> I'd appreciate any types of feedback.
>
> Best regards,
> Keiichi
>
> [1] (full):
> https://drive.google.com/file/d/1DiOJZfUJ5wvFtnNFQicxt0zkp4Ob1o9C/view?usp=
> sharing [2] (only video section):
> https://drive.google.com/file/d/188uAkIWE0BsXETECez98y5fJKw8rslj3/view?usp=
> sharing [3]
> https://lists.oasis-open.org/archives/virtio-comment/202003/msg00035.html
> [4] https://markmail.org/thread/c6h3e3zn647qli3w
> [5]
> https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/
> 2164411
>
> Keiichi Watanabe (1):
> virtio-video: Add virtio video device specification
>
> .gitignore | 1 +
> content.tex | 1 +
> images/video-buffer-lifecycle.dot | 18 +
> make-setup-generated.sh | 8 +
> virtio-video.tex | 1163 +++++++++++++++++++++++++++++
> 5 files changed, 1191 insertions(+)
> create mode 100644 .gitignore
> create mode 100644 images/video-buffer-lifecycle.dot
> create mode 100644 virtio-video.tex
>
> --
> 2.27.0.111.gc72c7da667-goog
next prev parent reply other threads:[~2020-07-02 7:32 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-23 11:13 [virtio-dev] [PATCH RFC v4 0/1] Virtio Video Device Specification Keiichi Watanabe
2020-06-23 11:13 ` Keiichi Watanabe
2020-06-23 11:13 ` [virtio-dev] [PATCH RFC v4 1/1] virtio-video: Add virtio video device specification Keiichi Watanabe
2020-06-23 11:13 ` Keiichi Watanabe
2020-07-02 7:32 ` Dmitry Sepp [this message]
2020-07-02 7:32 ` [PATCH RFC v4 0/1] Virtio Video Device Specification Dmitry Sepp
2020-07-02 12:50 ` [virtio-dev] " Keiichi Watanabe
2020-07-02 12:50 ` Keiichi Watanabe
2020-07-02 13:47 ` [virtio-dev] " Dmitry Sepp
2020-07-02 13:47 ` Dmitry Sepp
2020-07-03 5:45 ` [virtio-dev] " Alexandre Courbot
2020-07-03 5:45 ` Alexandre Courbot
2020-07-03 9:18 ` [virtio-dev] " Michael S. Tsirkin
2020-07-03 9:18 ` Michael S. Tsirkin
2020-07-03 9:26 ` [virtio-dev] " Alexandre Courbot
2020-07-03 9:26 ` Alexandre Courbot
2020-07-03 9:55 ` [virtio-dev] " Tomasz Figa
2020-07-03 9:55 ` Tomasz Figa
2020-07-06 10:49 ` [virtio-dev] " Dmitry Sepp
2020-07-06 10:49 ` Dmitry Sepp
2020-07-08 4:35 ` [virtio-dev] " Alexandre Courbot
2020-07-08 4:35 ` Alexandre Courbot
2020-07-08 12:55 ` [virtio-dev] " Tomasz Figa
2020-07-08 12:55 ` Tomasz Figa
2021-01-14 17:55 ` [virtio-dev] " Alex Bennée
2021-01-14 17:55 ` Alex Bennée
2021-01-15 14:25 ` Keiichi Watanabe
2021-01-15 16:55 ` Matti Moell
2021-01-15 16:55 ` Matti Moell
2021-01-18 11:15 ` Alexandre Courbot
2021-01-18 11:15 ` Alexandre Courbot
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=2850781.lI95146Gml@os-lin-dmo \
--to=dmitry.sepp@opensynergy.com \
--cc=acourbot@chromium.org \
--cc=alexlau@chromium.org \
--cc=daniel@ffwll.ch \
--cc=dgreid@chromium.org \
--cc=dstaessens@chromium.org \
--cc=egranata@google.com \
--cc=fziglio@redhat.com \
--cc=hverkuil@xs4all.nl \
--cc=keiichiw@chromium.org \
--cc=kiran.pawar@opensynergy.com \
--cc=kraxel@redhat.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=marcheu@chromium.org \
--cc=mst@redhat.com \
--cc=nicolas@ndufresne.ca \
--cc=posciak@chromium.org \
--cc=saket.sinha89@gmail.com \
--cc=samiullah.khawaja@opensynergy.com \
--cc=spice-devel@lists.freedesktop.org \
--cc=stevensd@chromium.org \
--cc=tfiga@chromium.org \
--cc=uril@redhat.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.