summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNaushir Patuck <naush@raspberrypi.com>2022-11-15 09:07:54 +0000
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2022-11-29 17:16:52 +0200
commit546154b134338c4261885796f95d802c1f65520e (patch)
treee3650d44816629e955f86c5cdd1a2cd5c462e951 /include
parent44cffefd60822181851efbd8b1372988787b8119 (diff)
pipeline: ipa: raspberrypi: Use IPA cookies
Pass an IPA cookie from the pipeline handler to the IPA and eventually back to the pipeline handler through the setDelayedControls signal. This cookie is used to index the RPiController::Metadata object to be used for the frame. The IPA cookie is then returned from DelayedControls when the frame with the applied controls has been returned from the sensor, and eventually passed back to the IPA from the signalIspPrepare signal. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Tested-by: David Plowman <david.plowman@raspberrypi.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'include')
-rw-r--r--include/libcamera/ipa/raspberrypi.mojom6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/libcamera/ipa/raspberrypi.mojom b/include/libcamera/ipa/raspberrypi.mojom
index d53644fe..189f978a 100644
--- a/include/libcamera/ipa/raspberrypi.mojom
+++ b/include/libcamera/ipa/raspberrypi.mojom
@@ -29,6 +29,8 @@ struct ISPConfig {
uint32 bayerBufferId;
bool embeddedBufferPresent;
libcamera.ControlList controls;
+ uint32 ipaContext;
+ uint32 delayContext;
};
struct IPAConfig {
@@ -119,7 +121,7 @@ interface IPARPiInterface {
*/
unmapBuffers(array<uint32> ids);
- [async] signalStatReady(uint32 bufferId);
+ [async] signalStatReady(uint32 bufferId, uint32 ipaContext);
[async] signalQueueRequest(libcamera.ControlList controls);
[async] signalIspPrepare(ISPConfig data);
};
@@ -129,5 +131,5 @@ interface IPARPiEventInterface {
runIsp(uint32 bufferId);
embeddedComplete(uint32 bufferId);
setIspControls(libcamera.ControlList controls);
- setDelayedControls(libcamera.ControlList controls);
+ setDelayedControls(libcamera.ControlList controls, uint32 delayContext);
};