summaryrefslogtreecommitdiff
path: root/src/libcamera/pipeline/rkisp1
diff options
context:
space:
mode:
authorJean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>2021-11-18 15:19:28 +0100
committerJean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>2021-11-29 20:41:37 +0100
commit431749b399dd689890300b6cbc9b6305801bfd1b (patch)
treefaff122b200f4440b013bd6224accc57cc1f5083 /src/libcamera/pipeline/rkisp1
parent55c07ed4db5e68752a2bd7f5a19f5999d3b058d3 (diff)
ipa: rkisp1: Report and use sensor controls
The pipeline handler populates a new sensorControls ControlList, to have the effective exposure and gain values for the current frame. This is done when a statistics buffer is received. Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/libcamera/pipeline/rkisp1')
-rw-r--r--src/libcamera/pipeline/rkisp1/rkisp1.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
index 6cdc4c03..36ef6a02 100644
--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp
+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp
@@ -333,7 +333,7 @@ void RkISP1CameraData::queueFrameAction(unsigned int frame,
{
switch (action.op) {
case ipa::rkisp1::ActionV4L2Set: {
- const ControlList &controls = action.controls;
+ const ControlList &controls = action.sensorControls;
delayedCtrls_->push(controls);
break;
}
@@ -1124,6 +1124,7 @@ void PipelineHandlerRkISP1::statReady(FrameBuffer *buffer)
ev.op = ipa::rkisp1::EventSignalStatBuffer;
ev.frame = info->frame;
ev.bufferId = info->statBuffer->cookie();
+ ev.sensorControls = data->delayedCtrls_->get(buffer->metadata().sequence);
data->ipa_->processEvent(ev);
}