[libcamera-devel] [PATCH v7 5/5] ipu3: ipa: Allow IPA to apply controls to the lens device
Umang Jain
umang.jain at ideasonboard.com
Thu Dec 2 18:26:10 CET 2021
Hi,
On 12/2/21 7:33 PM, Han-Lin Chen wrote:
> Allow IPA to apply controls to the lens device.
>
> Signed-off-by: Han-Lin Chen <hanlinchen at chromium.org>
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain at ideasonboard.com>
> ---
> src/libcamera/pipeline/ipu3/ipu3.cpp | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp
> index c65afdb2..d26c8a2e 100644
> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp
> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp
> @@ -24,6 +24,7 @@
> #include <libcamera/stream.h>
>
> #include "libcamera/internal/camera.h"
> +#include "libcamera/internal/camera_lens.h"
> #include "libcamera/internal/camera_sensor.h"
> #include "libcamera/internal/delayed_controls.h"
> #include "libcamera/internal/device_enumerator.h"
> @@ -1238,8 +1239,16 @@ void IPU3CameraData::queueFrameAction(unsigned int id,
> {
> switch (action.op) {
> case ipa::ipu3::ActionSetSensorControls: {
> - const ControlList &controls = action.sensorControls;
> - delayedCtrls_->push(controls);
> + const ControlList &sensorControls = action.sensorControls;
> + delayedCtrls_->push(sensorControls);
> +
> + const ControlList lensControls = action.lensControls;
> + const ControlValue &focusValue =
> + lensControls.get(V4L2_CID_FOCUS_ABSOLUTE);
> +
> + CameraLens *lens = cio2_.sensor()->lens();
> + if (lens && !focusValue.isNone())
> + lens->setFocusPostion(focusValue.get<int32_t>());
> break;
> }
> case ipa::ipu3::ActionParamFilled: {
More information about the libcamera-devel
mailing list