public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@maxwell.research.nokia.com>
To: Sung Hee Park <shpark7@stanford.edu>
Cc: "linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	Nayden Kanchev <nkanchev@mm-sol.com>,
	Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Cohen David Abraham <david.cohen@nokia.com>,
	andrew.b.adams@gmail.com
Subject: Re: [RFC] V4L2 API for flash devices
Date: Wed, 13 Apr 2011 15:16:38 +0300	[thread overview]
Message-ID: <4DA59426.80803@maxwell.research.nokia.com> (raw)
In-Reply-To: <BANLkTik+xqCD7uiGUchsehoUy+gwM+Cjdg@mail.gmail.com>

Sung Hee Park wrote:
> Here are two more use-cases for flash that might help inform the API design.
> Sakari encouraged me to post these. The person writing this is Andrew Adams,
> but I'm sending this from Sung Hee's account, because I only just subscribed
> to linux-media and can't immediately figure out how to reply to messages
> from before I subscribed. Sung Hee and I are both grad students at Stanford
> who work on FCam (http://fcam.garage.maemo.org/)

Hi Andrew,

Many thanks for the comments.

> Second-curtain-sync:
> 
> Sometimes you want to fire the flash at the end of a long exposure time.
> It's usually a way to depict motion. Here's an example:
> http://www.flickr.com/photos/latitudes/133206615/.
> 
> This only really applies to xenon flashes because you can't get a crisp
> image out of a longer duration LED flash. Even then it's somewhat
> problematic on rolling-shutter sensors but still possible provided you don't
> mind a slight shear to the crisp part of the image. From an API perspective,
> it requires you to be able to specify a trigger time at some number of
> microseconds into the exposure. On the N900 we did this with a real-time
> thread.
>
> Triggering external hardware:
> 
> This use-case is a little weirder, but it has the same API requirement. Some
> photographic setups require you to synchronize some piece of hardware with
> the exposure (e.g. an oscilloscope, or an external slave flash). On embedded
> devices this is generally difficult. If you can at least fire the flash at a
> precise delay into the exposure, you can attach a photodiode to it, and use
> the flash+photodiode as an opto-isolator to trigger your external hardware.
> 
> So we're in favor of having user-settable flash duration, and also
> user-settable trigger times (with reference to the start of the exposure
> time). I'm guessing that in a SMIA++ driver the trigger time would actually
> be a control on the sensor device, but it seemed relevant to bring up while
> you guys were talking about the flash API.

>From this I reckon that in a general case the handling of the flash
timing cannot be left for the drivers only. There must be a way to
control it.

So I'd think that also the level/edge trigger for the flash should be
visible. On edge trigger, the only limiting factor for the flash
duration on hardware would be the relatively coarse watchdog timer, and
I'd think the user should be able to know that.

The flash timing controls should be exposed by the sensor driver since
the sensor is what actually performs the timing.

Laurent; what do you think?

Cheers,

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

  parent reply	other threads:[~2011-04-13 12:16 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-28 12:55 [RFC] V4L2 API for flash devices Sakari Ailus
2011-03-29  6:49 ` Hans Verkuil
2011-03-29  9:35   ` Sakari Ailus
2011-03-29  9:54     ` Hans Verkuil
2011-03-29 11:38       ` Sakari Ailus
2011-03-29 11:51         ` Sakari Ailus
2011-03-30  8:47           ` Laurent Pinchart
2011-04-05 10:00             ` Sakari Ailus
2011-05-02 16:04               ` Sakari Ailus
2011-05-02 19:13                 ` Hans Verkuil
2011-05-02 19:32                   ` Laurent Pinchart
2011-05-02 20:07                     ` Hans Verkuil
2011-03-30  8:55     ` Laurent Pinchart
2011-03-30 12:44       ` Sakari Ailus
2011-03-30 13:53         ` Laurent Pinchart
2011-03-30 14:18           ` Sakari Ailus
2011-03-30 14:57             ` David Cohen
2011-03-30 15:00               ` Laurent Pinchart
2011-03-31  8:09                 ` Sakari Ailus
2011-03-29 10:43 ` Kim, HeungJun
2011-03-29 14:41   ` Sakari Ailus
2011-03-30  5:06     ` Kim, HeungJun
2011-03-30 11:37       ` Sakari Ailus
2011-03-30 20:37         ` Kim HeungJun
2011-03-31  8:50           ` Sakari Ailus
2011-03-30  9:34 ` Laurent Pinchart
2011-03-30 11:05   ` Sakari Ailus
2011-03-30 13:54     ` Laurent Pinchart
2011-03-31  8:17       ` Sakari Ailus
2011-04-05 10:23         ` Sakari Ailus
2011-04-05 10:39           ` Laurent Pinchart
2011-04-05 11:21             ` Sakari Ailus
2011-04-05 11:28               ` Laurent Pinchart
2011-04-05 13:35                 ` Sakari Ailus
     [not found]                   ` <4D9B303D.1000003@mm-sol.com>
2011-04-05 16:25                     ` Laurent Pinchart
2011-04-05 12:11 ` David Cohen
2011-04-06  8:04   ` Sakari Ailus
2011-04-12 19:31 ` Sung Hee Park
     [not found] ` <BANLkTik+xqCD7uiGUchsehoUy+gwM+Cjdg@mail.gmail.com>
2011-04-13 12:16   ` Sakari Ailus [this message]
2011-04-14 19:38     ` Laurent Pinchart
2011-04-15  5:27       ` Sakari Ailus

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=4DA59426.80803@maxwell.research.nokia.com \
    --to=sakari.ailus@maxwell.research.nokia.com \
    --cc=andrew.b.adams@gmail.com \
    --cc=david.cohen@nokia.com \
    --cc=g.liakhovetski@gmx.de \
    --cc=hverkuil@xs4all.nl \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=nkanchev@mm-sol.com \
    --cc=shpark7@stanford.edu \
    /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