summaryrefslogtreecommitdiff
path: root/src/ipa/libipa
diff options
context:
space:
mode:
authorUmang Jain <umang.jain@ideasonboard.com>2022-05-17 22:12:33 +0530
committerKieran Bingham <kieran.bingham@ideasonboard.com>2022-05-18 15:27:32 +0100
commit8b291bce82f7cc8307e8ef55ff20e3f41462fa3f (patch)
tree342247f930b0b5544c536cfa6d12ae02d262c63a /src/ipa/libipa
parentbab437df1fb02046fc8dfd4bb5457e0b60ce3213 (diff)
ipa: libipa: Add frame context pointer in process()
Currently we have a single structure of IPAFrameContext but subsequently, we shall have a ring buffer (or similar) container to keep IPAFrameContext structures for each frame. It would be a hassle to query out the frame context required for process() (since they will reside in a ring buffer) by the IPA for each process. Hence, prepare the process() libipa template to accept a particular IPAFrameContext early on. As for this patch, we shall pass in the pointer as nullptr, so that the changes compile and keep working as-is. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Jacopo Mondi <jacopo@jmondi.org> Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Diffstat (limited to 'src/ipa/libipa')
-rw-r--r--src/ipa/libipa/algorithm.cpp1
-rw-r--r--src/ipa/libipa/algorithm.h4
2 files changed, 4 insertions, 1 deletions
diff --git a/src/ipa/libipa/algorithm.cpp b/src/ipa/libipa/algorithm.cpp
index 398d5372..cce2ed62 100644
--- a/src/ipa/libipa/algorithm.cpp
+++ b/src/ipa/libipa/algorithm.cpp
@@ -64,6 +64,7 @@ namespace ipa {
* \fn Algorithm::process()
* \brief Process ISP statistics, and run algorithm operations
* \param[in] context The shared IPA context
+ * \param[in] frameContext The current frame's context
* \param[in] stats The IPA statistics and ISP results
*
* This function is called while camera is running for every frame processed by
diff --git a/src/ipa/libipa/algorithm.h b/src/ipa/libipa/algorithm.h
index 766aee5d..032a05b5 100644
--- a/src/ipa/libipa/algorithm.h
+++ b/src/ipa/libipa/algorithm.h
@@ -10,7 +10,8 @@ namespace libcamera {
namespace ipa {
-template<typename Context, typename Config, typename Params, typename Stats>
+template<typename Context, typename FrameContext, typename Config,
+ typename Params, typename Stats>
class Algorithm
{
public:
@@ -28,6 +29,7 @@ public:
}
virtual void process([[maybe_unused]] Context &context,
+ [[maybe_unused]] FrameContext *frameContext,
[[maybe_unused]] const Stats *stats)
{
}