Queuing of request (i.e. passing of controls to the IPA) and filling of the parameters buffer are two separate operations. Treat them as such by splitting them into two functions in the rkisp1 IPA interface. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
37 lines
1.0 KiB
Plaintext
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, 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);
|
|
};
|