summaryrefslogtreecommitdiff
path: root/src/ipa/ipu3/ipa_context.h
diff options
context:
space:
mode:
authorUmang Jain <umang.jain@ideasonboard.com>2022-05-06 15:23:06 +0530
committerKieran Bingham <kieran.bingham@ideasonboard.com>2022-05-18 15:27:32 +0100
commitbab437df1fb02046fc8dfd4bb5457e0b60ce3213 (patch)
tree6d64973e1a94cc9d40f05424588464fc46517a38 /src/ipa/ipu3/ipa_context.h
parente0766fa2051c4bcdd12a0b6a838be757018d103a (diff)
ipa: ipu3: Rework IPAFrameContext
Currently, IPAFrameContext consolidates the values computed by the active state of the algorithms, along with the values applied on the sensor. Moving ahead, we want to have a frame context associated with each incoming request (or frame to be captured). This shouldn't necessarily be tied to "active state" of the algorithms hence: - Rename current IPAFrameContext -> IPAActiveState This will now reflect the latest active state of the algorithms and has nothing to do with any frame-related ops/values. - Re-instate IPAFrameContext with a sub-structure 'sensor' currently storing the exposure and gain value. Adapt the various access to the frame context to the new changes as described above. Subsequently, the re-instated IPAFrameContext will be extended to contain a frame number and ControlList to remember the incoming request controls provided by the application. A ring-buffer will be introduced to store these frame contexts for a certain number of frames. 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/ipu3/ipa_context.h')
-rw-r--r--src/ipa/ipu3/ipa_context.h16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/ipa/ipu3/ipa_context.h b/src/ipa/ipu3/ipa_context.h
index 103498ef..8d681131 100644
--- a/src/ipa/ipu3/ipa_context.h
+++ b/src/ipa/ipu3/ipa_context.h
@@ -42,7 +42,7 @@ struct IPASessionConfiguration {
} sensor;
};
-struct IPAFrameContext {
+struct IPAActiveState {
struct {
uint32_t focus;
double maxVariance;
@@ -65,18 +65,22 @@ struct IPAFrameContext {
} awb;
struct {
- uint32_t exposure;
- double gain;
- } sensor;
-
- struct {
double gamma;
struct ipu3_uapi_gamma_corr_lut gammaCorrection;
} toneMapping;
};
+struct IPAFrameContext {
+ struct {
+ uint32_t exposure;
+ double gain;
+ } sensor;
+};
+
struct IPAContext {
IPASessionConfiguration configuration;
+ IPAActiveState activeState;
+
IPAFrameContext frameContext;
};