All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
To: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Linux Media Mailing List <linux-media@vger.kernel.org>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Mauro Carvalho Chehab <mchehab@infradead.org>
Subject: Re: [PATCH/RFC 1/4] V4L: add three new ioctl()s for multi-size videobuffer management
Date: Wed, 18 May 2011 21:02:55 +0300	[thread overview]
Message-ID: <4DD409CF.4020901@maxwell.research.nokia.com> (raw)
In-Reply-To: <Pine.LNX.4.64.1105181649590.16324@axis700.grange>

Hi,

Guennadi Liakhovetski wrote:
> On Wed, 18 May 2011, Laurent Pinchart wrote:
> 
>> On Friday 13 May 2011 09:45:51 Guennadi Liakhovetski wrote:
> 
> [snip]
> 
>>> 2. Both these flags should not be passed with CREATE, but with SUBMIT
>>> (which will be renamed to PREPARE or something similar). It should be
>>> possible to prepare the same buffer with different cacheing attributes
>>> during a running operation. Shall these flags be added to values, taken by
>>> struct v4l2_buffer::flags, since that is the struct, that will be used as
>>> the argument for the new version of the SUBMIT ioctl()?
>>
>> Do you have a use case for per-submit cache handling ?
> 
> This was Sakari's idea, I think, ask him;) But I think, he suggested a 
> case, when not all buffers have to be processed in the user-space. In 
> principle, I can imagine such a case too. E.g., if most of the buffers you 
> pass directly to output / further processing, and only some of them you 
> analyse in software, perhaps, for some WB, exposure, etc.

Yes; I think I mentioned this. It's possible that some rather
CPU-intensive processing is only done on the CPU on every n:th image,
for example. In this case flushing the cache on images that won't be
touched by the CPU is not necessary.

>>>> +
>>>> +/* VIDIOC_CREATE_BUFS */
>>>> +struct v4l2_create_buffers {
>>>> +	__u32			index;		/* output: buffers index...index + count - 1 have 
>> been
>>>> created */ +	__u32			count;
>>>> +	__u32			flags;		/* V4L2_BUFFER_FLAG_* */
>>>> +	enum v4l2_memory        memory;
>>>> +	__u32			size;		/* Explicit size, e.g., for compressed streams */
>>>> +	struct v4l2_format	format;		/* "type" is used always, the rest if 
>> size
>>>> == 0 */ +};
>>>
>>> 1. Care must be taken to keep index <= V4L2_MAX_FRAME
>>
>> Does that requirement still make sense ?
> 
> Don't know, again, not my idea. videobuf2-core still uses it. At one 
> location it seems to be pretty arbitrary, at another it is the size of an 
> array in struct vb2_fileio_data, but maybe we could allocate that one 
> dynamically too. So, do I understand it right, that this would affect our 
> case, if we would CREATE our buffers and then the user would decide to do 
> read() / write() on them?

My issue with this number, as I gave it a little more thought, is that
it is actually quite low. The devices will have more memory in the
future and 32 might become a real limitation. I think it would be wise
to define the API so that the number of simultaneous buffers allocated
on a device is not limited by this number.

Kind regards,

