All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rémi Denis-Courmont" <remi@remlab.net>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
	Tomasz Stanislawski <t.stanislaws@samsung.com>,
	<linux-media@vger.kernel.org>, <dri-devel@lists.freedesktop.org>,
	<airlied@redhat.com>, <m.szyprowski@samsung.com>,
	<kyungmin.park@samsung.com>, <sumit.semwal@ti.com>,
	<daeinki@gmail.com>, <daniel.vetter@ffwll.ch>,
	<robdclark@gmail.com>, <pawel@osciak.com>,
	<linaro-mm-sig@lists.linaro.org>, <subashrp@gmail.com>,
	<mchehab@redhat.com>, <g.liakhovetski@gmx.de>
Subject: Re: [PATCHv2 3/9] v4l: add buffer exporting via dmabuf
Date: Wed, 01 Aug 2012 10:37:02 +0200	[thread overview]
Message-ID: <60c9f6aa1a35c476f6d3493aa24438ad@chewa.net> (raw)
In-Reply-To: <1376487.cHbjGZJEZg@avalon>

On Tue, 31 Jul 2012 23:52:35 +0200, Laurent Pinchart

<laurent.pinchart@ideasonboard.com> wrote:

>> I want to receive the video buffers in user space for processing.

>> Typically

>> "processing" is software encoding or conversion. That's what virtually

>> any

>> V4L application does on the desktop...

> 

> But what prevents you from using MMAP ?



As I wrote several times earlier, MMAP uses fixed number of buffers. In

some tightly controlled media pipeline with low latency, it might work.



But in general, the V4L element in the pipeline does not know how fast the

downstream element(s) will consume the buffers. Thus it has to copy from

the MMAP buffers into anonymous user memory pending processing. Then any

dequeued buffer can be requeued as soon as possible. In theory, it might

also be that, even though the latency is known, the number of required

buffers exceeds the maximum MMAP buffers count of the V4L device. Either

way, user space ends up doing memory copy from MMAP to custom buffers.



This problem does not exist with USERBUF - the V4L2 element can simply

allocate a new buffer for each dequeued buffer.



By the way, this was already discussed a few months ago for the exact same

DMABUF patch series...



-- 

Rémi Denis-Courmont

Sent from my collocated server

WARNING: multiple messages have this Message-ID (diff)
From: "Rémi Denis-Courmont" <remi@remlab.net>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Hans Verkuil <hverkuil@xs4all.nl>,
	Tomasz Stanislawski <t.stanislaws@samsung.com>,
	linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org,
	airlied@redhat.com, m.szyprowski@samsung.com,
	kyungmin.park@samsung.com, sumit.semwal@ti.com,
	daeinki@gmail.com, daniel.vetter@ffwll.ch, robdclark@gmail.com,
	pawel@osciak.com, linaro-mm-sig@lists.linaro.org,
	subashrp@gmail.com, mchehab@redhat.com, g.liakhovetski@gmx.de
Subject: Re: [PATCHv2 3/9] v4l: add buffer exporting via dmabuf
Date: Wed, 01 Aug 2012 10:37:02 +0200	[thread overview]
Message-ID: <60c9f6aa1a35c476f6d3493aa24438ad@chewa.net> (raw)
In-Reply-To: <1376487.cHbjGZJEZg@avalon>

On Tue, 31 Jul 2012 23:52:35 +0200, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
>> I want to receive the video buffers in user space for processing.
>> Typically
>> "processing" is software encoding or conversion. That's what virtually
>> any
>> V4L application does on the desktop...
> 
> But what prevents you from using MMAP ?

As I wrote several times earlier, MMAP uses fixed number of buffers. In
some tightly controlled media pipeline with low latency, it might work.

But in general, the V4L element in the pipeline does not know how fast the
downstream element(s) will consume the buffers. Thus it has to copy from
the MMAP buffers into anonymous user memory pending processing. Then any
dequeued buffer can be requeued as soon as possible. In theory, it might
also be that, even though the latency is known, the number of required
buffers exceeds the maximum MMAP buffers count of the V4L device. Either
way, user space ends up doing memory copy from MMAP to custom buffers.

