diff --git a/include/libcamera/internal/software_isp/debayer_params.h b/include/libcamera/internal/software_isp/debayer_params.h
index 256c7d43..4252cd2d 100644
--- a/include/libcamera/internal/software_isp/debayer_params.h
+++ b/include/libcamera/internal/software_isp/debayer_params.h
@@ -30,6 +30,8 @@ struct DebayerParams {
 	using LookupTable = std::array<uint8_t, kRGBLookupSize>;
 	using CcmLookupTable = std::array<CcmColumn, kRGBLookupSize>;
 
+	using LscLookupTable = uint8_t[16*16];
+
 	/*
 	 * Color lookup tables when CCM is not used.
 	 *
@@ -53,6 +55,10 @@ struct DebayerParams {
 	CcmLookupTable blueCcm;
 	LookupTable gammaLut;
 
+	LscLookupTable LSC_red;
+	LscLookupTable LSC_green;
+	LscLookupTable LSC_blue;
+
 	/*
 	 * Per frame corrections as calculated by the IPA
 	 */
diff --git a/src/libcamera/software_isp/debayer.cpp b/src/libcamera/software_isp/debayer.cpp
index 65a1762d..7a8b3462 100644
--- a/src/libcamera/software_isp/debayer.cpp
+++ b/src/libcamera/software_isp/debayer.cpp
@@ -65,6 +65,11 @@ namespace libcamera {
  * \brief Type of the CCM lookup tables for red, green, blue values
  */
 
+/**
+ * \typedef DebayerParams::LscLookupTable
+ * \brief Type of the LSC lookup tables
+ */
+
 /**
  * \var DebayerParams::red
  * \brief Lookup table for red color, mapping input values to output values
@@ -120,6 +125,19 @@ namespace libcamera {
  * \brief Contrast value for GPUISP
  */
 
+/**
+ * \var DebayerParams::LSC_red
+ * \brief Per frame Lens shading correction red channel
+ */
+/**
+ * \var DebayerParams::LSC_green
+ * \brief Per frame Lens shading correction red channel
+ */
+/**
+ * \var DebayerParams::LSC_blue
+ * \brief Per frame Lens shading correction red channel
+ */
+
 /**
  * \class Debayer
  * \brief Base debayering class
