summaryrefslogtreecommitdiff
path: root/src/ipa/rkisp1
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo.mondi@ideasonboard.com>2024-10-16 11:42:31 +0200
committerJacopo Mondi <jacopo.mondi@ideasonboard.com>2024-10-30 15:48:18 +0100
commit38eee6c0ad64abf554235460d55d85a3be74ae9f (patch)
tree15df82e572872d0e42868647eb6b2db295facff3 /src/ipa/rkisp1
parentff069d87e263cd41f9d5d74774609c8b0ecbcb2a (diff)
libipa: FrameContext: Move init() to FrameContext
The FCtQueue structure initializes a new FrameContext using its init() function. In case of request underrun, where a FrameContext is initialized without application's controls being supplied, the FrameContext needs to be initialized to default values. In order to allow the single IPAs to initialize a FrameContext to the desired default values, move the init() function to the FrameContext structure, which each IPA derives to a per-IPA type. In this way each IPA can override the FrameContext::init() function and initialize the FrameContext to the desired default values. Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>
Diffstat (limited to 'src/ipa/rkisp1')
-rw-r--r--src/ipa/rkisp1/ipa_context.cpp5
-rw-r--r--src/ipa/rkisp1/ipa_context.h2
2 files changed, 7 insertions, 0 deletions
diff --git a/src/ipa/rkisp1/ipa_context.cpp b/src/ipa/rkisp1/ipa_context.cpp
index 14d0c02a..4e4fe5f4 100644
--- a/src/ipa/rkisp1/ipa_context.cpp
+++ b/src/ipa/rkisp1/ipa_context.cpp
@@ -417,6 +417,11 @@ namespace libcamera::ipa::rkisp1 {
* \brief Analogue gain multiplier
*/
+void IPAFrameContext::init(const uint32_t frameNum)
+{
+ FrameContext::init(frameNum);
+}
+
/**
* \struct IPAContext
* \brief Global IPA context data shared between all algorithms
diff --git a/src/ipa/rkisp1/ipa_context.h b/src/ipa/rkisp1/ipa_context.h
index e274d9b0..51e04bc3 100644
--- a/src/ipa/rkisp1/ipa_context.h
+++ b/src/ipa/rkisp1/ipa_context.h
@@ -177,6 +177,8 @@ struct IPAFrameContext : public FrameContext {
struct {
Matrix<float, 3, 3> ccm;
} ccm;
+
+ void init(const uint32_t frame) override;
};
struct IPAContext {