All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Chris MacGregor <chris@cybermato.com>
Cc: Sakari Ailus <sakari.ailus@iki.fi>,
	Prabhakar Lad <prabhakar.csengg@gmail.com>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
	Sylwester Nawrocki <s.nawrocki@samsung.com>,
	Hans de Goede <hdegoede@redhat.com>,
	dlos <davinci-linux-open-source@linux.davincidsp.com>,
	linux-media <linux-media@vger.kernel.org>,
	Prabhakar Lad <prabhakar.lad@ti.com>,
	Manjunath Hadli <manjunath.hadli@ti.com>
Subject: Re: Gain controls in v4l2-ctrl framework
Date: Wed, 26 Sep 2012 17:23:13 +0200	[thread overview]
Message-ID: <1703218.fEdZSF7M3x@avalon> (raw)
In-Reply-To: <50631461.7080903@cybermato.com>

Hi Chris,

On Wednesday 26 September 2012 07:42:41 Chris MacGregor wrote:
> On 09/26/2012 12:42 AM, Sakari Ailus wrote:
> > On Wed, Sep 26, 2012 at 12:14:36PM +0530, Prabhakar Lad wrote:
> >> On Sun, Sep 23, 2012 at 4:56 PM, Prabhakar Lad wrote:
> >>> Hi All,
> >>> 
> >>> The CCD/Sensors have the capability to adjust the R/ye, Gr/Cy, Gb/G,
> >>> B/Mg gain values.
> >>> Since these control can be re-usable I am planning to add the
> >>> following gain controls as part
> >>> of the framework:
> >>> 
> >>> 1: V4L2_CID_GAIN_RED
> >>> 2: V4L2_CID_GAIN_GREEN_RED
> >>> 3: V4L2_CID_GAIN_GREEN_BLUE
> >>> 4: V4L2_CID_GAIN_BLUE
> >>> 5: V4L2_CID_GAIN_OFFSET
> >>> 
> >>> I need your opinion's to get moving to add them.
> >> 
> >> I am listing out the gain controls which is the outcome of above
> >> discussion:-
> >> 
> >> 1: V4L2_CID_GAIN_RED
> >> 2: V4L2_CID_GAIN_GREEN_RED
> >> 3: V4L2_CID_GAIN_GREEN_BLUE
> >> 4: V4L2_CID_GAIN_BLUE
> >> 5: V4L2_CID_GAIN_OFFSET
> >> 6: V4L2_CID_BLUE_OFFSET
> >> 7: V4L2_CID_RED_OFFSET
> >> 8: V4L2_CID_GREEN_OFFSET
> > 
> > Hi Prabhakar,
> > 
> > As these are low level controls, I wonder whether it would make sense to
> > make a difference between digital and analogue gain. I admit I'm not quite
> > as certain whether there's such a large difference as there is for global
> > gains for the camera control algorithms.
> 
> Sorry to make this more complicated, but the Aptina MT9P031, for
> instance (datasheet at
> http://www.aptina.com/assets/downloadDocument.do?id=865 - see page 35),
> has Digital Gain, an Analog Multiplier, and Analog Gain (for each of R,
> Gr, Gb, and B). For each color channel, there is one register, with the
> bits divided up into the three gain types. Furthermore, the different
> gain types have different units (increments).
> 
> Currently (at least in the last version I've used), the driver hides all
> this and provides a single gain control, and prioritizes which gain
> types are adjusted at different user-level gain settings in accordance
> with the datasheet recommendations (e.g. keep the analog gain between 1
> and 4 for best noise performance, and use the multiplier for gains
> between 4 and 8). This seems very sensible.

I think it should be fine for now. If we later find out that a user space 
application really needs to control the analog and digital gains individually 
and precisely we can always split the controls then. For now I think a single 
gain control (per channel) that groups analog and digital gains should be 
enough.

> If we try to distinguish between analog and digital gains in the control
> definitions, what should this driver do? And what about the multiplier? I
> suppose it could be "hidden" by the driver as part of the analog gain, as
> the driver currently does for the entire gain...

-- 
Regards,

Laurent Pinchart


  reply	other threads:[~2012-09-26 15:22 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-23 11:26 Gain controls in v4l2-ctrl framework Prabhakar Lad
2012-09-23 13:20 ` Sakari Ailus
2012-09-23 16:17   ` Laurent Pinchart
2012-09-23 16:27     ` Sakari Ailus
2012-09-24 11:05       ` Laurent Pinchart
2012-09-24 10:55 ` Hans de Goede
2012-09-24 11:00   ` Laurent Pinchart
2012-09-24 11:04     ` Hans de Goede
2012-09-24 14:42   ` Prabhakar Lad
2012-09-24 17:17     ` Chris MacGregor
2012-09-24 18:46       ` Hans de Goede
2012-09-24 19:16         ` Chris MacGregor
2012-09-24 20:12           ` Sakari Ailus
2012-09-24 20:27           ` Laurent Pinchart
2012-09-24 20:06 ` Sakari Ailus
2012-09-24 20:42   ` Laurent Pinchart
2012-09-26  6:44 ` Prabhakar Lad
2012-09-26  6:53   ` Chris MacGregor
2012-09-26  7:01     ` Prabhakar Lad
2012-09-26  7:42   ` Sakari Ailus
2012-09-26  7:46     ` Prabhakar Lad
2012-09-26  7:54       ` Sakari Ailus
2012-09-26  8:06         ` Prabhakar Lad
2012-09-26 14:42     ` Chris MacGregor
2012-09-26 15:23       ` Laurent Pinchart [this message]
2012-09-26 19:23         ` 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=1703218.fEdZSF7M3x@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=chris@cybermato.com \
    --cc=davinci-linux-open-source@linux.davincidsp.com \
    --cc=g.liakhovetski@gmx.de \
    --cc=hdegoede@redhat.com \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-media@vger.kernel.org \
    --cc=manjunath.hadli@ti.com \
    --cc=prabhakar.csengg@gmail.com \
    --cc=prabhakar.lad@ti.com \
    --cc=s.nawrocki@samsung.com \
    --cc=sakari.ailus@iki.fi \
    /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.