All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Sepp <dmitry.sepp@opensynergy.com>
To: Keiichi Watanabe <keiichiw@chromium.org>
Cc: "Alexandre Courbot" <acourbot@chromium.org>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	virtio-dev@lists.oasis-open.org,
	"Linux Media Mailing List" <linux-media@vger.kernel.org>,
	"Alex Lau" <alexlau@chromium.org>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Dylan Reid" <dgreid@chromium.org>,
	"David Staessens" <dstaessens@chromium.org>,
	"Enrico Granata" <egranata@google.com>,
	"Frediano Ziglio" <fziglio@redhat.com>,
	"Hans Verkuil" <hverkuil@xs4all.nl>,
	"Stéphane Marchesin" <marcheu@chromium.org>,
	"Pawel Osciak" <posciak@chromium.org>,
	spice-devel@lists.freedesktop.org,
	"David Stevens" <stevensd@chromium.org>,
	"Tomasz Figa" <tfiga@chromium.org>,
	uril@redhat.com,
	"Samiullah Khawaja" <samiullah.khawaja@opensynergy.com>,
	"Kiran Pawar" <kiran.pawar@opensynergy.com>
Subject: [virtio-dev] Re: [PATCH v3 1/2] virtio-video: Add virtio video device specification
Date: Mon, 27 Apr 2020 16:28:28 +0200	[thread overview]
Message-ID: <36408073.J2Yia2DhmK@os-lin-dmo> (raw)
In-Reply-To: <CAD90VcZpXevAF9=d1FvdHyGkU3ShKWga+_AhPWN4BBFTTRY1aQ@mail.gmail.com>

Hi Keiichi,

Thanks for the update.

> > Thanks for providing this detailed overview. But again, we have already
> > discussed this in a similar way and it does not answer the questions. Ok,
> > suppose we set bitrate to 0xffffffff as I assumed above. Then the decoder
> > code should ideally wait until metadata has been parsed, then query
> > parameters and get min buffers (using get_params). Encoder does not have
> > such logic. What values should we set for encoder to make sure that the
> > pipelines does not stall? Probably people from the Chromium team has
> > better knowledge, if they can provide some sane value it'd be just great.
> 
> Sorry that my explanation was unclear to you.  Let me try to explain
> my idea in another way.
> 
> The design I'm proposing can be seen as a kind of "Copy-on-Write"
> strategy. The resource creation can be deferred to the first write.
> In other words, the call of STREAM_CREATE can be delayed to the first
> place where a user makes a change to the stream, instead of open().
> The code snippet I wrote above explains a general way of achieving
> CoW. In this design, ctx2stream() will be called when modifying a
> stream.
> 
> In the V4L2 stateful encoder API, the first place in which a user
> writes values is the first call of VIDIOC_S_FMT().
> So, we can have a virtio_video_cmd_stream_cmd() call in the callback
> for VIDIOC_S_FMT. I guess it's even better than my previous proposal
> of ctx2stream, as the driver can raise an error when a user calls
> ioctls in a wrong order.
> (I think I said that the place would be REQBUFS callback in a previous
> review comment to your patch. It was my misunderstanding. My
> apologies.)
> 
> Does it make sense? I hope this answers your question.

I had understood the idea behind the proposal. But I didn't see a correct way 
to implement that. But now it looks different of course. The decoder should 
also be fine if we create a stream on S_FMT.

Best regards,
Dmitry.

> 
> Best regards,
> Keiichi
> 



---------------------------------------------------------------------
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: Keiichi Watanabe <keiichiw@chromium.org>
Cc: "Alexandre Courbot" <acourbot@chromium.org>,
	"Gerd Hoffmann" <kraxel@redhat.com>,
	virtio-dev@lists.oasis-open.org,
	"Linux Media Mailing List" <linux-media@vger.kernel.org>,
	"Alex Lau" <alexlau@chromium.org>,
	"Daniel Vetter" <daniel@ffwll.ch>,
	"Dylan Reid" <dgreid@chromium.org>,
	"David Staessens" <dstaessens@chromium.org>,
	"Enrico Granata" <egranata@google.com>,
	"Frediano Ziglio" <fziglio@redhat.com>,
	"Hans Verkuil" <hverkuil@xs4all.nl>,
	"Stéphane Marchesin" <marcheu@chromium.org>,
	"Pawel Osciak" <posciak@chromium.org>,
	spice-devel@lists.freedesktop.org,
	"David Stevens" <stevensd@chromium.org>,
	"Tomasz Figa" <tfiga@chromium.org>,
	uril@redhat.com,
	"Samiullah Khawaja" <samiullah.khawaja@opensynergy.com>,
	"Kiran Pawar" <kiran.pawar@opensynergy.com>
Subject: Re: [PATCH v3 1/2] virtio-video: Add virtio video device specification
Date: Mon, 27 Apr 2020 16:28:28 +0200	[thread overview]
Message-ID: <36408073.J2Yia2DhmK@os-lin-dmo> (raw)
In-Reply-To: <CAD90VcZpXevAF9=d1FvdHyGkU3ShKWga+_AhPWN4BBFTTRY1aQ@mail.gmail.com>

Hi Keiichi,

Thanks for the update.

> > Thanks for providing this detailed overview. But again, we have already
> > discussed this in a similar way and it does not answer the questions. Ok,
> > suppose we set bitrate to 0xffffffff as I assumed above. Then the decoder
> > code should ideally wait until metadata has been parsed, then query
> > parameters and get min buffers (using get_params). Encoder does not have
> > such logic. What values should we set for encoder to make sure that the
> > pipelines does not stall? Probably people from the Chromium team has
> > better knowledge, if they can provide some sane value it'd be just great.
> 
> Sorry that my explanation was unclear to you.  Let me try to explain
> my idea in another way.
> 
> The design I'm proposing can be seen as a kind of "Copy-on-Write"
> strategy. The resource creation can be deferred to the first write.
> In other words, the call of STREAM_CREATE can be delayed to the first
> place where a user makes a change to the stream, instead of open().
> The code snippet I wrote above explains a general way of achieving
> CoW. In this design, ctx2stream() will be called when modifying a
> stream.
> 
> In the V4L2 stateful encoder API, the first place in which a user
> writes values is the first call of VIDIOC_S_FMT().
> So, we can have a virtio_video_cmd_stream_cmd() call in the callback
> for VIDIOC_S_FMT. I guess it's even better than my previous proposal
> of ctx2stream, as the driver can raise an error when a user calls
> ioctls in a wrong order.
> (I think I said that the place would be REQBUFS callback in a previous
> review comment to your patch. It was my misunderstanding. My
> apologies.)
> 
> Does it make sense? I hope this answers your question.

I had understood the idea behind the proposal. But I didn't see a correct way 
to implement that. But now it looks different of course. The decoder should 
also be fine if we create a stream on S_FMT.

Best regards,
Dmitry.

> 
> Best regards,
> Keiichi
> 



  reply	other threads:[~2020-04-27 14:29 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-06 10:20 [virtio-dev] [PATCH v3 0/2] Virtio video device specification Keiichi Watanabe
2020-02-06 10:20 ` Keiichi Watanabe
2020-02-06 10:20 ` [virtio-dev] [PATCH v3 1/2] virtio-video: Add virtio " Keiichi Watanabe
2020-02-06 10:20   ` Keiichi Watanabe
2020-02-25  9:59   ` [virtio-dev] " Gerd Hoffmann
2020-02-25  9:59     ` Gerd Hoffmann
2020-02-27  7:24     ` [virtio-dev] " Keiichi Watanabe
2020-02-27  7:24       ` Keiichi Watanabe
2020-02-27  9:28       ` [virtio-dev] " Gerd Hoffmann
2020-02-27  9:28         ` Gerd Hoffmann
2020-03-04  4:31         ` [virtio-dev] " Alexandre Courbot
2020-03-04  4:31           ` Alexandre Courbot
2020-03-04  6:42           ` [virtio-dev] " Gerd Hoffmann
2020-03-04  6:42             ` Gerd Hoffmann
2020-03-04 10:07             ` [virtio-dev] " Alexandre Courbot
2020-03-04 10:07               ` Alexandre Courbot
2020-03-23 12:07               ` [virtio-dev] " Keiichi Watanabe
2020-03-23 12:07                 ` Keiichi Watanabe
2020-03-23 13:28                 ` [virtio-dev] " Dmitry Sepp
2020-03-23 13:28                   ` Dmitry Sepp
2020-03-23 15:48                   ` [virtio-dev] " Keiichi Watanabe
2020-03-23 15:48                     ` Keiichi Watanabe
2020-03-25  9:47                     ` [virtio-dev] " Dmitry Sepp
2020-03-25  9:47                       ` Dmitry Sepp
2020-03-27  3:35                       ` [virtio-dev] " Keiichi Watanabe
2020-03-27  3:35                         ` Keiichi Watanabe
2020-03-30  9:53                         ` [virtio-dev] " Dmitry Sepp
2020-03-30  9:53                           ` Dmitry Sepp
2020-04-06  9:32                           ` [virtio-dev] " Alexandre Courbot
2020-04-06  9:32                             ` Alexandre Courbot
2020-04-06 11:46                             ` [virtio-dev] " Keiichi Watanabe
2020-04-06 11:46                               ` Keiichi Watanabe
2020-04-07  9:21                               ` [virtio-dev] " Dmitry Sepp
2020-04-07  9:21                                 ` Dmitry Sepp
2020-04-09 10:46                                 ` [virtio-dev] " Keiichi Watanabe
2020-04-09 10:46                                   ` Keiichi Watanabe
2020-04-17  8:08                                   ` [virtio-dev] " Dmitry Sepp
2020-04-17  8:08                                     ` Dmitry Sepp
2020-04-20  9:57                                     ` [virtio-dev] " Keiichi Watanabe
2020-04-20  9:57                                       ` Keiichi Watanabe
2020-04-21  8:38                                       ` [virtio-dev] " Dmitry Sepp
2020-04-21  8:38                                         ` Dmitry Sepp
2020-04-24 11:42                                         ` [virtio-dev] " Keiichi Watanabe
2020-04-24 11:42                                           ` Keiichi Watanabe
2020-04-27 14:28                                           ` Dmitry Sepp [this message]
2020-04-27 14:28                                             ` Dmitry Sepp
2020-04-07 14:49   ` [virtio-dev] " Dmitry Sepp
2020-04-07 14:49     ` Dmitry Sepp
2020-04-09 10:46     ` [virtio-dev] " Keiichi Watanabe
2020-04-09 10:46       ` Keiichi Watanabe
2020-04-09 13:13       ` [virtio-dev] " Dmitry Sepp
2020-04-09 13:13         ` Dmitry Sepp
2020-04-24 11:45         ` [virtio-dev] " Keiichi Watanabe
2020-04-24 11:45           ` Keiichi Watanabe
2020-04-27  9:33           ` [virtio-dev] " Dmitry Sepp
2020-04-27  9:33             ` Dmitry Sepp
2020-05-18  5:17   ` [virtio-dev] " Keiichi Watanabe
2020-05-18  5:17     ` Keiichi Watanabe
2020-05-27 12:12     ` [virtio-dev] " Dmitry Sepp
2020-05-27 12:12       ` Dmitry Sepp
2020-05-29 14:21       ` [virtio-dev] " Keiichi Watanabe
2020-05-29 14:21         ` Keiichi Watanabe
2020-06-01  7:19         ` [virtio-dev] " Alexandre Courbot
2020-06-01  7:19           ` Alexandre Courbot
2020-02-06 10:20 ` [virtio-dev] [PATCH v3 2/2] virtio-video: Define a feature for exported objects from different virtio devices Keiichi Watanabe
2020-02-06 10:20   ` Keiichi Watanabe
2020-02-25 10:01   ` [virtio-dev] " Gerd Hoffmann
2020-02-25 10:01     ` Gerd Hoffmann
2020-02-27  7:24     ` [virtio-dev] " Keiichi Watanabe
2020-02-27  7:24       ` Keiichi Watanabe

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=36408073.J2Yia2DhmK@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=linux-media@vger.kernel.org \
    --cc=marcheu@chromium.org \
    --cc=posciak@chromium.org \
    --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.