@@ -10,6 +10,7 @@
#pragma once
+#include <array>
#include <stdint.h>
#include "libcamera/internal/matrix.h"
@@ -25,6 +26,10 @@ struct DebayerParams {
float gamma = 1.0;
float contrastExp = 1.0;
RGB<float> gains = RGB<float>({ 1.0, 1.0, 1.0 });
+
+ static constexpr unsigned int kLscGridSize = 16;
+ using LscLookupTable = std::array<uint8_t, 3 * kLscGridSize * kLscGridSize>;
+ LscLookupTable lscLut{};
};
} /* namespace libcamera */
@@ -49,6 +49,24 @@ namespace libcamera {
* \brief Contrast value to be used as an exponent
*/
+/**
+ * \var DebayerParams::kLscGridSize
+ * \brief Number of lens shading grid areas in one direction
+ */
+
+/**
+ * \typedef DebayerParams::LscLookupTable
+ * \brief Lookup table for lens shading correction
+ *
+ * It's an array of bytes to be later used as a texture.
+ * The bytes are in row - column - RGB order.
+ */
+
+/**
+ * \var DebayerParams::lscLut
+ * \brief Lens shading lookup table
+ */
+
/**
* \class Debayer
* \brief Base debayering class