From c4f0c241f2ac8866690ec0ada30ee2d1d53679a5 Mon Sep 17 00:00:00 2001
From: Hendry <hendry197@gmail.com>
Date: Mon, 9 Jan 2023 12:00:13 -0800
Subject: [PATCH] Change asserts to checks for parsing and processing the SEI
 message

---
 source/App/EncoderApp/EncAppCfg.cpp  | 4 ++--
 source/Lib/EncoderLib/SEIEncoder.cpp | 4 ++--
 source/Lib/EncoderLib/SEIwrite.cpp   | 5 +++--
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp
index 3fe4b9d83..1cb6ea965 100644
--- a/source/App/EncoderApp/EncAppCfg.cpp
+++ b/source/App/EncoderApp/EncAppCfg.cpp
@@ -3407,9 +3407,9 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] )
   if (m_postFilterHintSEIEnabled)
   {
     CHECK(cfg_postFilterHintSEIValues.values.size() > 0, "The number of filter coefficient shall be greater than zero");
-    assert(cfg_postFilterHintSEIValues.values.size()
+    CHECK(cfg_postFilterHintSEIValues.values.size()
            == (m_postFilterHintSEIChromaCoeffPresentFlag ? 3 : 1) * m_postFilterHintSEISizeY
-                * m_postFilterHintSEISizeX);
+                * m_postFilterHintSEISizeX, "The number of filter coefficient shall match the matrix size and considering whether filters for chroma is present of not");
     m_postFilterHintValues.resize(cfg_postFilterHintSEIValues.values.size());
 
     for (uint32_t i = 0; i < m_postFilterHintValues.size(); i++)
diff --git a/source/Lib/EncoderLib/SEIEncoder.cpp b/source/Lib/EncoderLib/SEIEncoder.cpp
index 9b077b20c..fc68d5d83 100644
--- a/source/Lib/EncoderLib/SEIEncoder.cpp
+++ b/source/Lib/EncoderLib/SEIEncoder.cpp
@@ -621,8 +621,8 @@ void SEIEncoder::initSEIProcessingOrderInfo(SEIProcessingOrderInfo *seiProcessin
 #if JVET_AB0070_POST_FILTER_HINT
 void SEIEncoder::initSEIPostFilterHint(SEIPostFilterHint *seiPostFilterHint)
 {
-  assert(m_isInitialized);
-  assert(seiPostFilterHint != nullptr);
+  CHECK(m_isInitialized, "The post-filter hint SEI message needs to be initialized");
+  CHECK(seiPostFilterHint != nullptr, "Failed to get the handler to the SEI message");
 
   seiPostFilterHint->m_filterHintCancelFlag             = m_pcCfg->getPostFilterHintSEICancelFlag();
   seiPostFilterHint->m_filterHintPersistenceFlag        = m_pcCfg->getPostFilterHintSEIPersistenceFlag();
diff --git a/source/Lib/EncoderLib/SEIwrite.cpp b/source/Lib/EncoderLib/SEIwrite.cpp
index 7b558a46a..10d63bc4f 100644
--- a/source/Lib/EncoderLib/SEIwrite.cpp
+++ b/source/Lib/EncoderLib/SEIwrite.cpp
@@ -1923,8 +1923,9 @@ void SEIWriter::xWriteSEIPostFilterHint(const SEIPostFilterHint &sei)
     WRITE_CODE(sei.m_filterHintType, 2, "filter_hint_type");
     WRITE_FLAG(sei.m_filterHintChromaCoeffPresentFlag, "filter_hint_chroma_coeff_present_flag");
 
-    assert(sei.m_filterHintValues.size()
-           == (sei.m_filterHintChromaCoeffPresentFlag ? 3 : 1) * sei.m_filterHintSizeX * sei.m_filterHintSizeY);
+    CHECK(sei.m_filterHintValues.size()
+           == (sei.m_filterHintChromaCoeffPresentFlag ? 3 : 1) * sei.m_filterHintSizeX * sei.m_filterHintSizeY,
+           "The number of filter coefficient shall match the matrix size and considering whether filters for chroma is present of not");
     for (uint32_t i = 0; i < sei.m_filterHintValues.size(); i++)
     {
       WRITE_SVLC(sei.m_filterHintValues[i], "filter_hint_value[][][]");
-- 
GitLab