From: Sakari Ailus <sakari.ailus@iki.fi>
To: Sylwester Nawrocki <snjw23@gmail.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
"HeungJun, Kim" <riverful.kim@samsung.com>,
linux-media@vger.kernel.org, mchehab@redhat.com,
hverkuil@xs4all.nl, s.nawrocki@samsung.com,
kyungmin.park@samsung.com
Subject: Re: [RFC PATCH 0/4] Add some new camera controls
Date: Wed, 4 Jan 2012 23:07:08 +0200 [thread overview]
Message-ID: <20120104210708.GK9323@valkosipuli.localdomain> (raw)
In-Reply-To: <4EFD9E10.1050407@gmail.com>
Hi Sylwester,
On Fri, Dec 30, 2011 at 12:18:40PM +0100, Sylwester Nawrocki wrote:
> On 12/28/2011 03:01 PM, Laurent Pinchart wrote:
> > On Wednesday 28 December 2011 07:23:44 HeungJun, Kim wrote:
> >> This RFC patch series include new 4 controls ID for digital camera.
> >> I about to suggest these controls by the necessity enabling the M-5MOLS
> >> sensor's function, and I hope to discuss this in here.
> >
> > Thanks for the patches.
> >
> > The new controls introduced by these patches are very high level. Should they
> > be put in their own class ? I also think we should specify how those high-
> > level controls interact with low-level controls, otherwise applications will
> > likely get very confused.
>
> I agree we may need a separate control class for those high-level controls.
> They are mostly applicable to software ISP algorithms, run either on digital
> signal processor embedded in the sensor or on a processor being part of an SoC.
>
> Thus we would three levels of controls for camera,
> 1) image source class (lowest possible level), dealing mostly with hardware
> registers;
I intended the image source class for controls which only deal with the a/d
conversion itself. Other controls would be elsewhere.
There hasn't been a final decision on this yet, but an alternative which has
been also discussed is just to call this a "low level" control class.
> 2) "normal" camera controls (V4L2_CID_CAMERA_CLASS) [2];
> 3) high level camera controls (for camera software algorithms)
Almost all the automatic anything algorithms are impelemented in software.
But when software is involved, the possibilities are mostly limitless; it's
a matter of imagination what kind of interesting white balance algorithms
> plus some camera controls are in the user controls class. I'm not sure why there
> are camera controls in the user control class, perhaps there was no camera
> class yet at the time V4L2_CID_EXPOSURE or V4L2_CID_BACKLIGHT_COMPENSATION were
> added. I might be missing something else.
The camera control class is relatively new, so that's likely what happened.
Speaking of the classes --- I could resend my patch which allows changing
controls in different classes in the same s_ext_ctrls call --- I looked at
it some time ago and no driver had any limitations on this; it's just the
documentation and the control framework which do.
> I'm afraid a little it might be hard to distinguish if some control should
> belong to 2) or 3), as sensors' logic complexity and advancement varies.
I can see two main use cases:
1. V4L2 / V4L2 subdev / MC as the low level API for camera control and
2. Regular V4L2 applications.
For most controls it's clear which of the two classes they belong to.
> Although I can see an advantage of logically separating controls which have
> influence on one or more other (lower level) controls. And separate control
> class would be helpful in that.
>
> The candidates to such control class might be:
>
> * V4L2_CID_METERING_MODE,
> * V4L2_CID_EXPOSURE_BIAS,
> * V4L2_CID_ISO,
> * V4L2_CID_WHITE_BALANCE_PRESET,
> * V4L2_CID_SCENEMODE,
> * V4L2_CID_WDR,
> * V4L2_CID_ANTISHAKE,
The list looks good to me.
Cheers,
--
Sakari Ailus
e-mail: sakari.ailus@iki.fi jabber/XMPP/Gmail: sailus@retiisi.org.uk
next prev parent reply other threads:[~2012-01-04 21:07 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-28 6:23 [RFC PATCH 0/4] Add some new camera controls HeungJun, Kim
2011-12-28 6:23 ` [RFC PATCH 1/4] v4l: Add V4L2_CID_PRESET_WHITE_BALANCE menu control HeungJun, Kim
2011-12-28 13:35 ` Sylwester Nawrocki
2011-12-28 13:51 ` Laurent Pinchart
2011-12-29 5:08 ` HeungJun, Kim
2011-12-29 23:58 ` Laurent Pinchart
2011-12-30 5:21 ` Kim, Heungjun
2011-12-30 10:30 ` Sylwester Nawrocki
2012-01-02 4:38 ` Kim, Heungjun
2012-01-02 21:50 ` Sylwester Nawrocki
2011-12-29 23:34 ` Sakari Ailus
2011-12-30 6:35 ` HeungJun, Kim
2011-12-30 8:41 ` Hans de Goede
2011-12-30 18:42 ` 'Sakari Ailus'
2011-12-30 18:56 ` Hans de Goede
2011-12-30 21:03 ` 'Sakari Ailus'
2011-12-30 18:17 ` 'Sakari Ailus'
2011-12-30 10:14 ` Sylwester Nawrocki
2011-12-30 20:41 ` Sakari Ailus
2012-01-01 15:38 ` Sylwester Nawrocki
2012-01-04 20:39 ` Sakari Ailus
2012-01-04 20:57 ` Laurent Pinchart
2012-01-04 21:24 ` Sakari Ailus
2012-01-04 22:06 ` Sylwester Nawrocki
2012-01-11 22:36 ` Sakari Ailus
2012-01-13 21:41 ` Sylwester Nawrocki
2011-12-29 4:06 ` HeungJun, Kim
2012-01-02 9:53 ` Sylwester Nawrocki
2011-12-30 11:23 ` Sylwester Nawrocki
2011-12-28 6:23 ` [RFC PATCH 2/4] v4l: Add V4L2_CID_SCENEMODE " HeungJun, Kim
2011-12-28 13:56 ` Laurent Pinchart
2011-12-29 5:40 ` HeungJun, Kim
2011-12-30 0:11 ` Laurent Pinchart
2011-12-30 5:31 ` HeungJun, Kim
2011-12-28 6:23 ` [RFC PATCH 3/4] v4l: Add V4L2_CID_WDR button control HeungJun, Kim
2011-12-28 13:56 ` Laurent Pinchart
2011-12-29 5:52 ` HeungJun, Kim
2011-12-30 0:13 ` Laurent Pinchart
2011-12-30 5:41 ` HeungJun, Kim
2011-12-30 21:10 ` Sakari Ailus
2011-12-28 6:23 ` [RFC PATCH 4/4] v4l: Add V4L2_CID_ANTISHAKE " HeungJun, Kim
2011-12-28 13:58 ` Laurent Pinchart
2011-12-29 5:57 ` HeungJun, Kim
2011-12-28 14:01 ` [RFC PATCH 0/4] Add some new camera controls Laurent Pinchart
2011-12-29 6:15 ` HeungJun, Kim
2011-12-30 0:16 ` Laurent Pinchart
2011-12-30 7:52 ` HeungJun, Kim
2011-12-30 11:18 ` Sylwester Nawrocki
2012-01-04 21:07 ` Sakari Ailus [this message]
2012-01-28 17:01 ` Sylwester Nawrocki
2012-01-30 22:25 ` 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=20120104210708.GK9323@valkosipuli.localdomain \
--to=sakari.ailus@iki.fi \
--cc=hverkuil@xs4all.nl \
--cc=kyungmin.park@samsung.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@redhat.com \
--cc=riverful.kim@samsung.com \
--cc=s.nawrocki@samsung.com \
--cc=snjw23@gmail.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