mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-12 23:09:45 +03:00
libcamera: software_isp: Track whether CCM is enabled
Applying color correction matrix (CCM) in software ISP is optional due to performance reasons. CCM is applied if and only if `Ccm' algorithm is present in the tuning file. Software ISP debayering is a performance critical piece of code and we do not want to use dynamic conditionals there. Therefore we pass information about CCM application to debayering configuration and let it select the right versions of debayering functions using templates. This is a trick similar to the previously used one for adding or not adding an alpha channel to the output. Debayering gets this information but it ignores it in this patch. Actual processing with CCM is added in the followup patch. Signed-off-by: Milan Zamazal <mzamazal@redhat.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Milan Zamazal <mzamazal@redhat.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
This commit is contained in:
parent
0c53fe5f2f
commit
ac30686556
10 changed files with 60 additions and 36 deletions
|
@ -99,6 +99,7 @@ private:
|
|||
SharedMemObject<DebayerParams> sharedParams_;
|
||||
DebayerParams debayerParams_;
|
||||
DmaBufAllocator dmaHeap_;
|
||||
bool ccmEnabled_;
|
||||
|
||||
std::unique_ptr<ipa::soft::IPAProxySoft> ipa_;
|
||||
std::deque<FrameBuffer *> queuedInputBuffers_;
|
||||
|
|
|
@ -17,7 +17,7 @@ interface IPASoftInterface {
|
|||
libcamera.SharedFD fdStats,
|
||||
libcamera.SharedFD fdParams,
|
||||
libcamera.ControlInfoMap sensorCtrlInfoMap)
|
||||
=> (int32 ret, libcamera.ControlInfoMap ipaControls);
|
||||
=> (int32 ret, libcamera.ControlInfoMap ipaControls, bool ccmEnabled);
|
||||
start() => (int32 ret);
|
||||
stop();
|
||||
configure(IPAConfigInfo configInfo)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue