summaryrefslogtreecommitdiff
path: root/include/libcamera/ipa/ipu3.mojom
diff options
context:
space:
mode:
Diffstat (limited to 'include/libcamera/ipa/ipu3.mojom')
-rw-r--r--include/libcamera/ipa/ipu3.mojom43
1 files changed, 43 insertions, 0 deletions
diff --git a/include/libcamera/ipa/ipu3.mojom b/include/libcamera/ipa/ipu3.mojom
new file mode 100644
index 00000000..6ee11333
--- /dev/null
+++ b/include/libcamera/ipa/ipu3.mojom
@@ -0,0 +1,43 @@
+/* SPDX-License-Identifier: LGPL-2.1-or-later */
+
+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;
+ uint32 bufferId;
+ ControlList controls;
+};
+
+struct IPU3Action {
+ IPU3Operations op;
+ ControlList controls;
+};
+
+interface IPAIPU3Interface {
+ init(IPASettings settings) => (int32 ret);
+ start() => (int32 ret);
+ stop();
+
+ configure(map<uint32, ControlInfoMap> entityControls) => ();
+
+ mapBuffers(array<IPABuffer> buffers);
+ unmapBuffers(array<uint32> ids);
+
+ [async] processEvent(IPU3Event ev);
+};
+
+interface IPAIPU3EventInterface {
+ queueFrameAction(uint32 frame, IPU3Action action);
+};