ipa: rpi: Provide the camera helper with the hardware configuration

Add a CamHelper::setHwConfig() helper used by the IPA to set the
hardware configuration in use by the pipeline. This will be needed by
the IMX500 camera helper in a future commit to determine if the
metadata buffer is strided.

Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: David Plowman <david.plowman@raspberrypi.com>
Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
Naushir Patuck 2025-01-08 11:09:36 +00:00 committed by Kieran Bingham
parent cd3dfa1f03
commit 18c9ff46ef
3 changed files with 8 additions and 0 deletions

View file

@ -156,6 +156,11 @@ void CamHelper::setCameraMode(const CameraMode &mode)
} }
} }
void CamHelper::setHwConfig(const Controller::HardwareConfig &hwConfig)
{
hwConfig_ = hwConfig;
}
bool CamHelper::sensorEmbeddedDataPresent() const bool CamHelper::sensorEmbeddedDataPresent() const
{ {
return false; return false;

View file

@ -71,6 +71,7 @@ public:
CamHelper(std::unique_ptr<MdParser> parser, unsigned int frameIntegrationDiff); CamHelper(std::unique_ptr<MdParser> parser, unsigned int frameIntegrationDiff);
virtual ~CamHelper(); virtual ~CamHelper();
void setCameraMode(const CameraMode &mode); void setCameraMode(const CameraMode &mode);
void setHwConfig(const Controller::HardwareConfig &hwConfig);
virtual void prepare(libcamera::Span<const uint8_t> buffer, virtual void prepare(libcamera::Span<const uint8_t> buffer,
Metadata &metadata); Metadata &metadata);
virtual void process(StatisticsPtr &stats, Metadata &metadata); virtual void process(StatisticsPtr &stats, Metadata &metadata);
@ -101,6 +102,7 @@ protected:
std::unique_ptr<MdParser> parser_; std::unique_ptr<MdParser> parser_;
CameraMode mode_; CameraMode mode_;
Controller::HardwareConfig hwConfig_;
private: private:
/* /*

View file

@ -151,6 +151,7 @@ int32_t IpaBase::init(const IPASettings &settings, const InitParams &params, Ini
lensPresent_ = params.lensPresent; lensPresent_ = params.lensPresent;
controller_.initialise(); controller_.initialise();
helper_->setHwConfig(controller_.getHardwareConfig());
/* Return the controls handled by the IPA */ /* Return the controls handled by the IPA */
ControlInfoMap::Map ctrlMap = ipaControls; ControlInfoMap::Map ctrlMap = ipaControls;