[libcamera-devel,v3,03/13] libcamera: properties: Define 'lens' properties

Message ID 20200424215304.558317-4-jacopo@jmondi.org
State Superseded
Headers show
Series
  • libcamera: Add CameraSensorInfo
Related show

Commit Message

Jacopo Mondi April 24, 2020, 9:52 p.m. UTC
Define properties that describe the optical characteristics of the image
sensor.

Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
---
 src/libcamera/property_ids.yaml | 34 +++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

Comments

Laurent Pinchart April 25, 2020, 2:21 a.m. UTC | #1
Hi Jacopo,

Thank you for the patch.

Maybe s/'lens'/lens/ in the subject ?


On Fri, Apr 24, 2020 at 11:52:54PM +0200, Jacopo Mondi wrote:
> Define properties that describe the optical characteristics of the image
> sensor.
> 
> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
> ---
>  src/libcamera/property_ids.yaml | 34 +++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml
> index 8f6797723a9d..0402e317f170 100644
> --- a/src/libcamera/property_ids.yaml
> +++ b/src/libcamera/property_ids.yaml
> @@ -541,4 +541,38 @@ controls:
>          The range of supported ISO sensitivities, as documented by the
>          ISO 12232:2006 (or later) standard.
>  
> +  - LensApertures:
> +      type: float
> +      size: [n]
> +      description: |
> +        The available lens apertures, expressed as f numbers (the ratio between
> +        the lens focal distance and the diameter of the pupil aperture).
> +
> +        If the camera module has a fixed aperture, the property transports a

s/transports/contains/ ?

Assuming a fixed focal length and a variable aperture, what values is
this supposed to report ? The available apertures are a continuous range
from min to max, what's the rule to create discrete values ?

Even more complex, what discrete values should be reported when both the
focal length and the aperture are variable (and continuous) ?

> +        single value.
> +
> +  - LensFocalLengths:
> +      type: float
> +      size: [n]
> +      description: |
> +        The available lens focal lengths, expressed in millimeters.
> +
> +        If the camera module supports multiple focal lengths this property
> +        reports the focal lengths associated with each discrete step. For
> +        camera modules with a single focal length, a single value should be
> +        instead reported.

Same question here, how is this made discrete from a continuous range ?

> +
> +  - LensHyperfocalDistances:
> +      type: float
> +      size: [n]

Can a lens have multiple hyperfocal distances ?

> +      description: |
> +        The hyperfocal distance of the camera module. The property is

I assume this one is also expressed in millimeters, but that should be
documented.

> +        particularly meaningful for modules with a single focal length.

How so ?

> +
> +  - LensMinimumFocusDistance:
> +      type: float
> +      description: |
> +        The shortest distance in millimeters at which an object could be brought
> +        into sharp focus.
> +
>  ...

Patch

diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml
index 8f6797723a9d..0402e317f170 100644
--- a/src/libcamera/property_ids.yaml
+++ b/src/libcamera/property_ids.yaml
@@ -541,4 +541,38 @@  controls:
         The range of supported ISO sensitivities, as documented by the
         ISO 12232:2006 (or later) standard.
 
+  - LensApertures:
+      type: float
+      size: [n]
+      description: |
+        The available lens apertures, expressed as f numbers (the ratio between
+        the lens focal distance and the diameter of the pupil aperture).
+
+        If the camera module has a fixed aperture, the property transports a
+        single value.
+
+  - LensFocalLengths:
+      type: float
+      size: [n]
+      description: |
+        The available lens focal lengths, expressed in millimeters.
+
+        If the camera module supports multiple focal lengths this property
+        reports the focal lengths associated with each discrete step. For
+        camera modules with a single focal length, a single value should be
+        instead reported.
+
+  - LensHyperfocalDistances:
+      type: float
+      size: [n]
+      description: |
+        The hyperfocal distance of the camera module. The property is
+        particularly meaningful for modules with a single focal length.
+
+  - LensMinimumFocusDistance:
+      type: float
+      description: |
+        The shortest distance in millimeters at which an object could be brought
+        into sharp focus.
+
 ...