mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-25 17:45:06 +03:00
libcamera: ipu3: Initialize controls in the IPA
All the IPU3 Camera controls are currently initialized by the pipeline handler which initializes them using the camera sensor configuration and platform specific requirements. However, some controls are better initialized by the IPA, which might, in example, cap the exposure times and frame duration to the constraints of its algorithms implementation. Also, moving forward, the IPA should register controls to report its capabilities, in example the ability to enable/disable 3A algorithms on request. Move the existing controls initialization to the IPA, by providing the sensor configuration and its controls to the IPU3IPA::init() function, which initializes controls and returns them to the pipeline through an output parameter. The existing controls initialization has been copied verbatim from the pipeline handler to the IPA, if not a for few line breaks adjustments and the resulting Camera controls values are not changed. Signed-off-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
This commit is contained in:
parent
62c82ab93f
commit
11fe4333c5
3 changed files with 114 additions and 58 deletions
|
@ -38,7 +38,10 @@ struct IPAConfigInfo {
|
|||
};
|
||||
|
||||
interface IPAIPU3Interface {
|
||||
init(libcamera.IPASettings settings) => (int32 ret);
|
||||
init(libcamera.IPASettings settings,
|
||||
libcamera.IPACameraSensorInfo sensorInfo,
|
||||
libcamera.ControlInfoMap sensorControls)
|
||||
=> (int32 ret, libcamera.ControlInfoMap ipaControls);
|
||||
start() => (int32 ret);
|
||||
stop();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue