blob: c3a6d8e114b07162f34cd00c1efe06e17d447534 [file] [log] [blame]
/* 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);
};