[libcamera-devel] [PATCH v8 1/3] libcamera: controls: Add frame duration control
Naushir Patuck
naush at raspberrypi.com
Fri Dec 11 16:45:23 CET 2020
Add an int64_t array control (controls::FrameDurations) to specify the
minimum and maximum (in that order) frame duration to be used by the
camera sensor.
Signed-off-by: Naushir Patuck <naush at raspberrypi.com>
Reviewed-by: David Plowman <david.plowman at raspberrypi.com>
Tested-by: David Plowman <david.plowman at raspberrypi.com>
Reviewed-by: Jacopo Mondi <jacopo at jmondi.org>
---
src/libcamera/control_ids.yaml | 40 ++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml
index 6d6f0fee..43a7cfb7 100644
--- a/src/libcamera/control_ids.yaml
+++ b/src/libcamera/control_ids.yaml
@@ -306,6 +306,46 @@ controls:
maximum valid value is given by the properties::ScalerCropMaximum
property, and the two can be used to implement digital zoom.
+ - FrameDurations:
+ type: int64_t
+ description: |
+ The minimum and maximum (in that order) frame duration,
+ expressed in micro-seconds.
+
+ When provided by applications, the control specifies the sensor frame
+ duration interval the pipeline has to use. This could also limit the
+ largest exposure time the sensor can use. For example, if a maximum
+ frame duration of 33ms is requested (corresponding to 30 frames per
+ second), the sensor will not be able to raise the exposure time above
+ 33ms. A fixed frame duration is achieved by setting the minimum and
+ maximum values to be the same.
+
+ The maximum frame duration provides the absolute limit to the shutter
+ speed computed by the AE algorithm and it overrides any exposure mode
+ setting specified with controls::AeExposureMode. Similarly, when a
+ manual exposure time is set through controls::ExposureTime, it also
+ gets clipped to the limits set by this control.
+
+ \sa AeExposureMode
+ \sa ExposureTime
+
+ \todo Refer to the frame duration limits property to describe how
+ application-provided values gets clipped and reset.
+
+ When reported by pipelines, the control expresses the duration of the
+ sensor frame used to produce streams part of the completed Request.
+ The minimum and maximum values shall then be the same, as the sensor
+ frame duration is a fixed parameter. The sensor frame duration is one
+ of the parameter that defines the capture frame rate but it does not
+ alone provide enough information to fully calculate it as it does not
+ account for pipeline processing delays.
+
+ \todo Define how to calculate the capture frame rate by
+ defining controls to report additional delays introduced by
+ the capture pipeline or post-processing stages (ie JPEG
+ conversion, frame scaling).
+ size: [2]
+
# ----------------------------------------------------------------------------
# Draft controls section
--
2.25.1
More information about the libcamera-devel
mailing list