public inbox for linux-media@vger.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>,
	Kim HeungJun <riverful@gmail.com>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Linux Media Mailing List <linux-media@vger.kernel.org>,
	Sakari Ailus <sakari.ailus@iki.fi>,
	Stanimir Varbanov <svarbanov@mm-sol.com>
Subject: Re: [RFC] snapshot mode, flash capabilities and control
Date: Fri, 25 Feb 2011 20:49:11 +0200	[thread overview]
Message-ID: <4D67F9A7.9000106@maxwell.research.nokia.com> (raw)
In-Reply-To: <Pine.LNX.4.64.1102251119410.23338@axis700.grange>

Hi Guennadi,

Guennadi Liakhovetski wrote:
> In principle - yes, and yes, I do realise, that the couple of controls, 
> that I've proposed only cover a very minor subset of the whole flash 
> function palette. The purposes of my RFC were:

Why would there be a different interface for controlling the flash in
simple cases and more complex cases?

As far as I see it, the way the flash is accessed should be the same in
both cases --- if more complex functionality is required that would be
implemented in using additional ways (controls, for example).

The drivers should use sane defaults for controls like power and length.
I assume things like mode (strobe/continuous) is fairly standard
functionality.

> 1. get things started in the snapshot / flash direction;)
> 2. get access to dedicated snapshot / flash registers, present on many 
> sensors and SoCs
> 3. get at least the very basic snapshot / flash functions, common to most 
> hardware implementations, but trying to make it future-proof for further 
> extensions
> 4. get a basis for a future detailed discussion
> 
>> Let's also not forget that, in addition to the flash LEDs itself, devices 
>> often feature an indicator LED (a small low-power red LED used to indicate 
>> that video capture is ongoing).
> 
> Well, this one doesn't seem too special to me? Wouldn't it suffice to just 
> toggle it from user-space on streamon / streamoff?

And what if you want to use the led unconnected to the streaming state? :-)

>> This doesn't solve the flash/capture synchronization problem though. I don't 
>> think we need a dedicated snapshot capture mode at the V4L2 level. A way to 
>> configure the sensor to react on an external trigger provided by the flash 
>> controller is needed, and that could be a control on the flash sub-device. 
> 
> Well... Sensors call this a "snapshot mode." I don't care that much how we 
> _call_ it, but I do think, that we should be able to use it.

Some sensors and webcams might have that, but newer camera solutions
tend to contain a raw bayer sensor and and ISP. There is no concept of
snapsnot mode in these sensors.

> Hm, don't think only the "flash subdevice" has to know about this. First, 
> you have to switch the sensor into that mode. Second, it might be either 
> external trigger from the flash controller, or a programmed trigger and a 
> flash strobe from the sensor to the flash (controller). Third, well, not 
> quite sure, but doesn't the host have to know about the snapshot mode? 

I do not favour adding use case type of functionality to interfaces that
do not necessarily need it. Would the concept of a snapshot be
parametrisable on V4L2 level?

Otherwise we may end adding interfaces for use case specific things. The
use cases vary a lot more than the individual features that are required
to implement them, suggesting it's relatively easy to add redundant
functionality to the API.

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

  reply	other threads:[~2011-02-25 18:49 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-24 12:18 [RFC] snapshot mode, flash capabilities and control Guennadi Liakhovetski
2011-02-24 12:40 ` Hans Verkuil
2011-02-24 16:07   ` Guennadi Liakhovetski
2011-02-24 17:57     ` Kim HeungJun
2011-02-25 10:05       ` Laurent Pinchart
2011-02-25 13:53         ` Sakari Ailus
2011-02-25 17:08           ` Guennadi Liakhovetski
2011-02-25 18:55             ` Sakari Ailus
2011-02-25 20:56               ` Guennadi Liakhovetski
2011-02-28 11:57                 ` Guennadi Liakhovetski
2011-03-06  9:53                 ` Sakari Ailus
2011-02-26 12:31             ` Hans Verkuil
2011-02-26 13:03               ` Guennadi Liakhovetski
2011-02-26 13:39                 ` Sylwester Nawrocki
2011-02-26 13:56                   ` Hans Verkuil
2011-02-26 15:42                     ` Sylwester Nawrocki
2011-02-28 10:28                     ` Laurent Pinchart
2011-02-28 10:40                       ` Hans Verkuil
2011-02-28 10:47                         ` Laurent Pinchart
2011-02-28 11:02                         ` Guennadi Liakhovetski
2011-02-28 11:07                           ` Laurent Pinchart
2011-02-28 11:17                             ` Hans Verkuil
2011-02-28 11:19                               ` Laurent Pinchart
2011-02-28 11:54                               ` Guennadi Liakhovetski
2011-02-28 22:41                                 ` Guennadi Liakhovetski
2011-03-02 17:51                                   ` Guennadi Liakhovetski
2011-03-02 18:19                                     ` Hans Verkuil
2011-03-03  1:05                                       ` Andy Walls
2011-03-03 11:50                                         ` Laurent Pinchart
2011-03-03 13:56                                           ` Andy Walls
2011-03-03 14:04                                             ` Laurent Pinchart
2011-03-03 14:55                                               ` Andy Walls
2011-03-03 14:29                                             ` Sakari Ailus
2011-03-03  8:02                                       ` Guennadi Liakhovetski
2011-03-03  9:25                                         ` Hans Verkuil
2011-02-28 13:33                               ` Andy Walls
2011-02-28 13:37                                 ` Andy Walls
2011-02-28 11:37                             ` Guennadi Liakhovetski
2011-02-28 12:03                               ` Sakari Ailus
2011-02-28 12:44                                 ` Guennadi Liakhovetski
2011-02-28 15:07                                   ` Sakari Ailus
2011-02-28 10:24                 ` Laurent Pinchart
2011-02-25 16:58         ` Guennadi Liakhovetski
2011-02-25 18:49           ` Sakari Ailus [this message]
2011-02-25 20:33             ` Guennadi Liakhovetski
2011-02-27 21:00               ` Sakari Ailus
2011-02-28 11:20                 ` Guennadi Liakhovetski
2011-02-28 13:44                   ` Sakari Ailus
2011-03-03  7:09 ` Kim, HeungJun
2011-03-03  7:30   ` 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=4D67F9A7.9000106@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=riverful@gmail.com \
    --cc=sakari.ailus@iki.fi \
    --cc=svarbanov@mm-sol.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox