diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp
index fe4895621f66f3eb47e00d1209f8ed5b4d1a72f5..60ee1bc90d77bac2bfa534f62c3e9077086f7999 100644
--- a/source/App/EncoderApp/EncAppCfg.cpp
+++ b/source/App/EncoderApp/EncAppCfg.cpp
@@ -1616,7 +1616,7 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] )
   ("DebugCTU",                                        m_debugCTU,                                  -1, "If DebugBitstream is present, load frames up to this POC from this bitstream. Starting with DebugPOC-frame at CTUline containin debug CTU.")
   ("AlfTrueOrg",                                      m_alfTrueOrg,                              true, "Using true original samples for ALF optimization when MCTF is enabled\n")
   ( "ALF",                                             m_alf,                                    true, "Adaptive Loop Filter\n" )
-  ("MaxNumALFAPS",                                    m_maxNumAlfAps,                           8, "Maximum number of ALF APSs" )
+  ("MaxNumALFAPS",                                    m_maxNumAlfAps,             ALF_CTB_MAX_NUM_APS, "Maximum number of ALF APSs" )
   ("ConstantJointCbCrSignFlag",                       m_constantJointCbCrSignFlag,              0, "Constant JointCbCr sign flag" )
   ("ALFStrengthLuma",                                  m_alfStrengthLuma,                         1.0, "Adaptive Loop Filter strength for luma. The parameter scales the magnitudes of the ALF filter coefficients for luma. Valid range is 0.0 <= ALFStrengthLuma <= 1.0")
   ("ALFAllowPredefinedFilters",                        m_alfAllowPredefinedFilters,              true, "Allow use of predefined filters for ALF")
diff --git a/source/App/EncoderApp/EncAppCfg.h b/source/App/EncoderApp/EncAppCfg.h
index e3f016493cf448820eb8f774c659f381d1d384e0..5069dab0552af65c432257606a29232d4a8752d0 100644
--- a/source/App/EncoderApp/EncAppCfg.h
+++ b/source/App/EncoderApp/EncAppCfg.h
@@ -898,7 +898,7 @@ protected:
   bool        m_bs2ModPOCAndType;
   bool        m_forceDecodeBitstream1;
 
-  int         m_maxNumAlfAps;
+  int         m_maxNumAlfAps{ ALF_CTB_MAX_NUM_APS };
   int         m_constantJointCbCrSignFlag;
   bool        m_alf;                                       ///< Adaptive Loop Filter
   bool        m_alfTrueOrg;
diff --git a/source/Lib/CommonLib/AdaptiveLoopFilter.cpp b/source/Lib/CommonLib/AdaptiveLoopFilter.cpp
index 4e754f3e960105b9493e692f910b6a67ea49df33..d1d1604c2b3ef06f57604610f2de0b43fd01a922 100644
--- a/source/Lib/CommonLib/AdaptiveLoopFilter.cpp
+++ b/source/Lib/CommonLib/AdaptiveLoopFilter.cpp
@@ -42,7 +42,7 @@
 #include <array>
 #include <cmath>
 
-constexpr int AdaptiveLoopFilter::AlfNumClippingValues[];
+constexpr int AdaptiveLoopFilter::ALF_NUM_CLIP_VALS[];
 
 AdaptiveLoopFilter::AdaptiveLoopFilter()
   : m_classifier( nullptr )
