[libcamera-devel] [PATCH v2 1/6] libcamera: controls: Specify manual gain units and change exposure units
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Fri Mar 20 15:44:13 CET 2020
Hi Kieran,
On Fri, Mar 20, 2020 at 02:35:36PM +0000, Kieran Bingham wrote:
> On 20/03/2020 14:05, Laurent Pinchart wrote:
> > On Fri, Mar 20, 2020 at 01:38:02PM +0000, Kieran Bingham wrote:
> >> On 09/03/2020 12:33, Naushir Patuck wrote:
> >>> Use micro-seconds for ManualExposure. This is changed from milli-
> >>> seconds. The latter would not allow very low exposure times.
> >>>
> >>> ManualGain switch to use a float to allow fractional gain adjustments.
> >>
> >> "Switch ManualGain to use a float" ...?
> >>
> >>> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> >>> ---
> >>> src/libcamera/control_ids.yaml | 13 ++++++++++---
> >>> 1 file changed, 10 insertions(+), 3 deletions(-)
> >>>
> >>> diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml
> >>> index 4befec74..5bbe65ae 100644
> >>> --- a/src/libcamera/control_ids.yaml
> >>> +++ b/src/libcamera/control_ids.yaml
> >>> @@ -44,10 +44,17 @@ controls:
> >>>
> >>> - ManualExposure:
> >>> type: int32_t
> >>
> >> Not directly against this patch, but I can't imagine having a negative
> >> exposure time - so should this be uint32_t?
> >
> > We don't have unsigned int controls :-)
>
> Ah well then I guess we can't use a uint32_t ...
>
> Is that just a restriction due to ControlValue templates?
> Presumably we 'could' have them - but maybe it's not needed.
We could, but I think it would complexify the API, especially for V4L2
controls, and you'll have to be very, very careful to add a U suffix to
your integer literal when calling some of the functions, otherwise
you'll get undefined behaviour without a compiler warning. 32-bit vs.
64-bit is already painful enough :-)
> >>> - description: Specify a fixed exposure time in milli-seconds
> >>> + description: |
> >>> + Specify a fixed exposure time in micro-seconds to be applied in the
> >>> + sensor device.
> >>> +
> >>> + \sa ManualGain
> >>>
> >>> - ManualGain:
> >>> - type: int32_t
> >>> - description: Specify a fixed gain parameter
> >>> + type: float
> >>> + description: |
> >>> + Specify a fixed gain value to be applied in the pipeline. This gain is
> >>> + applied to all colour channels.
> >>>
> >>> + \sa ManualExposure
> >>> ...
> >>>
> >>
> >> Otherwise, this sounds good to me.
> >>
> >> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list