From 786691a238b659506e67cc944fdebafef4658731 Mon Sep 17 00:00:00 2001 From: David Plowman Date: Tue, 17 Mar 2026 15:57:55 +0000 Subject: [PATCH 1/2] libcamera: sensor: Correct hblank and vblank delays for imx708 The correct values are 2, not 3. Signed-off-by: David Plowman --- src/libcamera/sensor/camera_sensor_properties.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp index efa794637..b6780ed9d 100644 --- a/src/libcamera/sensor/camera_sensor_properties.cpp +++ b/src/libcamera/sensor/camera_sensor_properties.cpp @@ -331,8 +331,8 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen .sensorDelays = { .exposureDelay = 2, .gainDelay = 2, - .vblankDelay = 3, - .hblankDelay = 3 + .vblankDelay = 2, + .hblankDelay = 2 }, } }, { "ov2685", { From 4e247675aa78b7d3d8808913cb333d8490fe4b97 Mon Sep 17 00:00:00 2001 From: Peter Bailey <87275960+PineappleBeech@users.noreply.github.com> Date: Tue, 24 Mar 2026 18:14:09 +0000 Subject: [PATCH 2/2] libcamera: sensor: Add sensor properties for imx708 sensor variants The NoIR and wide variants of the camera module 3 have different sensor model names. Signed-off-by: Peter Bailey <87275960+PineappleBeech@users.noreply.github.com> --- .../sensor/camera_sensor_properties.cpp | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp index b6780ed9d..afb5bcf86 100644 --- a/src/libcamera/sensor/camera_sensor_properties.cpp +++ b/src/libcamera/sensor/camera_sensor_properties.cpp @@ -335,6 +335,54 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen .hblankDelay = 2 }, } }, + { "imx708_wide", { + .unitCellSize = { 1400, 1400 }, + .testPatternModes = { + { controls::draft::TestPatternModeOff, 0 }, + { controls::draft::TestPatternModeColorBars, 1 }, + { controls::draft::TestPatternModeSolidColor, 2 }, + { controls::draft::TestPatternModeColorBarsFadeToGray, 3 }, + { controls::draft::TestPatternModePn9, 4 }, + }, + .sensorDelays = { + .exposureDelay = 2, + .gainDelay = 2, + .vblankDelay = 2, + .hblankDelay = 2 + }, + } }, + { "imx708_noir", { + .unitCellSize = { 1400, 1400 }, + .testPatternModes = { + { controls::draft::TestPatternModeOff, 0 }, + { controls::draft::TestPatternModeColorBars, 1 }, + { controls::draft::TestPatternModeSolidColor, 2 }, + { controls::draft::TestPatternModeColorBarsFadeToGray, 3 }, + { controls::draft::TestPatternModePn9, 4 }, + }, + .sensorDelays = { + .exposureDelay = 2, + .gainDelay = 2, + .vblankDelay = 2, + .hblankDelay = 2 + }, + } }, + { "imx708_wide_noir", { + .unitCellSize = { 1400, 1400 }, + .testPatternModes = { + { controls::draft::TestPatternModeOff, 0 }, + { controls::draft::TestPatternModeColorBars, 1 }, + { controls::draft::TestPatternModeSolidColor, 2 }, + { controls::draft::TestPatternModeColorBarsFadeToGray, 3 }, + { controls::draft::TestPatternModePn9, 4 }, + }, + .sensorDelays = { + .exposureDelay = 2, + .gainDelay = 2, + .vblankDelay = 2, + .hblankDelay = 2 + }, + } }, { "ov2685", { .unitCellSize = { 1750, 1750 }, .testPatternModes = {