ipa: ipu3: Introduce IPAConfigInfo in IPC

IPAConfigInfo is a consolidated data structure passed from IPU3
pipeline-handler to IPU3 IPA. The structure can be extended with
additional parameters to accommodate the requirements of multiple
IPU3 IPA modules.

Adapt the in-tree IPU3 IPA to use IPAConfigInfo as well.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Jacopo Mondi <jacopo@jmondi.org>
Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
Umang Jain 2021-05-24 14:50:22 +05:30 committed by Laurent Pinchart
parent 231d93557d
commit c76ca01323
3 changed files with 21 additions and 13 deletions

View file

@ -30,13 +30,19 @@ struct IPU3Action {
libcamera.ControlList controls;
};
struct IPAConfigInfo {
libcamera.IPACameraSensorInfo sensorInfo;
map<uint32, ControlInfoMap> entityControls;
libcamera.Size bdsOutputSize;
libcamera.Size iif;
};
interface IPAIPU3Interface {
init(libcamera.IPASettings settings) => (int32 ret);
start() => (int32 ret);
stop();
configure(map<uint32, libcamera.ControlInfoMap> entityControls,
libcamera.Size bdsOutputSize) => ();
configure(IPAConfigInfo configInfo) => ();
mapBuffers(array<libcamera.IPABuffer> buffers);
unmapBuffers(array<uint32> ids);