libcamera: ipu3: Pass the BDS rectangle at IPA configure call

The IPU3 IPA will need the BDS configuration when the AWB/AGC algorithm
will be integrated.
In order to do that, the configure() interface needs to be modified.

Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Jean-Michel Hautbois
2021-03-16 16:40:23 +01:00
parent 3f6785963d
commit 79b48225ad
3 changed files with 6 additions and 4 deletions
+4 -2
View File
@@ -35,7 +35,8 @@ public:
int start() override { return 0; }
void stop() override {}
void configure(const std::map<uint32_t, ControlInfoMap> &entityControls) override;
void configure(const std::map<uint32_t, ControlInfoMap> &entityControls,
const Size &bdsOutputSize) override;
void mapBuffers(const std::vector<IPABuffer> &buffers) override;
void unmapBuffers(const std::vector<unsigned int> &ids) override;
@@ -62,7 +63,8 @@ private:
uint32_t maxGain_;
};
void IPAIPU3::configure(const std::map<uint32_t, ControlInfoMap> &entityControls)
void IPAIPU3::configure(const std::map<uint32_t, ControlInfoMap> &entityControls,
[[maybe_unused]] const Size &bdsOutputSize)
{
if (entityControls.empty())
return;
+1 -1
View File
@@ -635,7 +635,7 @@ int PipelineHandlerIPU3::configure(Camera *camera, CameraConfiguration *c)
std::map<uint32_t, ControlInfoMap> entityControls;
entityControls.emplace(0, data->cio2_.sensor()->controls());
data->ipa_->configure(entityControls);
data->ipa_->configure(entityControls, config->imguConfig().bds);
return 0;
}