pipeline: ipa: raspberrypi: Replace entityControls

Replace the legacy entityControls map passed into ipa::configure() with explicit
fields for sensor and ISP controls. This removes any ambiguity over which set of
controls corresponds with specific integer keys.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Naushir Patuck 2023-01-23 15:49:23 +00:00 committed by Kieran Bingham
parent d70c38dca8
commit c204a67bae
3 changed files with 9 additions and 19 deletions

View file

@ -119,9 +119,7 @@ public:
void start(const ControlList &controls, StartConfig *startConfig) override;
void stop() override {}
int configure(const IPACameraSensorInfo &sensorInfo,
const std::map<unsigned int, ControlInfoMap> &entityControls,
const IPAConfig &data,
int configure(const IPACameraSensorInfo &sensorInfo, const IPAConfig &data,
ControlList *controls, IPAConfigResult *result) override;
void mapBuffers(const std::vector<IPABuffer> &buffers) override;
void unmapBuffers(const std::vector<unsigned int> &ids) override;
@ -380,18 +378,11 @@ void IPARPi::setMode(const IPACameraSensorInfo &sensorInfo)
mode_.sensitivity = helper_->getModeSensitivity(mode_);
}
int IPARPi::configure(const IPACameraSensorInfo &sensorInfo,
const std::map<unsigned int, ControlInfoMap> &entityControls,
const IPAConfig &ipaConfig,
int IPARPi::configure(const IPACameraSensorInfo &sensorInfo, const IPAConfig &ipaConfig,
ControlList *controls, IPAConfigResult *result)
{
if (entityControls.size() != 2) {
LOG(IPARPI, Error) << "No ISP or sensor controls found.";
return -1;
}
sensorCtrls_ = entityControls.at(0);
ispCtrls_ = entityControls.at(1);
sensorCtrls_ = ipaConfig.sensorControls;
ispCtrls_ = ipaConfig.ispControls;
if (!validateSensorControls()) {
LOG(IPARPI, Error) << "Sensor control validation failed.";