-- 
Sakari Ailus
sakari.ailus@maxwell.research.nokia.com

  reply	other threads:[~2011-05-18 17:59 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-01  8:12 [PATCH/RFC 0/4] V4L: new ioctl()s to support multi-sized video-buffers Guennadi Liakhovetski
2011-04-01  8:13 ` [PATCH/RFC 1/4] V4L: add three new ioctl()s for multi-size videobuffer management Guennadi Liakhovetski
2011-04-04  7:05   ` Hans Verkuil
2011-04-04  7:38     ` Guennadi Liakhovetski
2011-04-04  8:06       ` Hans Verkuil
2011-04-04  8:23         ` Guennadi Liakhovetski
2011-04-05 12:02         ` Laurent Pinchart
2011-04-05 12:40           ` Guennadi Liakhovetski
2011-04-05 12:40           ` Hans Verkuil
2011-04-05 12:53             ` Laurent Pinchart
2011-04-05 11:59   ` Laurent Pinchart
2011-04-05 12:39     ` Guennadi Liakhovetski
2011-04-05 12:56       ` Laurent Pinchart
2011-04-05 14:53         ` Sakari Ailus
2011-04-05 12:21   ` Laurent Pinchart
2011-04-05 12:34     ` Hans Verkuil
2011-04-05 12:50       ` Laurent Pinchart
2011-04-05 12:52       ` Guennadi Liakhovetski
2011-04-05 12:58         ` Laurent Pinchart
2011-04-06 16:19       ` Guennadi Liakhovetski
2011-04-07  7:06         ` Hans Verkuil
2011-04-07  7:15           ` Guennadi Liakhovetski
2011-04-07  7:50             ` Hans Verkuil
2011-04-07  8:53               ` Guennadi Liakhovetski
2011-04-07  9:13                 ` Hans Verkuil
2011-04-07  9:17               ` Laurent Pinchart
2011-04-07  9:28                 ` Hans Verkuil
2011-04-11 11:27                   ` Sakari Ailus
2011-04-11  8:54   ` Sakari Ailus
2011-05-13  7:45   ` Guennadi Liakhovetski
2011-05-14 11:12     ` Hans Verkuil
2011-05-16 13:32     ` Sakari Ailus
2011-05-16 20:34       ` Guennadi Liakhovetski
2011-05-17  5:52         ` Sakari Ailus
2011-05-18 14:01           ` Laurent Pinchart
2011-05-18 14:48             ` Guennadi Liakhovetski
2011-05-18 19:58               ` Sakari Ailus
2011-06-06 13:10                 ` Guennadi Liakhovetski
2011-06-06 17:28                   ` Sakari Ailus
2011-06-07 12:14                     ` Guennadi Liakhovetski
2011-06-08  9:04                       ` Sakari Ailus
2011-05-22 10:18           ` Guennadi Liakhovetski
2011-05-22 12:17             ` Sakari Ailus
2011-05-18 13:59     ` Laurent Pinchart
2011-05-18 15:15       ` Guennadi Liakhovetski
2011-05-18 18:02         ` Sakari Ailus [this message]
2011-04-01  8:13 ` [PATCH/RFC 2/4] V4L: add videobuf2 helper functions to support multi-size video-buffers Guennadi Liakhovetski
2011-04-01 14:06   ` [PATCH/RFC 2/4 v2] " Guennadi Liakhovetski
2011-04-03 17:34     ` Pawel Osciak
2011-04-04  7:55       ` Guennadi Liakhovetski
2011-04-05 12:42         ` Laurent Pinchart
2011-04-05 12:38     ` Laurent Pinchart
2011-04-05 13:01       ` Guennadi Liakhovetski
2011-04-01  8:13 ` [PATCH/RFC 3/4] V4L: soc-camera: add support for new multi-size video-buffer ioctl()s Guennadi Liakhovetski
2011-04-01  8:13 ` [PATCH/RFC 4/4] V4L: sh_mobile_ceu_camera: support multi-size video-buffers Guennadi Liakhovetski
2011-04-03 17:34 ` [PATCH/RFC 0/4] V4L: new ioctl()s to support multi-sized video-buffers Pawel Osciak
2011-04-04  7:15   ` Guennadi Liakhovetski
2011-04-05 12:19     ` Laurent Pinchart
2011-04-05 12:48       ` Guennadi Liakhovetski

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=4DD409CF.4020901@maxwell.research.nokia.com \
    --to=sakari.ailus@maxwell.research.nokia.com \
    --cc=g.liakhovetski@gmx.de \
    --cc=hverkuil@xs4all.nl \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab@infradead.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.