[libcamera-devel] reporting of gain and analogue gain

Laurent Pinchart laurent.pinchart at ideasonboard.com
Sat Oct 10 03:42:23 CEST 2020


Hi David,

On Wed, Oct 07, 2020 at 05:15:15PM +0100, David Plowman wrote:
> On Wed, 7 Oct 2020 at 15:58, Kieran Bingham wrote:
> > On 07/10/2020 15:41, David Plowman wrote:
> > > Hi everyone
> > >
> > > Whilst doing some maintenance on the Raspberry Pi AGC I noticed a bit
> > > of an oversight - we have no way to report the total gain being
> > > applied to an image. We have controls to report:
> > >
> > > * the exposure time of the sensor
> > > * the analogue gain applied in the sensor
> > > * red and blue colour gains applied by the AWB
> > >
> > > but nothing for any (global) digital gain demanded by the AGC. The
> > > consequence is that when I capture a jpeg I always report an ISO value
> > > based purely on the analogue gain which may be incorrect (when a
> > > higher gain is required than the sensor allows then we make up the
> > > difference with digital gain).

Just to make sure there's no misunderstanding, that's the digital gain
applied in the sensor, right ?

> > > Any thoughts on this? Obviously there could be a digital gain control...
> >
> > I assume the IPA would be then responsible for setting this? Is it
> > read-only?
> 
> Certainly in the Raspberry Pi implementation it would be a read-only
> control which the IPA sets for you. You could imagine some
> implementations would allow you to set it (the old proprietary stack
> of ours does, which I think is a source of confusion) but we're trying
> to keep the behaviour simple.
> 
> > Would we expect an application to be able to control both the analogue
> > gain and the digital gain manually? (When AGC is disabled I guess?)
> >
> > Or would they only see an overall 'gain' control?
> 
> The AGC algorithm we've implemented actually treats "gain" as a single
> thing. If the analogue gain goes high enough that's what you'll get.
> If you want to go higher, the analogue gain will max out and the
> remainder will be digital gain.
> 
> > I'm suspecting that indeed, it would be exposed as a separate control,
> > because it will expose a feature that the ISP is capable of delivering.
> 
> Yes, probably. I think maybe I feel another patch set coming on.
> Perhaps I'll get the other AGC ones out of the way first while we wait
> to see if anyone else has any opinions...

I can see two options, either reporting the analog and digital gains as
separate controls, or as a combined gain control. The latter would allow
abstracting different sensor architectures more easily, at the expense
of not exposing the analog/digital split.

Are there use cases on the application side that would benefit from
knowing the analog/digital gain split ? And are there use cases for
applying digital gain without maxing the analog gain out first ?

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list