/* 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"; struct IPAConfigInfo { libcamera.IPACameraSensorInfo sensorInfo; libcamera.ControlInfoMap sensorControls; }; interface IPARkISP1Interface { init(libcamera.IPASettings settings, uint32 hwRevision) => (int32 ret, libcamera.ControlInfoMap ipaControls); start() => (int32 ret); stop(); configure(IPAConfigInfo configInfo, map streamConfig) => (int32 ret); mapBuffers(array buffers); unmapBuffers(array ids); [async] queueRequest(uint32 frame, libcamera.ControlList reqControls); [async] fillParamsBuffer(uint32 frame, uint32 bufferId); [async] processStatsBuffer(uint32 frame, uint32 bufferId, libcamera.ControlList sensorControls); }; interface IPARkISP1EventInterface { paramsBufferReady(uint32 frame); setSensorControls(uint32 frame, libcamera.ControlList sensorControls); metadataReady(uint32 frame, libcamera.ControlList metadata); };