@@ -696,7 +696,7 @@ void AdaptiveLoopFilter::reconstructCoeff( AlfParam& alfParam, ChannelType chann
       for( int coeffIdx = 0; coeffIdx < numCoeffMinus1; ++coeffIdx )
       {
         int clipIdx = alfParam.nonLinearFlag[channel] ? clipp[filterIdx * MAX_NUM_ALF_LUMA_COEFF + coeffIdx] : 0;
-        CHECK(!(clipIdx >= 0 && clipIdx < MaxAlfNumClippingValues), "Bad clip idx in ALF");
+        CHECK(!(clipIdx >= 0 && clipIdx < MAX_ALF_NUM_CLIP_VALS), "Bad clip idx in ALF");
         m_clippFinal[classIdx * MAX_NUM_ALF_LUMA_COEFF + coeffIdx] = isRdo ? clipIdx : m_alfClippingValues[channel][clipIdx];
       }
       m_clippFinal[classIdx* MAX_NUM_ALF_LUMA_COEFF + numCoeffMinus1] =
@@ -730,17 +730,18 @@ void AdaptiveLoopFilter::create( const int picWidth, const int picHeight, const
   m_alfVBLumaCTUHeight = m_maxCUHeight;
   m_alfVBChmaCTUHeight = (m_maxCUHeight >> ((m_chromaFormat == CHROMA_420) ? 1 : 0));
 
-  static_assert( AlfNumClippingValues[CHANNEL_TYPE_LUMA] > 0, "AlfNumClippingValues[CHANNEL_TYPE_LUMA] must be at least one" );
+  static_assert(ALF_NUM_CLIP_VALS[CHANNEL_TYPE_LUMA] > 0, "ALF_NUM_CLIP_VALS[CHANNEL_TYPE_LUMA] must be at least one");
   m_alfClippingValues[CHANNEL_TYPE_LUMA][0] = 1 << m_inputBitDepth[CHANNEL_TYPE_LUMA];
   int shiftLuma = m_inputBitDepth[CHANNEL_TYPE_LUMA] - 8;
-  for (int i = 1; i < AlfNumClippingValues[CHANNEL_TYPE_LUMA]; ++i)
+  for (int i = 1; i < ALF_NUM_CLIP_VALS[CHANNEL_TYPE_LUMA]; ++i)
   {
     m_alfClippingValues[CHANNEL_TYPE_LUMA][i] = 1 << (7 - 2 * i + shiftLuma);
   }
-  static_assert( AlfNumClippingValues[CHANNEL_TYPE_CHROMA] > 0, "AlfNumClippingValues[CHANNEL_TYPE_CHROMA] must be at least one" );
+  static_assert(ALF_NUM_CLIP_VALS[CHANNEL_TYPE_CHROMA] > 0,
+                "ALF_NUM_CLIP_VALS[CHANNEL_TYPE_CHROMA] must be at least one");
   m_alfClippingValues[CHANNEL_TYPE_CHROMA][0] = 1 << m_inputBitDepth[CHANNEL_TYPE_CHROMA];
   int shiftChroma = m_inputBitDepth[CHANNEL_TYPE_CHROMA] - 8;
-  for (int i = 1; i < AlfNumClippingValues[CHANNEL_TYPE_CHROMA]; ++i)
+  for (int i = 1; i < ALF_NUM_CLIP_VALS[CHANNEL_TYPE_CHROMA]; ++i)
   {
     m_alfClippingValues[CHANNEL_TYPE_CHROMA][i] = 1 << (7 - 2 * i + shiftChroma);
   }
diff --git a/source/Lib/CommonLib/AdaptiveLoopFilter.h b/source/Lib/CommonLib/AdaptiveLoopFilter.h
index 154130867581871740252cb9c4b22774e74369c8..7b522b896989c95a25b2fc55e4619e969f7975b9 100644
--- a/source/Lib/CommonLib/AdaptiveLoopFilter.h
+++ b/source/Lib/CommonLib/AdaptiveLoopFilter.h
@@ -72,13 +72,11 @@ public:
     return Clip3<Pel>(-clip, +clip, val0-ref) + Clip3<Pel>(-clip, +clip, val1-ref);
   }
 
-  static constexpr int AlfNumClippingValues[MAX_NUM_CHANNEL_TYPE] = { 4, 4 };
-  static constexpr int MaxAlfNumClippingValues = 4;
+  static constexpr int ALF_NUM_CLIP_VALS[MAX_NUM_CHANNEL_TYPE] = { 4, 4 };
+  static constexpr int MAX_ALF_NUM_CLIP_VALS                   = 4;
 
   static constexpr int   m_NUM_BITS = 8;
-  static constexpr int   m_CLASSIFICATION_BLK_SIZE = 32;  //non-normative, local buffer size
-  static constexpr int m_ALF_UNUSED_CLASSIDX = 255;
-  static constexpr int m_ALF_UNUSED_TRANSPOSIDX = 255;
+  static constexpr int   m_CLASSIFICATION_BLK_SIZE = 32;   // non-normative, local buffer size
 
   AdaptiveLoopFilter();
   virtual ~AdaptiveLoopFilter() {}
@@ -143,7 +141,7 @@ protected:
   bool                         m_created = false;
   short                        m_chromaCoeffFinal[MAX_NUM_ALF_ALTERNATIVES_CHROMA][MAX_NUM_ALF_CHROMA_COEFF];
   AlfParam*                    m_alfParamChroma;
-  Pel                          m_alfClippingValues[MAX_NUM_CHANNEL_TYPE][MaxAlfNumClippingValues];
+  Pel                          m_alfClippingValues[MAX_NUM_CHANNEL_TYPE][MAX_ALF_NUM_CLIP_VALS];
   std::vector<AlfFilterShape>  m_filterShapesCcAlf[2];
   std::vector<AlfFilterShape>  m_filterShapes[MAX_NUM_CHANNEL_TYPE];
   AlfClassifier**              m_classifier;
diff --git a/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp b/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp
index b1516d707f144181ecd533aed26b29df25410122..5f3a05a0f094336af8720afbbc5c0896f19d3662 100644
--- a/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp
+++ b/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp
@@ -1397,10 +1397,10 @@ double EncAdaptiveLoopFilter::getFilterCoeffAndCost(CodingStructure &cs, double
   if( isLuma( channel ) )
   {
     std::fill_n(m_alfClipMerged[shapeIdx][0][0], MAX_NUM_ALF_LUMA_COEFF * MAX_NUM_ALF_CLASSES * MAX_NUM_ALF_CLASSES,
-                m_alfParamTemp.nonLinearFlag[channel] ? AlfNumClippingValues[CHANNEL_TYPE_LUMA] / 2 : 0);
+                m_alfParamTemp.nonLinearFlag[channel] ? ALF_NUM_CLIP_VALS[CHANNEL_TYPE_LUMA] / 2 : 0);
     // Reset Merge Tmp Cov
-    m_alfCovarianceMerged[shapeIdx][MAX_NUM_ALF_CLASSES].reset(AlfNumClippingValues[channel]);
-    m_alfCovarianceMerged[shapeIdx][MAX_NUM_ALF_CLASSES + 1].reset(AlfNumClippingValues[channel]);
+    m_alfCovarianceMerged[shapeIdx][MAX_NUM_ALF_CLASSES].reset(ALF_NUM_CLIP_VALS[channel]);
+    m_alfCovarianceMerged[shapeIdx][MAX_NUM_ALF_CLASSES + 1].reset(ALF_NUM_CLIP_VALS[channel]);
     //distortion
     dist += mergeFiltersAndCost(m_alfParamTemp, alfFilterShape, m_alfCovarianceFrame[channel][shapeIdx],
                                 m_alfCovarianceMerged[shapeIdx], m_alfClipMerged[shapeIdx], coeffBits);
@@ -1425,7 +1425,8 @@ double EncAdaptiveLoopFilter::getFilterCoeffAndCost(CodingStructure &cs, double
           continue;
         }
 
-        std::fill_n(m_filterClippSet[altIdx], MAX_NUM_ALF_CHROMA_COEFF, nonLinearFlag ? AlfNumClippingValues[CHANNEL_TYPE_CHROMA] / 2 : 0 );
+        std::fill_n(m_filterClippSet[altIdx], MAX_NUM_ALF_CHROMA_COEFF,
+                    nonLinearFlag ? ALF_NUM_CLIP_VALS[CHANNEL_TYPE_CHROMA] / 2 : 0);
         double dist = m_alfCovarianceFrame[channel][shapeIdx][altIdx].pixAcc
                       + deriveCoeffQuant(m_filterClippSet[altIdx], m_filterCoeffSet[altIdx],
                                          m_alfCovarianceFrame[channel][shapeIdx][altIdx], alfFilterShape, m_NUM_BITS,
@@ -1946,19 +1947,20 @@ void EncAdaptiveLoopFilter::mergeClasses( const AlfFilterShape& alfShape, AlfCov
     indexList[i] = i;
     availableClass[i] = true;
     covMerged[i] = cov[i];
-    covMerged[i].numBins = m_alfParamTemp.nonLinearFlag[CHANNEL_TYPE_LUMA] ? AlfNumClippingValues[COMPONENT_Y] : 1;
+    covMerged[i].numBins = m_alfParamTemp.nonLinearFlag[CHANNEL_TYPE_LUMA] ? ALF_NUM_CLIP_VALS[COMPONENT_Y] : 1;
   }
 
   // Try merging different covariance matrices
 
   // temporal AlfCovariance structure is allocated as the last element in covMerged array, the size of covMerged is MAX_NUM_ALF_CLASSES + 1
   AlfCovariance& tmpCov = covMerged[MAX_NUM_ALF_CLASSES];
-  tmpCov.numBins = m_alfParamTemp.nonLinearFlag[CHANNEL_TYPE_LUMA] ? AlfNumClippingValues[COMPONENT_Y] : 1;
+  tmpCov.numBins        = m_alfParamTemp.nonLinearFlag[CHANNEL_TYPE_LUMA] ? ALF_NUM_CLIP_VALS[COMPONENT_Y] : 1;
 
   // init Clip
   for( int i = 0; i < numClasses; i++ )
   {
-    std::fill_n(clipMerged[numRemaining-1][i], MAX_NUM_ALF_LUMA_COEFF, m_alfParamTemp.nonLinearFlag[CHANNEL_TYPE_LUMA] ? AlfNumClippingValues[CHANNEL_TYPE_LUMA] / 2 : 0);
+    std::fill_n(clipMerged[numRemaining - 1][i], MAX_NUM_ALF_LUMA_COEFF,
+                m_alfParamTemp.nonLinearFlag[CHANNEL_TYPE_LUMA] ? ALF_NUM_CLIP_VALS[CHANNEL_TYPE_LUMA] / 2 : 0);
     if ( m_alfParamTemp.nonLinearFlag[CHANNEL_TYPE_LUMA] )
     {
       err[i] = covMerged[i].optimizeFilterClip( alfShape, clipMerged[numRemaining-1][i] );
@@ -2067,7 +2069,7 @@ void EncAdaptiveLoopFilter::getFrameStats(ChannelType channel, int shapeIdx)
   {
     for( int i = 0; i < numClasses; i++ )
     {
-      m_alfCovarianceFrame[channel][shapeIdx][isLuma(channel) ? i : altIdx].reset(AlfNumClippingValues[channel]);
+      m_alfCovarianceFrame[channel][shapeIdx][isLuma(channel) ? i : altIdx].reset(ALF_NUM_CLIP_VALS[channel]);
     }
     if( isLuma( channel ) )
     {
@@ -2119,7 +2121,7 @@ void EncAdaptiveLoopFilter::deriveStatsForFiltering( PelUnitBuf& orgYuv, PelUnit
       {
         for( int ctuIdx = 0; ctuIdx < m_numCTUsInPic; ctuIdx++ )
         {
-          m_alfCovariance[compIdx][shape][ctuIdx][classIdx].reset(AlfNumClippingValues[toChannelType( compID )]);
+          m_alfCovariance[compIdx][shape][ctuIdx][classIdx].reset(ALF_NUM_CLIP_VALS[toChannelType(compID)]);
         }
       }
     }
@@ -2140,7 +2142,7 @@ void EncAdaptiveLoopFilter::deriveStatsForFiltering( PelUnitBuf& orgYuv, PelUnit
         for (int classIdx = 0; classIdx < numClasses; classIdx++)
         {
           m_alfCovarianceFrame[channelIdx][shape][isLuma(channelID) ? classIdx : altIdx].reset(
-            AlfNumClippingValues[channelID]);
+            ALF_NUM_CLIP_VALS[channelID]);
         }
       }
     }
@@ -2281,11 +2283,9 @@ void EncAdaptiveLoopFilter::deriveStatsForFiltering( PelUnitBuf& orgYuv, PelUnit
 
 void EncAdaptiveLoopFilter::getBlkStats(AlfCovariance* alfCovariance, const AlfFilterShape& shape, AlfClassifier** classifier, Pel* org, const int orgStride, Pel* rec, const int recStride, const CompArea& areaDst, const CompArea& area, const ChannelType channel, int vbCTUHeight, int vbPos)
 {
-  Pel ELocal[MAX_NUM_ALF_LUMA_COEFF][MaxAlfNumClippingValues];
+  Pel ELocal[MAX_NUM_ALF_LUMA_COEFF][MAX_ALF_NUM_CLIP_VALS];
 
-  const int numBins = AlfNumClippingValues[channel];
-  int transposeIdx = 0;
-  int classIdx = 0;
+  const int numBins = ALF_NUM_CLIP_VALS[channel];
 
   const double strength =
     isLuma(channel) ? m_encCfg->getALFStrengthTargetLuma() : m_encCfg->getALFStrengthTargetChroma();
@@ -2293,14 +2293,13 @@ void EncAdaptiveLoopFilter::getBlkStats(AlfCovariance* alfCovariance, const AlfF
 
   for( int i = 0; i < area.height; i++ )
   {
-    int vbDistance = ((areaDst.y + i) % vbCTUHeight) - vbPos;
+    const int vbDistance = ((areaDst.y + i) % vbCTUHeight) - vbPos;
     for( int j = 0; j < area.width; j++ )
     {
-      if( classifier && classifier[areaDst.y + i][areaDst.x + j].classIdx == m_ALF_UNUSED_CLASSIDX && classifier[areaDst.y + i][areaDst.x + j].transposeIdx == m_ALF_UNUSED_TRANSPOSIDX )
-      {
-        continue;
-      }
-      std::memset( ELocal, 0, sizeof( ELocal ) );
+      std::fill_n(ELocal[0], MAX_NUM_ALF_LUMA_COEFF * MAX_ALF_NUM_CLIP_VALS, 0);
+
+      int transposeIdx = 0;
+      int classIdx     = 0;
       if( classifier )
       {
         AlfClassifier& cl = classifier[areaDst.y + i][areaDst.x + j];
@@ -2313,7 +2312,7 @@ void EncAdaptiveLoopFilter::getBlkStats(AlfCovariance* alfCovariance, const AlfF
       const double weight = m_alfWSSD ? m_lumaLevelToWeightPLUT[org[j]] : 1.0;
       const double yLocal = org[j] - rec[j];
 
-      double e[MaxAlfNumClippingValues][MAX_NUM_ALF_LUMA_COEFF];
+      double e[MAX_ALF_NUM_CLIP_VALS][MAX_NUM_ALF_LUMA_COEFF];
 
       for (int b = 0; b < numBins; b++)
       {
@@ -2345,8 +2344,8 @@ void EncAdaptiveLoopFilter::getBlkStats(AlfCovariance* alfCovariance, const AlfF
     rec += recStride;
   }
 
-  int numClasses = classifier ? MAX_NUM_ALF_CLASSES : 1;
-  for( classIdx = 0; classIdx < numClasses; classIdx++ )
+  const int numClasses = classifier ? MAX_NUM_ALF_CLASSES : 1;
+  for (int classIdx = 0; classIdx < numClasses; classIdx++)
   {
     for (int k = 1; k < shape.numCoeff; k++)
     {
@@ -2364,7 +2363,9 @@ void EncAdaptiveLoopFilter::getBlkStats(AlfCovariance* alfCovariance, const AlfF
   }
 }
 
-void EncAdaptiveLoopFilter::calcCovariance(Pel ELocal[MAX_NUM_ALF_LUMA_COEFF][MaxAlfNumClippingValues], const Pel *rec, const int stride, const AlfFilterShape& shape, const int transposeIdx, const ChannelType channel, int vbDistance)
+void EncAdaptiveLoopFilter::calcCovariance(Pel ELocal[MAX_NUM_ALF_LUMA_COEFF][MAX_ALF_NUM_CLIP_VALS], const Pel *rec,
+                                           const int stride, const AlfFilterShape &shape, const int transposeIdx,
+                                           const ChannelType channel, int vbDistance)
 {
   int clipTopRow = -4;
   int clipBotRow = 4;
@@ -2381,7 +2382,8 @@ void EncAdaptiveLoopFilter::calcCovariance(Pel ELocal[MAX_NUM_ALF_LUMA_COEFF][Ma
   const int *filterPattern = shape.pattern.data();
   const int halfFilterLength = shape.filterLength >> 1;
   const Pel* clip = m_alfClippingValues[channel];
-  const int numBins = AlfNumClippingValues[channel];
+
+  const int numBins = ALF_NUM_CLIP_VALS[channel];
 
   int k = 0;
 
diff --git a/source/Lib/EncoderLib/EncAdaptiveLoopFilter.h b/source/Lib/EncoderLib/EncAdaptiveLoopFilter.h
index 98403fe42ea37dc8aa63720deebdb5b7ced06386..9144a8c9e9f29d06287420dfd428141c8b57c80a 100644
--- a/source/Lib/EncoderLib/EncAdaptiveLoopFilter.h
+++ b/source/Lib/EncoderLib/EncAdaptiveLoopFilter.h
@@ -46,11 +46,11 @@
 
 struct AlfCovariance
 {
-  static constexpr int MaxAlfNumClippingValues = AdaptiveLoopFilter::MaxAlfNumClippingValues;
+  static constexpr int MAX_ALF_NUM_CLIP_VALS = AdaptiveLoopFilter::MAX_ALF_NUM_CLIP_VALS;
   using TE = double[MAX_NUM_ALF_LUMA_COEFF][MAX_NUM_ALF_LUMA_COEFF];
   using Ty = double[MAX_NUM_ALF_LUMA_COEFF];
-  using TKE = TE[AdaptiveLoopFilter::MaxAlfNumClippingValues][AdaptiveLoopFilter::MaxAlfNumClippingValues];
-  using TKy = Ty[AdaptiveLoopFilter::MaxAlfNumClippingValues];
+  using TKE = TE[AdaptiveLoopFilter::MAX_ALF_NUM_CLIP_VALS][AdaptiveLoopFilter::MAX_ALF_NUM_CLIP_VALS];
+  using TKy = Ty[AdaptiveLoopFilter::MAX_ALF_NUM_CLIP_VALS];
 
   int numCoeff;
   int numBins;
@@ -61,10 +61,10 @@ struct AlfCovariance
   AlfCovariance() {}
   ~AlfCovariance() {}
 
-  void create( int size, int num_bins = MaxAlfNumClippingValues )
+  void create(int size, int _numBins = MAX_ALF_NUM_CLIP_VALS)
   {
     numCoeff = size;
-    numBins = num_bins;
+    numBins  = _numBins;
     std::memset( y, 0, sizeof( y ) );
     std::memset( E, 0, sizeof( E ) );
   }
@@ -73,10 +73,12 @@ struct AlfCovariance
   {
   }
 
-  void reset( int num_bins = -1 )
+  void reset(int _numBins = -1)
   {
-    if ( num_bins > 0 )
-      numBins = num_bins;
+    if (_numBins > 0)
+    {
+      numBins = _numBins;
+    }
     pixAcc = 0;
     std::memset( y, 0, sizeof( y ) );
     std::memset( E, 0, sizeof( E ) );
@@ -317,7 +319,8 @@ private:
   void   getFrameStat( AlfCovariance* frameCov, AlfCovariance** ctbCov, uint8_t* ctbEnableFlags, uint8_t* ctbAltIdx, const int numClasses, int altIdx );
   void   deriveStatsForFiltering( PelUnitBuf& orgYuv, PelUnitBuf& recYuv, CodingStructure& cs );
   void   getBlkStats(AlfCovariance* alfCovariace, const AlfFilterShape& shape, AlfClassifier** classifier, Pel* org, const int orgStride, Pel* rec, const int recStride, const CompArea& areaDst, const CompArea& area, const ChannelType channel, int vbCTUHeight, int vbPos);
-  void   calcCovariance(Pel ELocal[MAX_NUM_ALF_LUMA_COEFF][MaxAlfNumClippingValues], const Pel *rec, const int stride, const AlfFilterShape& shape, const int transposeIdx, const ChannelType channel, int vbDistance);
+  void   calcCovariance(Pel ELocal[MAX_NUM_ALF_LUMA_COEFF][MAX_ALF_NUM_CLIP_VALS], const Pel *rec, const int stride,
+                        const AlfFilterShape &shape, const int transposeIdx, const ChannelType channel, int vbDistance);
   void   deriveStatsForCcAlfFiltering(const PelUnitBuf &orgYuv, const PelUnitBuf &recYuv, const int compIdx,
                                       const int maskStride, const uint8_t filterIdc, CodingStructure &cs);
   void   getBlkStatsCcAlf(AlfCovariance &alfCovariance, const AlfFilterShape &shape, const PelUnitBuf &orgYuv,
diff --git a/source/Lib/EncoderLib/EncCfg.h b/source/Lib/EncoderLib/EncCfg.h
index cdb346027f5af142a870bb3a6de0efc0ecc908d0..f07e33be1e9fc24e7b73cb07b2863cc0ed533911 100644
--- a/source/Lib/EncoderLib/EncCfg.h
+++ b/source/Lib/EncoderLib/EncCfg.h
@@ -943,7 +943,7 @@ protected:
 
   EncCfgParam::CfgVPSParameters m_cfgVPSParameters;
 
-  int         m_maxNumAlfAps;
+  int         m_maxNumAlfAps{ ALF_CTB_MAX_NUM_APS };
   bool        m_constantJointCbCrSignFlag;
   bool        m_alf;                                          ///< Adaptive Loop Filter
   bool        m_alfTrueOrg;