@@ -995,6 +995,16 @@ int PipelineHandlerIPU3::initControls(IPU3CameraData *data)
controls[&controls::ScalerCrop] = ControlInfo(minCrop, maxCrop, maxCrop);
+ const std::vector<int32_t> &availableTestPatternModes =
+ sensor->availableTestPatternModes();
+ if (!availableTestPatternModes.empty()) {
+ std::vector<ControlValue> controlValues;
+ for (int32_t value : availableTestPatternModes)
+ controlValues.emplace_back(value);
+ controls[&controls::draft::SensorTestPatternMode] =
+ ControlInfo(controlValues);
+ }
+
data->controlInfo_ = std::move(controls);
return 0;
Add available test pattern modes to controls. Signed-off-by: Hirokazu Honda <hiroh@chromium.org> --- src/libcamera/pipeline/ipu3/ipu3.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+)