ipa: ipu3: Pass controls to algorithm's queueRequest() handler
Call the Algorithm::queueRequest() function of all algorithms when a request is queued, to pass the request controls to the algorithms. We can now drop the copy of the control list stored in IPAFrameContext as it isn't used anymore. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
This commit is contained in:
@@ -168,9 +168,6 @@ namespace libcamera::ipa::ipu3 {
|
||||
* \struct IPAFrameContext
|
||||
* \brief IPU3-specific FrameContext
|
||||
*
|
||||
* \var IPAFrameContext::frameControls
|
||||
* \brief Controls sent in by the application while queuing the request
|
||||
*
|
||||
* \var IPAFrameContext::sensor
|
||||
* \brief Effective sensor values that were applied for the frame
|
||||
*
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
|
||||
#include <libcamera/base/utils.h>
|
||||
|
||||
#include <libcamera/controls.h>
|
||||
#include <libcamera/geometry.h>
|
||||
|
||||
#include <libipa/fc_queue.h>
|
||||
@@ -78,8 +77,6 @@ struct IPAFrameContext : public FrameContext {
|
||||
uint32_t exposure;
|
||||
double gain;
|
||||
} sensor;
|
||||
|
||||
ControlList frameControls;
|
||||
};
|
||||
|
||||
struct IPAContext {
|
||||
|
||||
@@ -663,11 +663,10 @@ void IPAIPU3::processStatsBuffer(const uint32_t frame,
|
||||
*/
|
||||
void IPAIPU3::queueRequest(const uint32_t frame, const ControlList &controls)
|
||||
{
|
||||
/* \todo Start processing for 'frame' based on 'controls'. */
|
||||
IPAFrameContext &frameContext = context_.frameContexts.alloc(frame);
|
||||
|
||||
/* \todo Implement queueRequest to each algorithm. */
|
||||
frameContext.frameControls = controls;
|
||||
for (auto const &algo : algorithms())
|
||||
algo->queueRequest(context_, frame, frameContext, controls);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user