summaryrefslogtreecommitdiff
path: root/src/ipa/rkisp1/ipa_context.h
diff options
context:
space:
mode:
authorJean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>2022-02-24 15:39:50 +0100
committerJean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>2022-03-28 12:31:37 +0200
commit4b2251509f1543d018fea577e7e2760bb913ee86 (patch)
tree8f6572579fbd2be8823b6c3fc2ac9a25b2c612ee /src/ipa/rkisp1/ipa_context.h
parent8917c9e7ba642285ae33a7b9cee9cb4a22c76482 (diff)
ipa: rkisp1: Introduce AWB
The RkISP1 ISP calculates a mean value for Y, Cr and Cb at each frame. There is a RGB mode which could theoretically give us the values for R, G and B directly, but it seems to be failing right now. Convert those values into R, G and B and estimate the gain to apply in a grey world. Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Tested-by: Peter Griffin <peter.griffin@linaro.org> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'src/ipa/rkisp1/ipa_context.h')
-rw-r--r--src/ipa/rkisp1/ipa_context.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/ipa/rkisp1/ipa_context.h b/src/ipa/rkisp1/ipa_context.h
index 35e9b8e5..f387cace 100644
--- a/src/ipa/rkisp1/ipa_context.h
+++ b/src/ipa/rkisp1/ipa_context.h
@@ -12,6 +12,8 @@
#include <libcamera/base/utils.h>
+#include <libcamera/geometry.h>
+
namespace libcamera {
namespace ipa::rkisp1 {
@@ -26,6 +28,10 @@ struct IPASessionConfiguration {
} agc;
struct {
+ struct rkisp1_cif_isp_window measureWindow;
+ } awb;
+
+ struct {
utils::Duration lineDuration;
} sensor;
@@ -41,6 +47,16 @@ struct IPAFrameContext {
} agc;
struct {
+ struct {
+ double red;
+ double green;
+ double blue;
+ } gains;
+
+ double temperatureK;
+ } awb;
+
+ struct {
uint32_t exposure;
double gain;
} sensor;