summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/controller/device_status.h
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2021-07-12 11:02:05 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-07-12 15:57:07 +0300
commit2d6a9b3592fe4ce8a68e5ed125395708cb5bd0fa (patch)
tree3f0dfc3175aa4c049157b020a7e930d3b89c8292 /src/ipa/raspberrypi/controller/device_status.h
parentf24d83720f0ecd5656699f5013d7b5532e6e72c2 (diff)
ipa: raspberrypi: Add frame_length to DeviceStatus
Store the frame length into the DeviceStatus struct. The value is extracted from embedded data when available, or calculated from the VBLANK value passed from DelayedControls otherwise. Update imx477 and imx219 CamHelper classes to extract the frame length from the embedded data buffer. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/ipa/raspberrypi/controller/device_status.h')
-rw-r--r--src/ipa/raspberrypi/controller/device_status.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ipa/raspberrypi/controller/device_status.h b/src/ipa/raspberrypi/controller/device_status.h
index ec4bbe73..c4a5d9c8 100644
--- a/src/ipa/raspberrypi/controller/device_status.h
+++ b/src/ipa/raspberrypi/controller/device_status.h
@@ -17,8 +17,9 @@
struct DeviceStatus {
DeviceStatus()
- : shutter_speed(std::chrono::seconds(0)), analogue_gain(0.0),
- lens_position(0.0), aperture(0.0), flash_intensity(0.0)
+ : shutter_speed(std::chrono::seconds(0)), frame_length(0),
+ analogue_gain(0.0), lens_position(0.0), aperture(0.0),
+ flash_intensity(0.0)
{
}
@@ -26,6 +27,8 @@ struct DeviceStatus {
/* time shutter is open */
libcamera::utils::Duration shutter_speed;
+ /* frame length given in number of lines */
+ uint32_t frame_length;
double analogue_gain;
/* 1.0/distance-in-metres, or 0 if unknown */
double lens_position;