Files
external_libcamera/include/libcamera/ipa/rkisp1.mojom
Umang Jain c7d4599565 ipa: rkisp1: Replace event-based ops with dedicated functions
The IPARkISP1Interface currently uses event-type based structures in
order to communicate with the pipeline-handler (and vice-versa).
Replace the event based structures with dedicated functions associated
to each operation.

The translated naming scheme of operations to dedicated functions:
  ActionV4L2Set         => setSensorControls
  ActionParamFilled     => paramsBufferReady
  ActionMetadata        => metdataReady
  EventSignalStatBuffer => processStatsBuffer()
  EventQueueRequest     => queueRequest()

The lexical of IPARkISP1::metadataReady() will now conflict with the
metadataReady Signal being introduced in this patch as part of the
interface change. Hence, rename IPARkISP1::metadataReady() to
IPARkISP1::prepareReady() to prevent the conflict.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Tested-by: Paul Elder <paul.elder@ideasonboard.com>
2022-03-23 21:53:42 +05:30

37 lines
1.0 KiB
Plaintext

/* 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";
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] queueRequest(uint32 frame, uint32 bufferId,
libcamera.ControlList reqControls);
[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);
};