@@ -891,6 +891,18 @@ int PipelineHandlerIPU3::initControls(IPU3CameraData *data)
ControlInfoMap::Map controls = IPU3Controls;
const ControlInfoMap &sensorControls = sensor->controls();
+ if (!sensorInfo.availableTestPatternModes.empty()) {
+ std::vector<ControlValue> values(
+ sensorInfo.availableTestPatternModes.size());
+ for (size_t i = 0; i < values.size(); ++i) {
+ values[i] = ControlValue(
+ sensorInfo.availableTestPatternModes[i]);
+ }
+
+ controls[&controls::draft::SensorTestPatternMode] =
+ ControlInfo(libcamera::Span<const ControlValue>(values));
+ }
+
/*
* Compute exposure time limits.
*
PipelineHandlerIPU3 gets available test pattern modes of the sensor device and reports them to a client. Signed-off-by: Hirokazu Honda <hiroh@chromium.org> --- src/libcamera/pipeline/ipu3/ipu3.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+)