mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-13 07:19:45 +03:00
libcamera: software_isp: Call Algorithm::prepare
This patch adds Algorithm::prepare call for the defined algorithms. This is preparation only since there are currently no Algorithm based algorithms defined. Signed-off-by: Milan Zamazal <mzamazal@redhat.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Daniel Scally <dan.scally@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
04d171e6b2
commit
2dc696be21
3 changed files with 10 additions and 0 deletions
|
@ -24,6 +24,7 @@ interface IPASoftInterface {
|
|||
=> (int32 ret);
|
||||
|
||||
[async] queueRequest(uint32 frame, libcamera.ControlList sensorControls);
|
||||
[async] fillParamsBuffer(uint32 frame);
|
||||
[async] processStats(uint32 frame,
|
||||
uint32 bufferId,
|
||||
libcamera.ControlList sensorControls);
|
||||
|
|
|
@ -79,6 +79,7 @@ public:
|
|||
void stop() override;
|
||||
|
||||
void queueRequest(const uint32_t frame, const ControlList &controls) override;
|
||||
void fillParamsBuffer(const uint32_t frame) override;
|
||||
void processStats(const uint32_t frame, const uint32_t bufferId,
|
||||
const ControlList &sensorControls) override;
|
||||
|
||||
|
@ -279,6 +280,13 @@ void IPASoftSimple::queueRequest(const uint32_t frame, const ControlList &contro
|
|||
algo->queueRequest(context_, frame, frameContext, controls);
|
||||
}
|
||||
|
||||
void IPASoftSimple::fillParamsBuffer(const uint32_t frame)
|
||||
{
|
||||
IPAFrameContext &frameContext = context_.frameContexts.get(frame);
|
||||
for (auto const &algo : algorithms())
|
||||
algo->prepare(context_, frame, frameContext, params_);
|
||||
}
|
||||
|
||||
void IPASoftSimple::processStats([[maybe_unused]] const uint32_t frame,
|
||||
[[maybe_unused]] const uint32_t bufferId,
|
||||
const ControlList &sensorControls)
|
||||
|
|
|
@ -351,6 +351,7 @@ void SoftwareIsp::stop()
|
|||
*/
|
||||
void SoftwareIsp::process(uint32_t frame, FrameBuffer *input, FrameBuffer *output)
|
||||
{
|
||||
ipa_->fillParamsBuffer(frame);
|
||||
debayer_->invokeMethod(&DebayerCpu::process,
|
||||
ConnectionTypeQueued, frame, input, output, debayerParams_);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue