From 5c4791a20d75ea21ff3d5cb4fcc77049b15ff418 Mon Sep 17 00:00:00 2001
From: xlxiangli <xlxiangli@google.com>
Date: Wed, 7 Sep 2022 11:34:10 -0700
Subject: [PATCH] Fix compiling issues for gcc 12.1.0

---
 source/Lib/CommonLib/SEIFilmGrainSynthesizer.cpp | 6 +++---
 source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp  | 6 +++---
 source/Lib/EncoderLib/IntraSearch.h              | 2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/source/Lib/CommonLib/SEIFilmGrainSynthesizer.cpp b/source/Lib/CommonLib/SEIFilmGrainSynthesizer.cpp
index 3659f1e88..e00edffc4 100644
--- a/source/Lib/CommonLib/SEIFilmGrainSynthesizer.cpp
+++ b/source/Lib/CommonLib/SEIFilmGrainSynthesizer.cpp
@@ -1061,7 +1061,7 @@ uint32_t SEIFilmGrainSynthesizer::fgsSimulationBlending_8x8(fgsProcessArgs *inAr
     }
   }
 
-  delete grainStripe;
+  delete [] grainStripe;
   return FGS_SUCCESS;
 }
 
@@ -1161,7 +1161,7 @@ uint32_t SEIFilmGrainSynthesizer::fgsSimulationBlending_16x16(fgsProcessArgs *in
     }
   }
 
-  delete grainStripe;
+  delete [] grainStripe;
   return FGS_SUCCESS;
 }
 
@@ -1255,7 +1255,7 @@ uint32_t SEIFilmGrainSynthesizer::fgsSimulationBlending_32x32(fgsProcessArgs *in
     }
   }
 
-  delete grainStripe;
+  delete [] grainStripe;
   return FGS_SUCCESS;
 }
 
diff --git a/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp b/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp
index df56456d2..2a1d6c3ff 100644
--- a/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp
+++ b/source/Lib/EncoderLib/EncAdaptiveLoopFilter.cpp
@@ -1159,7 +1159,7 @@ double EncAdaptiveLoopFilter::deriveCtbAlfEnableFlags(CodingStructure &cs, const
         // Evaluate cost of signaling filter set index for convergence of filters enabled flag / filter derivation
         assert( cs.slice->getPic()->getAlfCtbFilterIndex()[ctuIdx] == NUM_FIXED_FILTER_SETS );
         assert( cs.slice->getNumAlfApsIdsLuma() == 1 );
-        m_CABACEstimator->codeAlfCtuFilterIndex(cs, ctuIdx, &m_alfParamTemp.enabledFlag[COMPONENT_Y]);
+        m_CABACEstimator->codeAlfCtuFilterIndex(cs, ctuIdx, m_alfParamTemp.enabledFlag[COMPONENT_Y]);
       }
       double costOn = distUnfilterCtu + ctuLambda * FRAC_BITS_SCALE * m_CABACEstimator->getEstFracBits();
 
@@ -1467,7 +1467,7 @@ double EncAdaptiveLoopFilter::getFilterCoeffAndCost(CodingStructure &cs, double
       // Evaluate cost of signaling filter set index for convergence of filters enabled flag / filter derivation
       assert( cs.slice->getPic()->getAlfCtbFilterIndex()[ctuIdx] == NUM_FIXED_FILTER_SETS );
       assert( cs.slice->getNumAlfApsIdsLuma() == 1 );
-      m_CABACEstimator->codeAlfCtuFilterIndex(cs, ctuIdx, &m_alfParamTemp.enabledFlag[COMPONENT_Y]);
+      m_CABACEstimator->codeAlfCtuFilterIndex(cs, ctuIdx, m_alfParamTemp.enabledFlag[COMPONENT_Y]);
     }
   }
   m_CABACEstimator->codeAlfCtuAlternatives( cs, channel, &m_alfParamTemp );
@@ -2770,7 +2770,7 @@ void  EncAdaptiveLoopFilter::alfEncoderCtb(CodingStructure& cs, AlfParam& alfPar
             m_CABACEstimator->resetBits();
             m_CABACEstimator->codeAlfCtuEnableFlag(cs, ctbIdx, COMPONENT_Y, &m_alfParamTemp);
             alfCtbFilterSetIndex[ctbIdx] = filterSetIdx;
-            m_CABACEstimator->codeAlfCtuFilterIndex(cs, ctbIdx, &m_alfParamTemp.enabledFlag[COMPONENT_Y]);
+            m_CABACEstimator->codeAlfCtuFilterIndex(cs, ctbIdx, m_alfParamTemp.enabledFlag[COMPONENT_Y]);
             double rateOn = FRAC_BITS_SCALE * m_CABACEstimator->getEstFracBits();
             //distortion
             double dist = distUnfilterCtb;
diff --git a/source/Lib/EncoderLib/IntraSearch.h b/source/Lib/EncoderLib/IntraSearch.h
index 8d47bf1b3..2afa1fd0f 100644
--- a/source/Lib/EncoderLib/IntraSearch.h
+++ b/source/Lib/EncoderLib/IntraSearch.h
@@ -68,7 +68,7 @@ class SortingElement
 public:
   inline bool operator<(const SortingElement &other) const
   {
-    return cnt > other.cnt;
+    return cnt[0] > other.cnt[0];
   }
   SortingElement() {
     cnt[0] = cnt[1] = cnt[2] = cnt[3] = 0;
-- 
GitLab