| /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
| |
| /* |
| * \todo Document the interface and remove the related EXCLUDE_PATTERNS entry. |
| */ |
| |
| module ipa.rkisp1; |
| |
| import "include/libcamera/ipa/core.mojom"; |
| |
| enum RkISP1Operations { |
| ActionV4L2Set = 1, |
| ActionParamFilled = 2, |
| ActionMetadata = 3, |
| EventSignalStatBuffer = 4, |
| EventQueueRequest = 5, |
| }; |
| |
| struct RkISP1Event { |
| RkISP1Operations op; |
| uint32 frame; |
| uint32 bufferId; |
| libcamera.ControlList controls; |
| libcamera.ControlList sensorControls; |
| }; |
| |
| struct RkISP1Action { |
| RkISP1Operations op; |
| libcamera.ControlList controls; |
| libcamera.ControlList sensorControls; |
| }; |
| |
| interface IPARkISP1Interface { |
| init(libcamera.IPASettings settings, |
| uint32 hwRevision) |
| => (int32 ret); |
| start() => (int32 ret); |
| stop(); |
| |
| configure(libcamera.IPACameraSensorInfo sensorInfo, |
| map<uint32, libcamera.IPAStream> streamConfig, |
| map<uint32, libcamera.ControlInfoMap> entityControls) |
| => (int32 ret); |
| |
| mapBuffers(array<libcamera.IPABuffer> buffers); |
| unmapBuffers(array<uint32> ids); |
| |
| [async] processEvent(RkISP1Event ev); |
| }; |
| |
| interface IPARkISP1EventInterface { |
| queueFrameAction(uint32 frame, RkISP1Action action); |
| }; |