summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Plowman <david.plowman@raspberrypi.com>2022-11-17 15:45:00 +0000
committerKieran Bingham <kieran.bingham@ideasonboard.com>2022-12-08 11:36:02 +0000
commit1bd74b91be2da535918d509ff32c1cb2b76dcec3 (patch)
tree69ebba3b4ab69d8217a26364c20b734176dc1121
parent4a7c8a98daedbe69906653727f08732517b42a56 (diff)
libcamera: controls: Change LensPosition units to dioptres
The units for the LensPosition control, previously defined as being in units of 1 / hyperfocal_distance, are changed to 1 / distance (in metres). Signed-off-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
-rw-r--r--src/libcamera/control_ids.yaml26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml
index a456e6c0..adea5f90 100644
--- a/src/libcamera/control_ids.yaml
+++ b/src/libcamera/control_ids.yaml
@@ -591,25 +591,27 @@ controls:
AfModeManual, though the value is reported back unconditionally in all
modes.
- The units are a reciprocal distance scale like dioptres but normalised
- for the hyperfocal distance. That is, for a lens with hyperfocal
- distance H, and setting it to a focal distance D, the lens position LP,
- which is generally a non-integer, is given by
+ This value, which is generally a non-integer, is the reciprocal of the
+ focal distance in metres, also known as dioptres. That is, to set a
+ focal distance D, the lens position LP is given by
- \f$LP = \frac{H}{D}\f$
+ \f$LP = \frac{1\mathrm{m}}{D}\f$
For example:
0 moves the lens to infinity.
- 0.5 moves the lens to twice the hyperfocal distance.
- 1 moves the lens to the hyperfocal position.
- And larger values will focus the lens ever closer.
+ 0.5 moves the lens to focus on objects 2m away.
+ 2 moves the lens to focus on objects 50cm away.
+ And larger values will focus the lens closer.
- \todo Define a property to report the Hyperforcal distance of calibrated
- lenses.
+ 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.
- \todo Define a property to report the maximum and minimum positions of
- this lens. The minimum value will often be zero (meaning infinity).
+ \todo Define a property to report the Hyperfocal distance of calibrated
+ lenses.
- AfState:
type: int32_t