diff options
author | Milan Zamazal <mzamazal@redhat.com> | 2024-09-27 15:46:23 +0200 |
---|---|---|
committer | Kieran Bingham <kieran.bingham@ideasonboard.com> | 2024-09-27 15:01:57 +0100 |
commit | fb8ad13dc3e38a1bb056c209f692af53588c7b84 (patch) | |
tree | 48b94e98c2b932cb711a2b7bc9177e7725fe767a /src/ipa/simple/ipa_context.h | |
parent | 54fb3bba81e6ac79e5ac5881e33be4baf96cf6f3 (diff) |
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 <mzamazal@redhat.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/ipa/simple/ipa_context.h')
-rw-r--r-- | src/ipa/simple/ipa_context.h | 13 |
1 files changed, 13 insertions, 0 deletions
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<double, kGammaLookupSize> gammaTable; @@ -39,6 +48,10 @@ struct IPAActiveState { }; struct IPAFrameContext : public FrameContext { + struct { + uint32_t exposure; + double gain; + } sensor; }; struct IPAContext { |