From 83c1d2e9926ba2427f54309d501ba6eefe8e507a Mon Sep 17 00:00:00 2001
From: Frank Bossen <fbossen@gmail.com>
Date: Fri, 17 Jan 2020 15:29:27 +0100
Subject: [PATCH] remove macro JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR

---
 source/Lib/CommonLib/Slice.cpp      |  6 ------
 source/Lib/CommonLib/Slice.h        | 10 ----------
 source/Lib/CommonLib/TypeDef.h      |  1 -
 source/Lib/DecoderLib/VLCReader.cpp | 17 -----------------
 source/Lib/EncoderLib/EncLib.cpp    | 12 ------------
 source/Lib/EncoderLib/VLCWriter.cpp | 17 -----------------
 6 files changed, 63 deletions(-)

diff --git a/source/Lib/CommonLib/Slice.cpp b/source/Lib/CommonLib/Slice.cpp
index 502b9a6a8..2471af971 100644
--- a/source/Lib/CommonLib/Slice.cpp
+++ b/source/Lib/CommonLib/Slice.cpp
@@ -1880,9 +1880,7 @@ void ChromaQpMappingTable::setParams(const ChromaQpMappingTableParams &params, c
 {
   m_qpBdOffset = qpBdOffset;
   m_sameCQPTableForAllChromaFlag = params.m_sameCQPTableForAllChromaFlag;
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   m_numQpTables = params.m_numQpTables;
-#endif
 
   for (int i = 0; i < MAX_NUM_CQP_MAPPING_TABLES; i++)
   {
@@ -1894,11 +1892,7 @@ void ChromaQpMappingTable::setParams(const ChromaQpMappingTableParams &params, c
 }
 void ChromaQpMappingTable::derivedChromaQPMappingTables()
 {
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   for (int i = 0; i < getNumQpTables(); i++)
-#else
-  for (int i = 0; i < (getSameCQPTableForAllChromaFlag() ? 1 : 3); i++)
-#endif
   {
     const int qpBdOffsetC = m_qpBdOffset;
     const int numPtsInCQPTableMinus1 = getNumPtsInCQPTableMinus1(i);
diff --git a/source/Lib/CommonLib/Slice.h b/source/Lib/CommonLib/Slice.h
index 9c29650ce..7a477af96 100644
--- a/source/Lib/CommonLib/Slice.h
+++ b/source/Lib/CommonLib/Slice.h
@@ -550,9 +550,7 @@ struct ChromaQpAdj
 struct ChromaQpMappingTableParams {
   int               m_qpBdOffset;
   bool              m_sameCQPTableForAllChromaFlag;
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   int               m_numQpTables;
-#endif
   int               m_qpTableStartMinus26[MAX_NUM_CQP_MAPPING_TABLES];
   int               m_numPtsInCQPTableMinus1[MAX_NUM_CQP_MAPPING_TABLES];
   std::vector<int>  m_deltaQpInValMinus1[MAX_NUM_CQP_MAPPING_TABLES];
@@ -562,9 +560,7 @@ struct ChromaQpMappingTableParams {
   {
     m_qpBdOffset = 12;
     m_sameCQPTableForAllChromaFlag = true;
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
     m_numQpTables = 1;
-#endif
     m_numPtsInCQPTableMinus1[0] = 0;
     m_qpTableStartMinus26[0] = 0;
     m_deltaQpInValMinus1[0] = { 0 };
@@ -573,10 +569,8 @@ struct ChromaQpMappingTableParams {
 
   void      setSameCQPTableForAllChromaFlag(bool b)                             { m_sameCQPTableForAllChromaFlag = b; }
   bool      getSameCQPTableForAllChromaFlag()                             const { return m_sameCQPTableForAllChromaFlag; }
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   void      setNumQpTables(int n)                                     { m_numQpTables = n; }
   int       getNumQpTables()                                     const { return m_numQpTables; }
-#endif
   void      setQpTableStartMinus26(int tableIdx, int n)                         { m_qpTableStartMinus26[tableIdx] = n; }
   int       getQpTableStartMinus26(int tableIdx)                          const { return m_qpTableStartMinus26[tableIdx]; }
   void      setNumPtsInCQPTableMinus1(int tableIdx, int n)                      { m_numPtsInCQPTableMinus1[tableIdx] = n; }
@@ -1495,9 +1489,7 @@ private:
 
   int              m_chromaCbQpOffset;
   int              m_chromaCrQpOffset;
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   bool             m_chromaJointCbCrQpOffsetPresentFlag;
-#endif
   int              m_chromaCbCrQpOffset;
 
   // Chroma QP Adjustments
@@ -1599,10 +1591,8 @@ public:
   void                   setSliceChromaQpFlag( bool b )                                   { m_bSliceChromaQpFlag = b;                     }
 
 
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   bool                   getJointCbCrQpOffsetPresentFlag() const                          { return m_chromaJointCbCrQpOffsetPresentFlag;   }
   void                   setJointCbCrQpOffsetPresentFlag(bool b)                          { m_chromaJointCbCrQpOffsetPresentFlag = b;      } 
-#endif
 
   void                   setQpOffset(ComponentID compID, int i )
   {
diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h
index 12c9b4c8b..46844c9ed 100644
--- a/source/Lib/CommonLib/TypeDef.h
+++ b/source/Lib/CommonLib/TypeDef.h
@@ -97,7 +97,6 @@
 
 
 
-#define JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR         1 // JVET-P0667: removing signaling of qp offset table for JCCR, at SPS and PPS, when JCCR is disabled. 
 
 #define JVET_P1000_REMOVE_TRANFORMSHIFT_IN_TS_MODE        1 // JVET-P1000: Remove Transformshift in TS mode
 
diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp
index 98a530f50..eae8a6ddc 100644
--- a/source/Lib/DecoderLib/VLCReader.cpp
+++ b/source/Lib/DecoderLib/VLCReader.cpp
@@ -599,7 +599,6 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS, ParameterSetManager *parameterSetMana
   CHECK( pcPPS->getQpOffset(COMPONENT_Cr) < -12, "Invalid Cr QP offset" );
   CHECK( pcPPS->getQpOffset(COMPONENT_Cr) >  12, "Invalid Cr QP offset" );
 
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   READ_FLAG(uiCode, "pps_joint_cbcr_qp_offset_present_flag");
   pcPPS->setJointCbCrQpOffsetPresentFlag(uiCode ? true : false);
 
@@ -611,9 +610,6 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS, ParameterSetManager *parameterSetMana
   {
     iCode = 0;
   }
-#else
-  READ_SVLC( iCode, "pps_joint_cbcr_qp_offset");
-#endif
   pcPPS->setQpOffset(JOINT_CbCr, iCode);
 
   CHECK( pcPPS->getQpOffset(JOINT_CbCr) < -12, "Invalid CbCr QP offset" );
@@ -644,7 +640,6 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS, ParameterSetManager *parameterSetMana
       CHECK(cbOffset < -12 || cbOffset > 12, "Invalid chroma QP offset");
       READ_SVLC(crOffset, "cr_qp_offset_list[i]");
       CHECK(crOffset < -12 || crOffset > 12, "Invalid chroma QP offset");
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
       if (pcPPS->getJointCbCrQpOffsetPresentFlag())
       {
         READ_SVLC(jointCbCrOffset, "joint_cbcr_qp_offset_list[i]");
@@ -653,9 +648,6 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS, ParameterSetManager *parameterSetMana
       {
         jointCbCrOffset = 0;
       }
-#else
-      READ_SVLC(jointCbCrOffset, "joint_cbcr_qp_offset_list[i]");
-#endif
       CHECK(jointCbCrOffset < -12 || jointCbCrOffset > 12, "Invalid chroma QP offset");
       // table uses +1 for index (see comment inside the function)
       pcPPS->setChromaQpOffsetListEntry(cuChromaQpOffsetIdx + 1, cbOffset, crOffset, jointCbCrOffset);
@@ -1294,20 +1286,14 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS)
 
   READ_FLAG( uiCode, "sps_max_luma_transform_size_64_flag");        pcSPS->setLog2MaxTbSize( (uiCode ? 1 : 0) + 5 );
 
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   READ_FLAG(uiCode, "sps_joint_cbcr_enabled_flag");                pcSPS->setJointCbCrEnabledFlag(uiCode ? true : false);
-#endif
   if (pcSPS->getChromaFormatIdc() != CHROMA_400)
   {
     ChromaQpMappingTableParams chromaQpMappingTableParams;
     READ_FLAG(uiCode, "same_qp_table_for_chroma");        chromaQpMappingTableParams.setSameCQPTableForAllChromaFlag(uiCode);
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
     int numQpTables = chromaQpMappingTableParams.getSameCQPTableForAllChromaFlag() ? 1 : (pcSPS->getJointCbCrEnabledFlag() ? 3 : 2);
     chromaQpMappingTableParams.setNumQpTables(numQpTables);
     for (int i = 0; i < numQpTables; i++)
-#else
-    for (int i = 0; i < (chromaQpMappingTableParams.getSameCQPTableForAllChromaFlag() ? 1 : 3); i++)
-#endif
     {
       int32_t qpTableStart = 0;
       READ_SVLC(qpTableStart, "qp_table_starts_minus26"); chromaQpMappingTableParams.setQpTableStartMinus26(i, qpTableStart);
@@ -1346,9 +1332,6 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS)
     READ_FLAG(uiCode, "sps_bdpcm_enabled_flag"); pcSPS->setBDPCMEnabledFlag(uiCode ? true : false);
 #endif
   }
-#if !JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
-  READ_FLAG( uiCode, "sps_joint_cbcr_enabled_flag");                pcSPS->setJointCbCrEnabledFlag (uiCode ? true : false);
-#endif
 
   READ_FLAG(uiCode, "sps_ref_wraparound_enabled_flag");                  pcSPS->setWrapAroundEnabledFlag( uiCode ? true : false );
 
diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp
index 362ef1fe5..54ef97c7e 100644
--- a/source/Lib/EncoderLib/EncLib.cpp
+++ b/source/Lib/EncoderLib/EncLib.cpp
@@ -1222,10 +1222,8 @@ void EncLib::xInitSPS( SPS& sps, VPS& vps )
     sps.setLtRefPicPocLsbSps(k, 0);
     sps.setUsedByCurrPicLtSPSFlag(k, 0);
   }
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   int numQpTables = m_chromaQpMappingTableParams.getSameCQPTableForAllChromaFlag() ? 1 : (sps.getJointCbCrEnabledFlag() ? 3 : 2);
   m_chromaQpMappingTableParams.setNumQpTables(numQpTables);
-#endif
   sps.setChromaQpMappingTableFromParams(m_chromaQpMappingTableParams, sps.getQpBDOffset(CHANNEL_TYPE_CHROMA));
   sps.derivedChromaQPMappingTables();
 
@@ -1418,7 +1416,6 @@ void EncLib::xInitPPS(PPS &pps, const SPS &sps)
     pps.setPicInitQPMinus26( std::min( maxDQP, std::max( minDQP, baseQp ) ));
   }
 
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   if (sps.getJointCbCrEnabledFlag() == false || getChromaFormatIdc() == CHROMA_400)
   {
     pps.setJointCbCrQpOffsetPresentFlag(false);
@@ -1427,7 +1424,6 @@ void EncLib::xInitPPS(PPS &pps, const SPS &sps)
   {
     pps.setJointCbCrQpOffsetPresentFlag(true);
   }
-#endif
 
 #if ER_CHROMA_QP_WCG_PPS
   if (getWCGChromaQPControl().isEnabled())
@@ -1440,28 +1436,20 @@ void EncLib::xInitPPS(PPS &pps, const SPS &sps)
     const int crQP =(int)(dcrQP + ( dcrQP < 0 ? -0.5 : 0.5) );
     pps.setQpOffset(COMPONENT_Cb, Clip3( -12, 12, min(0, cbQP) + m_chromaCbQpOffset ));
     pps.setQpOffset(COMPONENT_Cr, Clip3( -12, 12, min(0, crQP) + m_chromaCrQpOffset));
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
     if(pps.getJointCbCrQpOffsetPresentFlag())
       pps.setQpOffset(JOINT_CbCr, Clip3(-12, 12, (min(0, cbQP) + min(0, crQP)) / 2 + m_chromaCbCrQpOffset));
     else
       pps.setQpOffset(JOINT_CbCr, 0);
-#else
-    pps.setQpOffset(JOINT_CbCr,   Clip3( -12, 12, ( min(0, cbQP) + min(0, crQP) ) / 2 + m_chromaCbCrQpOffset));
-#endif
   }
   else
   {
 #endif
   pps.setQpOffset(COMPONENT_Cb, m_chromaCbQpOffset );
   pps.setQpOffset(COMPONENT_Cr, m_chromaCrQpOffset );
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   if (pps.getJointCbCrQpOffsetPresentFlag())
     pps.setQpOffset(JOINT_CbCr, m_chromaCbCrQpOffset);
   else
     pps.setQpOffset(JOINT_CbCr, 0);
-#else
-  pps.setQpOffset(JOINT_CbCr, m_chromaCbCrQpOffset );
-#endif
 #if ER_CHROMA_QP_WCG_PPS
   }
 #endif
diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp
index 096d1692e..a3134a6b6 100644
--- a/source/Lib/EncoderLib/VLCWriter.cpp
+++ b/source/Lib/EncoderLib/VLCWriter.cpp
@@ -374,7 +374,6 @@ void HLSWriter::codePPS( const PPS* pcPPS, const SPS* pcSPS )
 
   WRITE_SVLC( pcPPS->getQpOffset(COMPONENT_Cb), "pps_cb_qp_offset" );
   WRITE_SVLC( pcPPS->getQpOffset(COMPONENT_Cr), "pps_cr_qp_offset" );
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   if (pcSPS->getJointCbCrEnabledFlag() == false || pcSPS->getChromaFormatIdc() == CHROMA_400)
   {
     CHECK(pcPPS->getJointCbCrQpOffsetPresentFlag(), "pps_jcbcr_qp_offset_present_flag should be false");
@@ -384,9 +383,6 @@ void HLSWriter::codePPS( const PPS* pcPPS, const SPS* pcSPS )
   {
     WRITE_SVLC(pcPPS->getQpOffset(JOINT_CbCr), "pps_joint_cbcr_qp_offset_value");
   }
-#else
-  WRITE_SVLC( pcPPS->getQpOffset(JOINT_CbCr),   "pps_joint_cbcr_qp_offset" );
-#endif
 
   WRITE_FLAG( pcPPS->getSliceChromaQpFlag() ? 1 : 0,          "pps_slice_chroma_qp_offsets_present_flag" );
 
@@ -399,14 +395,10 @@ void HLSWriter::codePPS( const PPS* pcPPS, const SPS* pcSPS )
     {
       WRITE_SVLC(pcPPS->getChromaQpOffsetListEntry(cuChromaQpOffsetIdx+1).u.comp.CbOffset,     "cb_qp_offset_list[i]");
       WRITE_SVLC(pcPPS->getChromaQpOffsetListEntry(cuChromaQpOffsetIdx+1).u.comp.CrOffset,     "cr_qp_offset_list[i]");
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
       if (pcPPS->getJointCbCrQpOffsetPresentFlag())
       {
         WRITE_SVLC(pcPPS->getChromaQpOffsetListEntry(cuChromaQpOffsetIdx + 1).u.comp.JointCbCrOffset, "joint_cbcr_qp_offset_list[i]");
       }
-#else
-      WRITE_SVLC(pcPPS->getChromaQpOffsetListEntry(cuChromaQpOffsetIdx + 1).u.comp.JointCbCrOffset, "joint_cbcr_qp_offset_list[i]");
-#endif
     }
   }
 
@@ -836,20 +828,14 @@ void HLSWriter::codeSPS( const SPS* pcSPS )
 
   WRITE_FLAG( (pcSPS->getLog2MaxTbSize() - 5) ? 1 : 0,                       "sps_max_luma_transform_size_64_flag" );
 
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
   WRITE_FLAG(pcSPS->getJointCbCrEnabledFlag(), "sps_joint_cbcr_enabled_flag");
-#endif
   if (pcSPS->getChromaFormatIdc() != CHROMA_400)
   {
     const ChromaQpMappingTable& chromaQpMappingTable = pcSPS->getChromaQpMappingTable();
     WRITE_FLAG(chromaQpMappingTable.getSameCQPTableForAllChromaFlag(), "same_qp_table_for_chroma");
-#if JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
     int numQpTables = chromaQpMappingTable.getSameCQPTableForAllChromaFlag() ? 1 : (pcSPS->getJointCbCrEnabledFlag() ? 3 : 2);
     CHECK(numQpTables != chromaQpMappingTable.getNumQpTables(), " numQpTables does not match at encoder side ");
     for (int i = 0; i < numQpTables; i++)
-#else
-    for (int i = 0; i < (chromaQpMappingTable.getSameCQPTableForAllChromaFlag() ? 1 : 3); i++)
-#endif
     {
       WRITE_SVLC(chromaQpMappingTable.getQpTableStartMinus26(i), "qp_table_starts_minus26");
       WRITE_UVLC(chromaQpMappingTable.getNumPtsInCQPTableMinus1(i), "num_points_in_qp_table_minus1");
@@ -891,9 +877,6 @@ void HLSWriter::codeSPS( const SPS* pcSPS )
     CHECK(pcSPS->getBDPCMEnabledFlag(), "BDPCM cannot be used when transform skip is disabled");
 #endif
   }
-#if !JVET_P0667_QP_OFFSET_TABLE_SIGNALING_JCCR
-  WRITE_FLAG( pcSPS->getJointCbCrEnabledFlag(),                                           "sps_joint_cbcr_enabled_flag");
-#endif
 
   WRITE_FLAG( pcSPS->getWrapAroundEnabledFlag() ? 1 : 0,                              "sps_ref_wraparound_enabled_flag" );
   if( pcSPS->getWrapAroundEnabledFlag() )
-- 
GitLab