b/src/libcamera/sensor/camera_sensor_properties.cpp
@@ -524,6 +524,20 @@ const CameraSensorProperties
*CameraSensorProperties::get(const std::string &sen
.hblankDelay = 2
},
} },
+ { "ov08x40", {
+ .unitCellSize = { 702, 702 },
+ .testPatternModes = {
+ { controls::draft::TestPatternModeOff, 0 },
+ { controls::draft::TestPatternModeColorBars, 2 },
+ /*
+ * No corresponding test pattern mode for
+ * 1: "Vertical Color Bar Type 1",
+ * 3: "Vertical Color Bar Type 3",
+ * 4: "Vertical Color Bar Type 4"
+ */
+ },
+ .sensorDelays = { },
+ } },
{ "ov8858", {
.unitCellSize = { 1120, 1120 },
The ov08x40 sensor helper is already present, but the sensor has no static properties. This adds its documented 702 nm unit-cell size and test-pattern mapping. The unit-cell size comes from OmniVision's OV08X40 product information. Control delays remain unspecified so the common defaults are used. On the tested HP Spectre, setting the sensor's test-pattern control while streaming at 3848x2416 showed that driver value 2 produces eight full-height colour bars matching TestPatternModeColorBars after accounting for horizontal orientation. Values 1, 3, and 4 remain unmapped because their libcamera equivalents have not been established. Signed-off-by: James Alexander <opensource@inspiredexperts.com> --- Changes in v3: - Correct the hardware-tested pattern mapping: value 2 produces eight full-height colour bars, not fading colour bars. - Leave values 1, 3, and 4 unmapped. Changes in v2: - Use the documented 0.702 um unit-cell size. - Map test-pattern value 2 to fading colour bars. - Use the default control delays. src/libcamera/sensor/camera_sensor_properties.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) .testPatternModes = {