Files
external_libcamera/include/libcamera/ipa/ipu3.mojom
Han-Lin Chen 95937ff189 ipa: ipu3: Extend ipu3 ipa interface for lens controls
IPU3Event and IPU3Action use two fields for both libcamera controls and sensor
V4L2 controls. The patch extend one more field for lens V4L2 controls
for auto focus usage.

Signed-off-by: Han-Lin Chen <hanlinchen@chromium.org>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2021-12-03 10:23:26 +00:00

64 lines
1.4 KiB
Plaintext

/* SPDX-License-Identifier: LGPL-2.1-or-later */
/*
* \todo Document the interface and remove the related EXCLUDE_PATTERNS entry.
*/
module ipa.ipu3;
import "include/libcamera/ipa/core.mojom";
enum IPU3Operations {
ActionSetSensorControls = 1,
ActionParamFilled = 2,
ActionMetadataReady = 3,
EventProcessControls = 4,
EventStatReady = 5,
EventFillParams = 6,
};
struct IPU3Event {
IPU3Operations op;
uint32 frame;
int64 frameTimestamp;
uint32 bufferId;
libcamera.ControlList controls;
libcamera.ControlList sensorControls;
libcamera.ControlList lensControls;
};
struct IPU3Action {
IPU3Operations op;
libcamera.ControlList controls;
libcamera.ControlList sensorControls;
libcamera.ControlList lensControls;
};
struct IPAConfigInfo {
libcamera.IPACameraSensorInfo sensorInfo;
libcamera.ControlInfoMap sensorControls;
libcamera.Size bdsOutputSize;
libcamera.Size iif;
};
interface IPAIPU3Interface {
init(libcamera.IPASettings settings,
libcamera.IPACameraSensorInfo sensorInfo,
libcamera.ControlInfoMap sensorControls)
=> (int32 ret, libcamera.ControlInfoMap ipaControls);
start() => (int32 ret);
stop();
configure(IPAConfigInfo configInfo)
=> (int32 ret, libcamera.ControlInfoMap ipaControls);
mapBuffers(array<libcamera.IPABuffer> buffers);
unmapBuffers(array<uint32> ids);
[async] processEvent(IPU3Event ev);
};
interface IPAIPU3EventInterface {
queueFrameAction(uint32 frame, IPU3Action action);
};