summaryrefslogtreecommitdiff
path: root/src/ipa/raspberrypi/controller/camera_mode.h
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2022-10-06 14:17:36 +0100
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-10-18 03:09:38 +0300
commitc513522f3f5b9e3cb091cf7dfd249376b4171bfe (patch)
treed0652bfc23075ecd15b131b53d3e152fcb1cf0df /src/ipa/raspberrypi/controller/camera_mode.h
parente5fc0132f80d644757373ab0e0e3db00fe6ee010 (diff)
ipa: raspberrypi: Add minimum and maximum line length fields to CameraMode
Add fields for minimum and maximum line length duration to the CameraMode structure. This replaces the existing lineLength field. Any use of the existing lineLength field is replaced by the new minLineLength field, as logically we always want to use the fastest sensor readout by default. As a drive-by cosmetic change, split all fields in the CameraMode structure into separate lines. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Tested-by: Dave Stevenson <dave.stevenson@raspberrypi.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/ipa/raspberrypi/controller/camera_mode.h')
-rw-r--r--src/ipa/raspberrypi/controller/camera_mode.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/ipa/raspberrypi/controller/camera_mode.h b/src/ipa/raspberrypi/controller/camera_mode.h
index a6ccf8c1..204c96a0 100644
--- a/src/ipa/raspberrypi/controller/camera_mode.h
+++ b/src/ipa/raspberrypi/controller/camera_mode.h
@@ -20,23 +20,30 @@ struct CameraMode {
/* bit depth of the raw camera output */
uint32_t bitdepth;
/* size in pixels of frames in this mode */
- uint16_t width, height;
+ uint16_t width;
+ uint16_t height;
/* size of full resolution uncropped frame ("sensor frame") */
- uint16_t sensorWidth, sensorHeight;
+ uint16_t sensorWidth;
+ uint16_t sensorHeight;
/* binning factor (1 = no binning, 2 = 2-pixel binning etc.) */
- uint8_t binX, binY;
+ uint8_t binX;
+ uint8_t binY;
/* location of top left pixel in the sensor frame */
- uint16_t cropX, cropY;
+ uint16_t cropX;
+ uint16_t cropY;
/* scaling factor (so if uncropped, width*scaleX is sensorWidth) */
- double scaleX, scaleY;
+ double scaleX;
+ double scaleY;
/* scaling of the noise compared to the native sensor mode */
double noiseFactor;
- /* line time */
- libcamera::utils::Duration lineLength;
+ /* minimum and maximum line time */
+ libcamera::utils::Duration minLineLength;
+ libcamera::utils::Duration maxLineLength;
/* any camera transform *not* reflected already in the camera tuning */
libcamera::Transform transform;
- /* minimum and maximum fame lengths in units of lines */
- uint32_t minFrameLength, maxFrameLength;
+ /* minimum and maximum frame lengths in units of lines */
+ uint32_t minFrameLength;
+ uint32_t maxFrameLength;
/* sensitivity of this mode */
double sensitivity;
};