ipa: rkisp1: agc: Introduce prepare call
When a new parameter buffer needs to be queued, we need to specify which algorithm is activated or not in the ISP. Add a simple prepare function in AGC for that, which may later evolve to take the exposure locking into account. For that function to be called, we also need to add the loop on the algorithms in IPARkISP1::queueRequest. We no longer disable the AE algorithm based on the controls::AeEnable, which will be handled in a different manner later. Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
@@ -272,19 +272,13 @@ void IPARkISP1::processEvent(const RkISP1Event &event)
|
||||
}
|
||||
|
||||
void IPARkISP1::queueRequest(unsigned int frame, rkisp1_params_cfg *params,
|
||||
const ControlList &controls)
|
||||
[[maybe_unused]] const ControlList &controls)
|
||||
{
|
||||
/* Prepare parameters buffer. */
|
||||
memset(params, 0, sizeof(*params));
|
||||
|
||||
/* Auto Exposure on/off. */
|
||||
if (controls.contains(controls::AeEnable)) {
|
||||
autoExposure_ = controls.get(controls::AeEnable);
|
||||
if (autoExposure_)
|
||||
params->module_ens = RKISP1_CIF_ISP_MODULE_AEC;
|
||||
|
||||
params->module_en_update = RKISP1_CIF_ISP_MODULE_AEC;
|
||||
}
|
||||
for (auto const &algo : algorithms_)
|
||||
algo->prepare(context_, params);
|
||||
|
||||
RkISP1Action op;
|
||||
op.op = ActionParamFilled;
|
||||
|
||||
Reference in New Issue
Block a user