@@ -13,6 +13,8 @@
#include <array>
#include <stdint.h>
+#include "libcamera/internal/matrix.h"
+
namespace libcamera {
struct DebayerParams {
@@ -49,6 +51,11 @@ struct DebayerParams {
CcmLookupTable greenCcm;
CcmLookupTable blueCcm;
LookupTable gammaLut;
+
+ /*
+ * Per frame CCM values as calcualted by the IPA
+ */
+ Matrix<float, 3, 3> ccm; /**< Per frame colour correction matrix for GPUISP */
};
} /* namespace libcamera */
@@ -133,6 +133,7 @@ void Lut::prepare(IPAContext &context,
auto &red = params->redCcm;
auto &green = params->greenCcm;
auto &blue = params->blueCcm;
+ params->ccm = ccm;
for (unsigned int i = 0; i < DebayerParams::kRGBLookupSize; i++) {
red[i].r = ccmValue(i, ccm[0][0]);
red[i].g = ccmValue(i, ccm[1][0]);
Provide the CCM calculated in LUT to the debayer params structure for consumption in the debayer shaders. Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> --- include/libcamera/internal/software_isp/debayer_params.h | 7 +++++++ src/ipa/simple/algorithms/lut.cpp | 1 + 2 files changed, 8 insertions(+)