[libcamera-devel] [RFC PATCH 0/4] Introduce camera lens properties

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu Jun 9 11:33:15 CEST 2022


Hi Jean-Michel,

Thank you for the patch.

On Thu, Jun 09, 2022 at 08:03:02AM +0200, Jean-Michel Hautbois via libcamera-devel wrote:
> This series introduces a camera lens properties database in the same way
> we have a camera sensor properties one. The idea is to be able to
> provide to the pipeline handler (and thus, the IPAs) any useful property
> defining a tuned lens.

Could you explain the rationale behind this ? How do you plan to index
that database ?

> This series is a RFC as it is not really clear, for instance, which
> properties may be useful (a macroRange and a FullRange sound like
> something useful for instance ?) and which units should be used for
> hyperfocale.
> 
> I don't have a tuned sensor (and indeed, I really wish I could have a
> way to tune it properly :-)) so the values here must be used as examples
> only.
> 
> Patch 3/4 is a specific property, in order to address one of the
> AfControls series "todo".
> 
> Currently, we may use a range as large as the one reported by the
> V4L2_CID_FOCUS_ABSOLUTE call, but all may not be valid.
> For instance, some drivers can set 10 bits values, but only the first 9
> are relevant, as the macro mode is limited by the lens properties.
> We may want to have multiple ranges in a near future (macro, full,
> limited ?) and for the ease the range is returned as a libcamera::Size
> object, as I don't really know what would be better yet ;-).
> 
> Patch 4/4 is the hyperfocale value, expressed in millimeters. Is it the
> correct unit is a question too :-).
> 
> Thanks !
> JM
> 
> Jean-Michel Hautbois (4):
>   libcamera: Add a camera lens properties database
>   libcamera: lens: Grab the static properties at init time
>   libcamera: lens: Add a helper to get the fixed range lens values
>   libcamera: lens: Add the hyperfocale property support
> 
>  include/libcamera/internal/camera_lens.h      |  5 ++
>  .../internal/camera_lens_properties.h         | 25 +++++++
>  src/libcamera/camera_lens.cpp                 | 24 ++++++-
>  src/libcamera/camera_lens_properties.cpp      | 70 +++++++++++++++++++
>  src/libcamera/meson.build                     |  1 +
>  5 files changed, 124 insertions(+), 1 deletion(-)
>  create mode 100644 include/libcamera/internal/camera_lens_properties.h
>  create mode 100644 src/libcamera/camera_lens_properties.cpp

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list