From fb8ad13dc3e38a1bb056c209f692af53588c7b84 Mon Sep 17 00:00:00 2001 From: Milan Zamazal Date: Fri, 27 Sep 2024 15:46:23 +0200 Subject: libcamera: software_isp: Move exposure+gain to an algorithm module This is the last step to fully convert software ISP to Algorithm-based processing. The newly introduced frameContext.sensor parameters are set, and the updated code moved, before calling Algorithm::process() to have the values up-to-date in stats processing. Resolves software ISP TODO #10. Signed-off-by: Milan Zamazal Reviewed-by: Kieran Bingham Reviewed-by: Umang Jain Signed-off-by: Kieran Bingham --- src/ipa/simple/ipa_context.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/ipa/simple/ipa_context.h') diff --git a/src/ipa/simple/ipa_context.h b/src/ipa/simple/ipa_context.h index cf1ef3fd..3519f20f 100644 --- a/src/ipa/simple/ipa_context.h +++ b/src/ipa/simple/ipa_context.h @@ -18,6 +18,10 @@ namespace ipa::soft { struct IPASessionConfiguration { float gamma; + struct { + int32_t exposureMin, exposureMax; + double againMin, againMax, againMinStep; + } agc; }; struct IPAActiveState { @@ -31,6 +35,11 @@ struct IPAActiveState { double blue; } gains; + struct { + int32_t exposure; + double again; + } agc; + static constexpr unsigned int kGammaLookupSize = 1024; struct { std::array gammaTable; @@ -39,6 +48,10 @@ struct IPAActiveState { }; struct IPAFrameContext : public FrameContext { + struct { + uint32_t exposure; + double gain; + } sensor; }; struct IPAContext { -- cgit v1.2.1