This problem does not exist with USERBUF - the V4L2 element can simply
allocate a new buffer for each dequeued buffer.

By the way, this was already discussed a few months ago for the exact same
DMABUF patch series...

-- 
Rémi Denis-Courmont
Sent from my collocated server

  reply	other threads:[~2012-08-01  8:37 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-14 14:32 [PATCHv2 0/9] Support for dmabuf exporting for videobuf2 Tomasz Stanislawski
2012-06-14 14:32 ` Tomasz Stanislawski
2012-06-14 14:32 ` [PATCHv2 1/9] v4l: vb2-dma-contig: let mmap method to use dma_mmap_coherent call Tomasz Stanislawski
2012-06-14 14:32 ` [PATCHv2 2/9] Documentation: media: description of DMABUF exporting in V4L2 Tomasz Stanislawski
2012-06-14 14:32 ` [PATCHv2 3/9] v4l: add buffer exporting via dmabuf Tomasz Stanislawski
2012-07-31  6:33   ` Hans Verkuil
2012-07-31 11:56     ` Laurent Pinchart
2012-07-31 12:11       ` Hans Verkuil
2012-07-31 12:46         ` Rob Clark
2012-08-01  8:01         ` Tomasz Stanislawski
2012-08-01  8:10           ` Laurent Pinchart
2012-08-01  8:28           ` Hans Verkuil
2012-08-01  9:35             ` Tomasz Stanislawski
2012-07-31 13:39       ` Rémi Denis-Courmont
2012-07-31 14:03         ` Rob Clark
2012-07-31 14:18           ` Rémi Denis-Courmont
2012-07-31 16:28         ` Laurent Pinchart
2012-07-31 18:39           ` Rémi Denis-Courmont
2012-07-31 21:52             ` Laurent Pinchart
2012-08-01  8:37               ` Rémi Denis-Courmont [this message]
2012-08-01  8:37                 ` Rémi Denis-Courmont
2012-08-01 11:35                 ` Laurent Pinchart
2012-08-01 20:49                   ` Rémi Denis-Courmont
2012-08-02  6:35                     ` Hans Verkuil
2012-08-02  6:56                       ` Rémi Denis-Courmont
2012-08-02  7:08                         ` Hans Verkuil
2012-08-02 21:50                           ` Laurent Pinchart
2012-08-02 21:41                         ` Laurent Pinchart
2012-08-08  9:35                       ` Sakari Ailus
2012-08-08  9:46                         ` Hans Verkuil
2012-06-14 14:32 ` [PATCHv2 4/9] v4l: vb2: " Tomasz Stanislawski
2012-06-14 14:32 ` [PATCHv2 5/9] v4l: vb2-dma-contig: add support for DMABUF exporting Tomasz Stanislawski
2012-06-14 14:32 ` [PATCHv2 6/9] v4l: s5p-fimc: support for dmabuf exporting Tomasz Stanislawski
2012-06-14 14:32 ` [PATCHv2 7/9] v4l: s5p-tv: mixer: " Tomasz Stanislawski
2012-06-14 14:32 ` [PATCHv2 8/9] v4l: s5p-mfc: " Tomasz Stanislawski
2012-06-14 14:32 ` [PATCHv2 9/9] v4l: vb2-dma-contig: use dma_get_sgtable Tomasz Stanislawski

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=60c9f6aa1a35c476f6d3493aa24438ad@chewa.net \
    --to=remi@remlab.net \
    --cc=airlied@redhat.com \
    --cc=daeinki@gmail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=g.liakhovetski@gmx.de \
    --cc=hverkuil@xs4all.nl \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-media@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mchehab@redhat.com \
    --cc=pawel@osciak.com \
    --cc=robdclark@gmail.com \
    --cc=subashrp@gmail.com \
    --cc=sumit.semwal@ti.com \
    --cc=t.stanislaws@samsung.com \
    /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.