Currently the pipeline handler advertises controls handled by the IPA from a ControlInfoMap it manually constructs. This is wrong, as the IPA module is the component that knows what controls it supports. Fix this by moving the ControlInfoMap construction to the IPA module, and pass it to the pipeline handler as a return value from the IPA init() function. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Florian Sylvestre <fsylvestre@baylibre.com>
37 lines
1.1 KiB
Plaintext
37 lines
1.1 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, libcamera.ControlInfoMap ipaControls);
|
|
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);
|
|
};
|