summaryrefslogtreecommitdiff
path: root/src/ipa/rpi/controller/rpi/ccm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipa/rpi/controller/rpi/ccm.cpp')
-rw-r--r--src/ipa/rpi/controller/rpi/ccm.cpp18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/ipa/rpi/controller/rpi/ccm.cpp b/src/ipa/rpi/controller/rpi/ccm.cpp
index aefa580c..7f63f3fd 100644
--- a/src/ipa/rpi/controller/rpi/ccm.cpp
+++ b/src/ipa/rpi/controller/rpi/ccm.cpp
@@ -29,17 +29,17 @@ LOG_DEFINE_CATEGORY(RPiCcm)
#define NAME "rpi.ccm"
-Matrix::Matrix()
+Matrix3x3::Matrix3x3()
{
memset(m, 0, sizeof(m));
}
-Matrix::Matrix(double m0, double m1, double m2, double m3, double m4, double m5,
+Matrix3x3::Matrix3x3(double m0, double m1, double m2, double m3, double m4, double m5,
double m6, double m7, double m8)
{
m[0][0] = m0, m[0][1] = m1, m[0][2] = m2, m[1][0] = m3, m[1][1] = m4,
m[1][2] = m5, m[2][0] = m6, m[2][1] = m7, m[2][2] = m8;
}
-int Matrix::read(const libcamera::YamlObject &params)
+int Matrix3x3::read(const libcamera::YamlObject &params)
{
double *ptr = (double *)m;
@@ -125,7 +125,7 @@ bool getLocked(Metadata *metadata, std::string const &tag, T &value)
return true;
}
-Matrix calculateCcm(std::vector<CtCcm> const &ccms, double ct)
+Matrix3x3 calculateCcm(std::vector<CtCcm> const &ccms, double ct)
{
if (ct <= ccms.front().ct)
return ccms.front().ccm;
@@ -141,13 +141,13 @@ Matrix calculateCcm(std::vector<CtCcm> const &ccms, double ct)
}
}
-Matrix applySaturation(Matrix const &ccm, double saturation)
+Matrix3x3 applySaturation(Matrix3x3 const &ccm, double saturation)
{
- Matrix RGB2Y(0.299, 0.587, 0.114, -0.169, -0.331, 0.500, 0.500, -0.419,
+ Matrix3x3 RGB2Y(0.299, 0.587, 0.114, -0.169, -0.331, 0.500, 0.500, -0.419,
-0.081);
- Matrix Y2RGB(1.000, 0.000, 1.402, 1.000, -0.345, -0.714, 1.000, 1.771,
+ Matrix3x3 Y2RGB(1.000, 0.000, 1.402, 1.000, -0.345, -0.714, 1.000, 1.771,
0.000);
- Matrix S(1, 0, 0, 0, saturation, 0, 0, 0, saturation);
+ Matrix3x3 S(1, 0, 0, 0, saturation, 0, 0, 0, saturation);
return Y2RGB * S * RGB2Y * ccm;
}
@@ -170,7 +170,7 @@ void Ccm::prepare(Metadata *imageMetadata)
LOG(RPiCcm, Warning) << "no colour temperature found";
if (!luxOk)
LOG(RPiCcm, Warning) << "no lux value found";
- Matrix ccm = calculateCcm(config_.ccms, awb.temperatureK);
+ Matrix3x3 ccm = calculateCcm(config_.ccms, awb.temperatureK);
double saturation = saturation_;
struct CcmStatus ccmStatus;
ccmStatus.saturation = saturation;