[libcamera-devel] [PATCH v1 1/3] libcamera: controls: Define a default lens position behaviour

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Jun 2 08:09:16 CEST 2023


Hi Naush,

Thank you for the patch.

On Thu, Jun 01, 2023 at 10:56:28AM +0100, Naushir Patuck via libcamera-devel wrote:
> Update the LensPosition control description to explicitly define a
> startup/default behaviour.
> 
> On startup, the IPA will move the lens to the position given by the
> default value of the LensPosition control. Typically this would be the
> hyperfocal position of the lens.
> 
> Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
> ---
>  src/libcamera/control_ids.yaml | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml
> index adea5f90acc5..f6dbfd6c0bf0 100644
> --- a/src/libcamera/control_ids.yaml
> +++ b/src/libcamera/control_ids.yaml
> @@ -610,6 +610,11 @@ controls:
>          sharp). The minimum will often be zero (meaning infinity), and the
>          maximum value defines the closest focus position.
>  
> +        On startup, the IPA will move the lens position to the default value of

I would write "the camera", not "the IPA", as IPA modules are internal
to libcamera, and this documentation relates to the public API. Writing
this made me realize we mention "IPA" in two locations in this file
already. I'll fix it.

I would like to also document the default value for AfMode, as that also
influences the default focus lens behaviour and is related to
LensPosition. Actually, reading the whole documentation for the
LensPosition control, I think AfMode is what we need to address.
LensPosition already states

        The default value of the control should indicate a good general position
        for the lens, often corresponding to the hyperfocal distance (the
        closest position for which objects at infinity are still acceptably
        sharp). The minimum will often be zero (meaning infinity), and the
        maximum value defines the closest focus position.

There shouldn't be a need to state that the default value is the default
value :-) I'll send a proposal in reply to this e-mail.

> +        this control. This can be overridden by the application providing an
> +        alternative value though this control, or setting an appropriate AF mode
> +        with controls::AfMode.
> +
>          \todo Define a property to report the Hyperfocal distance of calibrated
>          lenses.
>  

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list