diff --git a/source/App/EncoderApp/EncApp.cpp b/source/App/EncoderApp/EncApp.cpp index 7744a10648c9fb95b1c000e1d6bab9aabca81490..528021c5b39268052637dc3679c3f73750f61ebe 100644 --- a/source/App/EncoderApp/EncApp.cpp +++ b/source/App/EncoderApp/EncApp.cpp @@ -331,12 +331,10 @@ void EncApp::xInitLibCfg() m_cEncLib.setLoopFilterOffsetInPPS ( m_loopFilterOffsetInPPS ); m_cEncLib.setLoopFilterBetaOffset ( m_loopFilterBetaOffsetDiv2 ); m_cEncLib.setLoopFilterTcOffset ( m_loopFilterTcOffsetDiv2 ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS m_cEncLib.setLoopFilterCbBetaOffset ( m_loopFilterCbBetaOffsetDiv2 ); m_cEncLib.setLoopFilterCbTcOffset ( m_loopFilterCbTcOffsetDiv2 ); m_cEncLib.setLoopFilterCrBetaOffset ( m_loopFilterCrBetaOffsetDiv2 ); m_cEncLib.setLoopFilterCrTcOffset ( m_loopFilterCrTcOffsetDiv2 ); -#endif #if W0038_DB_OPT m_cEncLib.setDeblockingFilterMetric ( m_deblockingFilterMetric ); #else diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp index 012e961f3cde09e7453b05ef78a5d94fb74a3a9a..af0d431dec8fbda1fbe62dec8b447d06c7bc86d4 100644 --- a/source/App/EncoderApp/EncAppCfg.cpp +++ b/source/App/EncoderApp/EncAppCfg.cpp @@ -168,12 +168,10 @@ std::istringstream &operator>>(std::istringstream &in, GOPEntry &entry) //in in>>entry.m_QPFactor; in>>entry.m_tcOffsetDiv2; in>>entry.m_betaOffsetDiv2; -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS in>>entry.m_CbTcOffsetDiv2; in>>entry.m_CbBetaOffsetDiv2; in>>entry.m_CrTcOffsetDiv2; in>>entry.m_CrBetaOffsetDiv2; -#endif in>>entry.m_temporalId; in >> entry.m_numRefPicsActive0; in >> entry.m_numRefPics0; @@ -1064,12 +1062,10 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] ) ("LoopFilterOffsetInPPS", m_loopFilterOffsetInPPS, true) ("LoopFilterBetaOffset_div2", m_loopFilterBetaOffsetDiv2, 0) ("LoopFilterTcOffset_div2", m_loopFilterTcOffsetDiv2, 0) -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS ("LoopFilterCbBetaOffset_div2", m_loopFilterCbBetaOffsetDiv2, 0) ("LoopFilterCbTcOffset_div2", m_loopFilterCbTcOffsetDiv2, 0) ("LoopFilterCrBetaOffset_div2", m_loopFilterCrBetaOffsetDiv2, 0) ("LoopFilterCrTcOffset_div2", m_loopFilterCrTcOffsetDiv2, 0) -#endif #if W0038_DB_OPT ("DeblockingFilterMetric", m_deblockingFilterMetric, 0) #else @@ -2489,17 +2485,12 @@ bool EncAppCfg::xCheckParameter() #else xConfirmPara( m_DeblockingFilterMetric && (m_bLoopFilterDisable || m_loopFilterOffsetInPPS), "If DeblockingFilterMetric is true then both LoopFilterDisable and LoopFilterOffsetInPPS must be 0"); #endif -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS xConfirmPara( m_loopFilterBetaOffsetDiv2 < -12 || m_loopFilterBetaOffsetDiv2 > 12, "Loop Filter Beta Offset div. 2 exceeds supported range (-12 to 12" ); xConfirmPara( m_loopFilterTcOffsetDiv2 < -12 || m_loopFilterTcOffsetDiv2 > 12, "Loop Filter Tc Offset div. 2 exceeds supported range (-12 to 12)" ); xConfirmPara( m_loopFilterCbBetaOffsetDiv2 < -12 || m_loopFilterCbBetaOffsetDiv2 > 12, "Loop Filter Beta Offset div. 2 exceeds supported range (-12 to 12" ); xConfirmPara( m_loopFilterCbTcOffsetDiv2 < -12 || m_loopFilterCbTcOffsetDiv2 > 12, "Loop Filter Tc Offset div. 2 exceeds supported range (-12 to 12)" ); xConfirmPara( m_loopFilterCrBetaOffsetDiv2 < -12 || m_loopFilterCrBetaOffsetDiv2 > 12, "Loop Filter Beta Offset div. 2 exceeds supported range (-12 to 12" ); xConfirmPara( m_loopFilterCrTcOffsetDiv2 < -12 || m_loopFilterCrTcOffsetDiv2 > 12, "Loop Filter Tc Offset div. 2 exceeds supported range (-12 to 12)" ); -#else - xConfirmPara( m_loopFilterBetaOffsetDiv2 < -6 || m_loopFilterBetaOffsetDiv2 > 6, "Loop Filter Beta Offset div. 2 exceeds supported range (-6 to 6)" ); - xConfirmPara( m_loopFilterTcOffsetDiv2 < -6 || m_loopFilterTcOffsetDiv2 > 6, "Loop Filter Tc Offset div. 2 exceeds supported range (-6 to 6)" ); -#endif xConfirmPara( m_iSearchRange < 0 , "Search Range must be more than 0" ); xConfirmPara( m_bipredSearchRange < 0 , "Bi-prediction refinement search range must be more than 0" ); xConfirmPara( m_minSearchWindow < 0, "Minimum motion search window size for the adaptive window ME must be greater than or equal to 0" ); @@ -2715,12 +2706,10 @@ bool EncAppCfg::xCheckParameter() m_GOPList[0].m_QPFactor = 1; m_GOPList[0].m_betaOffsetDiv2 = 0; m_GOPList[0].m_tcOffsetDiv2 = 0; -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS m_GOPList[0].m_CbBetaOffsetDiv2 = 0; m_GOPList[0].m_CbTcOffsetDiv2 = 0; m_GOPList[0].m_CrBetaOffsetDiv2 = 0; m_GOPList[0].m_CrTcOffsetDiv2 = 0; -#endif m_GOPList[0].m_POC = 1; m_RPLList0[0] = RPLEntry(); m_RPLList1[0] = RPLEntry(); @@ -2763,17 +2752,12 @@ bool EncAppCfg::xCheckParameter() { for(int i=0; i<m_iGOPSize; i++) { -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS xConfirmPara( (m_GOPList[i].m_betaOffsetDiv2 + m_loopFilterBetaOffsetDiv2) < -12 || (m_GOPList[i].m_betaOffsetDiv2 + m_loopFilterBetaOffsetDiv2) > 12, "Loop Filter Beta Offset div. 2 for one of the GOP entries exceeds supported range (-12 to 12)" ); xConfirmPara( (m_GOPList[i].m_tcOffsetDiv2 + m_loopFilterTcOffsetDiv2) < -12 || (m_GOPList[i].m_tcOffsetDiv2 + m_loopFilterTcOffsetDiv2) > 12, "Loop Filter Tc Offset div. 2 for one of the GOP entries exceeds supported range (-12 to 12)" ); xConfirmPara( (m_GOPList[i].m_CbBetaOffsetDiv2 + m_loopFilterCbBetaOffsetDiv2) < -12 || (m_GOPList[i].m_CbBetaOffsetDiv2 + m_loopFilterCbBetaOffsetDiv2) > 12, "Loop Filter Beta Offset div. 2 for one of the GOP entries exceeds supported range (-12 to 12)" ); xConfirmPara( (m_GOPList[i].m_CbTcOffsetDiv2 + m_loopFilterCbTcOffsetDiv2) < -12 || (m_GOPList[i].m_CbTcOffsetDiv2 + m_loopFilterCbTcOffsetDiv2) > 12, "Loop Filter Tc Offset div. 2 for one of the GOP entries exceeds supported range (-12 to 12)" ); xConfirmPara( (m_GOPList[i].m_CrBetaOffsetDiv2 + m_loopFilterCrBetaOffsetDiv2) < -12 || (m_GOPList[i].m_CrBetaOffsetDiv2 + m_loopFilterCrBetaOffsetDiv2) > 12, "Loop Filter Beta Offset div. 2 for one of the GOP entries exceeds supported range (-12 to 12)" ); xConfirmPara( (m_GOPList[i].m_CrTcOffsetDiv2 + m_loopFilterCrTcOffsetDiv2) < -12 || (m_GOPList[i].m_CrTcOffsetDiv2 + m_loopFilterCrTcOffsetDiv2) > 12, "Loop Filter Tc Offset div. 2 for one of the GOP entries exceeds supported range (-12 to 12)" ); -#else - xConfirmPara( (m_GOPList[i].m_betaOffsetDiv2 + m_loopFilterBetaOffsetDiv2) < -6 || (m_GOPList[i].m_betaOffsetDiv2 + m_loopFilterBetaOffsetDiv2) > 6, "Loop Filter Beta Offset div. 2 for one of the GOP entries exceeds supported range (-6 to 6)" ); - xConfirmPara( (m_GOPList[i].m_tcOffsetDiv2 + m_loopFilterTcOffsetDiv2) < -6 || (m_GOPList[i].m_tcOffsetDiv2 + m_loopFilterTcOffsetDiv2) > 6, "Loop Filter Tc Offset div. 2 for one of the GOP entries exceeds supported range (-6 to 6)" ); -#endif } } diff --git a/source/App/EncoderApp/EncAppCfg.h b/source/App/EncoderApp/EncAppCfg.h index 344c15026e0c0d4c59750e9440244f40ffc2bcd5..6cc1f1c966645b86e76e7bab644642c455581d24 100644 --- a/source/App/EncoderApp/EncAppCfg.h +++ b/source/App/EncoderApp/EncAppCfg.h @@ -419,12 +419,10 @@ protected: bool m_loopFilterOffsetInPPS; ///< offset for deblocking filter in 0 = slice header, 1 = PPS int m_loopFilterBetaOffsetDiv2; ///< beta offset for deblocking filter int m_loopFilterTcOffsetDiv2; ///< tc offset for deblocking filter -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS int m_loopFilterCbBetaOffsetDiv2; ///< beta offset for Cb deblocking filter int m_loopFilterCbTcOffsetDiv2; ///< tc offset for Cb deblocking filter int m_loopFilterCrBetaOffsetDiv2; ///< beta offset for Cr deblocking filter int m_loopFilterCrTcOffsetDiv2; ///< tc offset for Cr deblocking filter -#endif #if W0038_DB_OPT int m_deblockingFilterMetric; ///< blockiness metric in encoder #else diff --git a/source/Lib/CommonLib/LoopFilter.cpp b/source/Lib/CommonLib/LoopFilter.cpp index a79223d39e06a8b37c46ccf117260804af6a3a88..782a5cfc4bedd3ce5a59db4552a854b16b878513 100644 --- a/source/Lib/CommonLib/LoopFilter.cpp +++ b/source/Lib/CommonLib/LoopFilter.cpp @@ -1194,13 +1194,8 @@ void LoopFilter::xEdgeFilterChroma(const CodingUnit& cu, const DeblockEdgeDir ed bool bPartPNoFilter = false; bool bPartQNoFilter = false; -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS const int tcOffsetDiv2[2] = { slice.getDeblockingFilterCbTcOffsetDiv2(), slice.getDeblockingFilterCrTcOffsetDiv2() }; const int betaOffsetDiv2[2] = { slice.getDeblockingFilterCbBetaOffsetDiv2(), slice.getDeblockingFilterCrBetaOffsetDiv2() }; -#else - const int tcOffsetDiv2 = slice.getDeblockingFilterTcOffsetDiv2(); - const int betaOffsetDiv2 = slice.getDeblockingFilterBetaOffsetDiv2(); -#endif // Vertical Position unsigned uiEdgeNumInCtuVert = rasterIdx % pcv.partsInCtuWidth + iEdge; @@ -1320,20 +1315,12 @@ void LoopFilter::xEdgeFilterChroma(const CodingUnit& cu, const DeblockEdgeDir ed int iQP = ((baseQp_Q + baseQp_P + 1) >> 1); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS const int iIndexTC = Clip3<int>(0, MAX_QP + DEFAULT_INTRA_TC_OFFSET, iQP + DEFAULT_INTRA_TC_OFFSET * (bS[chromaIdx] - 1) + (tcOffsetDiv2[chromaIdx] << 1)); -#else - const int iIndexTC = Clip3<int>(0, MAX_QP + DEFAULT_INTRA_TC_OFFSET, iQP + DEFAULT_INTRA_TC_OFFSET * (bS[chromaIdx] - 1) + (tcOffsetDiv2 << 1)); -#endif const int iTc = sps.getBitDepth(CHANNEL_TYPE_CHROMA) < 10 ? ((sm_tcTable[iIndexTC] + 2) >> (10 - sps.getBitDepth(CHANNEL_TYPE_CHROMA))) : ((sm_tcTable[iIndexTC]) << (sps.getBitDepth(CHANNEL_TYPE_CHROMA) - 10)); bool useLongFilter = false; if (largeBoundary) { -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS const int indexB = Clip3<int>(0, MAX_QP, iQP + (betaOffsetDiv2[chromaIdx] << 1)); -#else - const int indexB = Clip3<int>(0, MAX_QP, iQP + (betaOffsetDiv2 << 1)); -#endif const int beta = sm_betaTable[indexB] * iBitdepthScale; const int dp0 = xCalcDP(piTmpSrcChroma + iSrcStep*(iIdx*uiLoopLength + 0), iOffset, isChromaHorCTBBoundary); diff --git a/source/Lib/CommonLib/Slice.cpp b/source/Lib/CommonLib/Slice.cpp index 258a3e48ac8ba3d8ace3136299423ea7ca5f4c79..615dfd6e42b312a92cdc47346db8718f637f5c59 100644 --- a/source/Lib/CommonLib/Slice.cpp +++ b/source/Lib/CommonLib/Slice.cpp @@ -67,12 +67,10 @@ Slice::Slice() , m_deblockingFilterOverrideFlag ( false ) , m_deblockingFilterBetaOffsetDiv2( 0 ) , m_deblockingFilterTcOffsetDiv2 ( 0 ) -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS , m_deblockingFilterCbBetaOffsetDiv2( 0 ) , m_deblockingFilterCbTcOffsetDiv2 ( 0 ) , m_deblockingFilterCrBetaOffsetDiv2( 0 ) , m_deblockingFilterCrTcOffsetDiv2 ( 0 ) -#endif , m_tsResidualCodingDisabledFlag ( false ) , m_pendingRasInit ( false ) , m_bCheckLDC ( false ) @@ -228,12 +226,10 @@ void Slice::inheritFromPicHeader( PicHeader *picHeader, const PPS *pps, const SP setDeblockingFilterDisable( picHeader->getDeblockingFilterDisable() ); setDeblockingFilterBetaOffsetDiv2( picHeader->getDeblockingFilterBetaOffsetDiv2() ); setDeblockingFilterTcOffsetDiv2( picHeader->getDeblockingFilterTcOffsetDiv2() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS setDeblockingFilterCbBetaOffsetDiv2( picHeader->getDeblockingFilterCbBetaOffsetDiv2() ); setDeblockingFilterCbTcOffsetDiv2( picHeader->getDeblockingFilterCbTcOffsetDiv2() ); setDeblockingFilterCrBetaOffsetDiv2( picHeader->getDeblockingFilterCrBetaOffsetDiv2() ); setDeblockingFilterCrTcOffsetDiv2( picHeader->getDeblockingFilterCrTcOffsetDiv2() ); -#endif setSaoEnabledFlag(CHANNEL_TYPE_LUMA, picHeader->getSaoEnabledFlag(CHANNEL_TYPE_LUMA)); setSaoEnabledFlag(CHANNEL_TYPE_CHROMA, picHeader->getSaoEnabledFlag(CHANNEL_TYPE_CHROMA)); @@ -941,12 +937,10 @@ void Slice::copySliceInfo(Slice *pSrc, bool cpyAlmostAll) m_deblockingFilterOverrideFlag = pSrc->m_deblockingFilterOverrideFlag; m_deblockingFilterBetaOffsetDiv2 = pSrc->m_deblockingFilterBetaOffsetDiv2; m_deblockingFilterTcOffsetDiv2 = pSrc->m_deblockingFilterTcOffsetDiv2; -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS m_deblockingFilterCbBetaOffsetDiv2 = pSrc->m_deblockingFilterCbBetaOffsetDiv2; m_deblockingFilterCbTcOffsetDiv2 = pSrc->m_deblockingFilterCbTcOffsetDiv2; m_deblockingFilterCrBetaOffsetDiv2 = pSrc->m_deblockingFilterCrBetaOffsetDiv2; m_deblockingFilterCrTcOffsetDiv2 = pSrc->m_deblockingFilterCrTcOffsetDiv2; -#endif m_tsResidualCodingDisabledFlag = pSrc->m_tsResidualCodingDisabledFlag; for (i = 0; i < NUM_REF_PIC_LIST_01; i++) @@ -2218,12 +2212,10 @@ PicHeader::PicHeader() , m_deblockingFilterDisable ( 0 ) , m_deblockingFilterBetaOffsetDiv2 ( 0 ) , m_deblockingFilterTcOffsetDiv2 ( 0 ) -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS , m_deblockingFilterCbBetaOffsetDiv2 ( 0 ) , m_deblockingFilterCbTcOffsetDiv2 ( 0 ) , m_deblockingFilterCrBetaOffsetDiv2 ( 0 ) , m_deblockingFilterCrTcOffsetDiv2 ( 0 ) -#endif , m_lmcsEnabledFlag ( 0 ) , m_lmcsApsId ( -1 ) , m_lmcsAps ( nullptr ) @@ -2311,12 +2303,10 @@ void PicHeader::initPicHeader() m_deblockingFilterDisable = 0; m_deblockingFilterBetaOffsetDiv2 = 0; m_deblockingFilterTcOffsetDiv2 = 0; -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS m_deblockingFilterCbBetaOffsetDiv2 = 0; m_deblockingFilterCbTcOffsetDiv2 = 0; m_deblockingFilterCrBetaOffsetDiv2 = 0; m_deblockingFilterCrTcOffsetDiv2 = 0; -#endif m_lmcsEnabledFlag = 0; m_lmcsApsId = -1; m_lmcsAps = nullptr; diff --git a/source/Lib/CommonLib/Slice.h b/source/Lib/CommonLib/Slice.h index 6c50256f8f27457c3953ed6463fb103ec79b32e5..3773d57cc99cc0556af8c180bb716bab9b8805e6 100644 --- a/source/Lib/CommonLib/Slice.h +++ b/source/Lib/CommonLib/Slice.h @@ -1884,12 +1884,10 @@ private: bool m_ppsDeblockingFilterDisabledFlag; int m_deblockingFilterBetaOffsetDiv2; //< beta offset for deblocking filter int m_deblockingFilterTcOffsetDiv2; //< tc offset for deblocking filter -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS int m_deblockingFilterCbBetaOffsetDiv2; //< beta offset for Cb deblocking filter int m_deblockingFilterCbTcOffsetDiv2; //< tc offset for Cb deblocking filter int m_deblockingFilterCrBetaOffsetDiv2; //< beta offset for Cr deblocking filter int m_deblockingFilterCrTcOffsetDiv2; //< tc offset for Cr deblocking filter -#endif bool m_listsModificationPresentFlag; bool m_rplInfoInPhFlag; @@ -2102,7 +2100,6 @@ public: int getDeblockingFilterBetaOffsetDiv2() const { return m_deblockingFilterBetaOffsetDiv2; } //!< get beta offset for deblocking filter void setDeblockingFilterTcOffsetDiv2(int val) { m_deblockingFilterTcOffsetDiv2 = val; } //!< set tc offset for deblocking filter int getDeblockingFilterTcOffsetDiv2() const { return m_deblockingFilterTcOffsetDiv2; } //!< get tc offset for deblocking filter -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS void setDeblockingFilterCbBetaOffsetDiv2(int val) { m_deblockingFilterCbBetaOffsetDiv2 = val; } //!< set beta offset for Cb deblocking filter int getDeblockingFilterCbBetaOffsetDiv2() const { return m_deblockingFilterCbBetaOffsetDiv2; } //!< get beta offset for Cb deblocking filter void setDeblockingFilterCbTcOffsetDiv2(int val) { m_deblockingFilterCbTcOffsetDiv2 = val; } //!< set tc offset for Cb deblocking filter @@ -2111,7 +2108,6 @@ public: int getDeblockingFilterCrBetaOffsetDiv2() const { return m_deblockingFilterCrBetaOffsetDiv2; } //!< get beta offset for Cr deblocking filter void setDeblockingFilterCrTcOffsetDiv2(int val) { m_deblockingFilterCrTcOffsetDiv2 = val; } //!< set tc offset for Cr deblocking filter int getDeblockingFilterCrTcOffsetDiv2() const { return m_deblockingFilterCrTcOffsetDiv2; } //!< get tc offset for Cr deblocking filter -#endif bool getListsModificationPresentFlag() const { return m_listsModificationPresentFlag; } void setListsModificationPresentFlag( bool b ) { m_listsModificationPresentFlag = b; } bool getPictureHeaderExtensionPresentFlag() const { return m_pictureHeaderExtensionPresentFlag; } @@ -2285,12 +2281,10 @@ private: bool m_deblockingFilterDisable; //!< deblocking filter disabled flag int m_deblockingFilterBetaOffsetDiv2; //!< beta offset for deblocking filter int m_deblockingFilterTcOffsetDiv2; //!< tc offset for deblocking filter -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS int m_deblockingFilterCbBetaOffsetDiv2; //!< beta offset for deblocking filter int m_deblockingFilterCbTcOffsetDiv2; //!< tc offset for deblocking filter int m_deblockingFilterCrBetaOffsetDiv2; //!< beta offset for deblocking filter int m_deblockingFilterCrTcOffsetDiv2; //!< tc offset for deblocking filter -#endif bool m_lmcsEnabledFlag; //!< lmcs enabled flag int m_lmcsApsId; //!< lmcs APS ID APS* m_lmcsAps; //!< lmcs APS @@ -2430,7 +2424,6 @@ public: int getDeblockingFilterBetaOffsetDiv2()const { return m_deblockingFilterBetaOffsetDiv2; } void setDeblockingFilterTcOffsetDiv2( int i ) { m_deblockingFilterTcOffsetDiv2 = i; } int getDeblockingFilterTcOffsetDiv2() const { return m_deblockingFilterTcOffsetDiv2; } -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS void setDeblockingFilterCbBetaOffsetDiv2( int i ) { m_deblockingFilterCbBetaOffsetDiv2 = i; } int getDeblockingFilterCbBetaOffsetDiv2()const { return m_deblockingFilterCbBetaOffsetDiv2; } void setDeblockingFilterCbTcOffsetDiv2( int i ) { m_deblockingFilterCbTcOffsetDiv2 = i; } @@ -2439,7 +2432,6 @@ public: int getDeblockingFilterCrBetaOffsetDiv2()const { return m_deblockingFilterCrBetaOffsetDiv2; } void setDeblockingFilterCrTcOffsetDiv2( int i ) { m_deblockingFilterCrTcOffsetDiv2 = i; } int getDeblockingFilterCrTcOffsetDiv2() const { return m_deblockingFilterCrTcOffsetDiv2; } -#endif void setLmcsEnabledFlag(bool b) { m_lmcsEnabledFlag = b; } bool getLmcsEnabledFlag() { return m_lmcsEnabledFlag; } const bool getLmcsEnabledFlag() const { return m_lmcsEnabledFlag; } @@ -2548,12 +2540,10 @@ private: bool m_deblockingFilterOverrideFlag; //< offsets for deblocking filter inherit from PPS int m_deblockingFilterBetaOffsetDiv2; //< beta offset for deblocking filter int m_deblockingFilterTcOffsetDiv2; //< tc offset for deblocking filter -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS int m_deblockingFilterCbBetaOffsetDiv2; //< beta offset for deblocking filter int m_deblockingFilterCbTcOffsetDiv2; //< tc offset for deblocking filter int m_deblockingFilterCrBetaOffsetDiv2; //< beta offset for deblocking filter int m_deblockingFilterCrTcOffsetDiv2; //< tc offset for deblocking filter -#endif bool m_tsResidualCodingDisabledFlag; int m_list1IdxToList0Idx[MAX_NUM_REF]; int m_aiNumRefIdx [NUM_REF_PIC_LIST_01]; // for multiple reference of current slice @@ -2685,12 +2675,10 @@ public: bool getDeblockingFilterOverrideFlag() const { return m_deblockingFilterOverrideFlag; } int getDeblockingFilterBetaOffsetDiv2()const { return m_deblockingFilterBetaOffsetDiv2; } int getDeblockingFilterTcOffsetDiv2() const { return m_deblockingFilterTcOffsetDiv2; } -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS int getDeblockingFilterCbBetaOffsetDiv2()const { return m_deblockingFilterCbBetaOffsetDiv2; } int getDeblockingFilterCbTcOffsetDiv2() const { return m_deblockingFilterCbTcOffsetDiv2; } int getDeblockingFilterCrBetaOffsetDiv2()const { return m_deblockingFilterCrBetaOffsetDiv2; } int getDeblockingFilterCrTcOffsetDiv2() const { return m_deblockingFilterCrTcOffsetDiv2; } -#endif bool getPendingRasInit() const { return m_pendingRasInit; } void setPendingRasInit( bool val ) { m_pendingRasInit = val; } @@ -2746,12 +2734,10 @@ public: void setDeblockingFilterOverrideFlag( bool b ) { m_deblockingFilterOverrideFlag = b; } void setDeblockingFilterBetaOffsetDiv2( int i ) { m_deblockingFilterBetaOffsetDiv2 = i; } void setDeblockingFilterTcOffsetDiv2( int i ) { m_deblockingFilterTcOffsetDiv2 = i; } -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS void setDeblockingFilterCbBetaOffsetDiv2( int i ) { m_deblockingFilterCbBetaOffsetDiv2 = i; } void setDeblockingFilterCbTcOffsetDiv2( int i ) { m_deblockingFilterCbTcOffsetDiv2 = i; } void setDeblockingFilterCrBetaOffsetDiv2( int i ) { m_deblockingFilterCrBetaOffsetDiv2 = i; } void setDeblockingFilterCrTcOffsetDiv2( int i ) { m_deblockingFilterCrTcOffsetDiv2 = i; } -#endif void setTSResidualCodingDisabledFlag(bool b) { m_tsResidualCodingDisabledFlag = b; } bool getTSResidualCodingDisabledFlag() const { return m_tsResidualCodingDisabledFlag; } diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index c31865a4e8d7ce2880157e9c7c430fe8c7969ede..aca24cc5b85f48bb550048292b1d8ab1fa60f784 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -136,7 +136,6 @@ -#define JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS 1 // JVET-Q0121: Add deblocking control parameters for Cb and Cr and extend the parameter ranges #define JVET_Q0517_RPR_AFFINE_DS 1 // JVET-Q0517: affine down-sampling filters for RPR diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp index 2a6b100ce2a3807f867d5e76d55f320f8a955f8a..f0457351d26cfaea6ca6d62841d1111d63b35d78 100644 --- a/source/Lib/DecoderLib/VLCReader.cpp +++ b/source/Lib/DecoderLib/VLCReader.cpp @@ -786,7 +786,6 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS ) READ_FLAG( uiCode, "pps_deblocking_filter_disabled_flag" ); pcPPS->setPPSDeblockingFilterDisabledFlag(uiCode ? true : false ); if(!pcPPS->getPPSDeblockingFilterDisabledFlag()) { -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS READ_SVLC( iCode, "pps_beta_offset_div2" ); pcPPS->setDeblockingFilterBetaOffsetDiv2( iCode ); CHECK( pcPPS->getDeblockingFilterBetaOffsetDiv2() < -12 || pcPPS->getDeblockingFilterBetaOffsetDiv2() > 12, "Invalid deblocking filter configuration" ); @@ -810,10 +809,6 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS ) READ_SVLC( iCode, "pps_cr_tc_offset_div2"); pcPPS->setDeblockingFilterCrTcOffsetDiv2( iCode ); CHECK( pcPPS->getDeblockingFilterCrTcOffsetDiv2() < -12 || pcPPS->getDeblockingFilterCrTcOffsetDiv2() > 12, "Invalid deblocking filter configuration" ); -#else - READ_SVLC ( iCode, "pps_beta_offset_div2" ); pcPPS->setDeblockingFilterBetaOffsetDiv2( iCode ); - READ_SVLC ( iCode, "pps_tc_offset_div2" ); pcPPS->setDeblockingFilterTcOffsetDiv2( iCode ); -#endif } } else @@ -3039,7 +3034,6 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag if(picHeader->getDeblockingFilterOverrideFlag()) { -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS READ_FLAG( uiCode, "ph_deblocking_filter_disabled_flag" ); picHeader->setDeblockingFilterDisable(uiCode != 0); if (!picHeader->getDeblockingFilterDisable()) @@ -3074,34 +3068,16 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag CHECK( picHeader->getDeblockingFilterCrTcOffsetDiv2() < -12 || picHeader->getDeblockingFilterCrTcOffsetDiv2() > 12, "Invalid deblocking filter configuration"); } -#else - READ_FLAG ( uiCode, "pic_deblocking_filter_disabled_flag" ); - picHeader->setDeblockingFilterDisable(uiCode != 0); - if(!picHeader->getDeblockingFilterDisable()) - { - READ_SVLC( iCode, "pic_beta_offset_div2" ); - picHeader->setDeblockingFilterBetaOffsetDiv2(iCode); - CHECK( picHeader->getDeblockingFilterBetaOffsetDiv2() < -6 && - picHeader->getDeblockingFilterBetaOffsetDiv2() > 6, "Invalid deblocking filter configuration"); - - READ_SVLC( iCode, "pic_tc_offset_div2" ); - picHeader->setDeblockingFilterTcOffsetDiv2(iCode); - CHECK (picHeader->getDeblockingFilterTcOffsetDiv2() < -6 && - picHeader->getDeblockingFilterTcOffsetDiv2() > 6, "Invalid deblocking filter configuration"); - } -#endif } else { picHeader->setDeblockingFilterDisable ( pps->getPPSDeblockingFilterDisabledFlag() ); picHeader->setDeblockingFilterBetaOffsetDiv2( pps->getDeblockingFilterBetaOffsetDiv2() ); picHeader->setDeblockingFilterTcOffsetDiv2 ( pps->getDeblockingFilterTcOffsetDiv2() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS picHeader->setDeblockingFilterCbBetaOffsetDiv2( pps->getDeblockingFilterCbBetaOffsetDiv2() ); picHeader->setDeblockingFilterCbTcOffsetDiv2 ( pps->getDeblockingFilterCbTcOffsetDiv2() ); picHeader->setDeblockingFilterCrBetaOffsetDiv2( pps->getDeblockingFilterCrBetaOffsetDiv2() ); picHeader->setDeblockingFilterCrTcOffsetDiv2 ( pps->getDeblockingFilterCrTcOffsetDiv2() ); -#endif } } else @@ -3109,12 +3085,10 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag picHeader->setDeblockingFilterDisable ( false ); picHeader->setDeblockingFilterBetaOffsetDiv2( 0 ); picHeader->setDeblockingFilterTcOffsetDiv2 ( 0 ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS picHeader->setDeblockingFilterCbBetaOffsetDiv2( 0 ); picHeader->setDeblockingFilterCbTcOffsetDiv2 ( 0 ); picHeader->setDeblockingFilterCrBetaOffsetDiv2(0); picHeader->setDeblockingFilterCrTcOffsetDiv2(0); -#endif } @@ -3879,7 +3853,6 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par READ_FLAG ( uiCode, "slice_deblocking_filter_disabled_flag" ); pcSlice->setDeblockingFilterDisable(uiCode ? 1 : 0); if(!pcSlice->getDeblockingFilterDisable()) { -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS READ_SVLC( iCode, "slice_beta_offset_div2" ); pcSlice->setDeblockingFilterBetaOffsetDiv2( iCode ); CHECK( pcSlice->getDeblockingFilterBetaOffsetDiv2() < -12 || pcSlice->getDeblockingFilterBetaOffsetDiv2() > 12, "Invalid deblocking filter configuration"); @@ -3900,14 +3873,6 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par READ_SVLC( iCode, "slice_cr_tc_offset_div2" ); pcSlice->setDeblockingFilterCrTcOffsetDiv2( iCode ); CHECK( pcSlice->getDeblockingFilterCrTcOffsetDiv2() < -12 || pcSlice->getDeblockingFilterCrTcOffsetDiv2() > 12, "Invalid deblocking filter configuration"); -#else - READ_SVLC( iCode, "slice_beta_offset_div2" ); pcSlice->setDeblockingFilterBetaOffsetDiv2(iCode); - CHECK( pcSlice->getDeblockingFilterBetaOffsetDiv2() < -6 && - pcSlice->getDeblockingFilterBetaOffsetDiv2() > 6, "Invalid deblocking filter configuration"); - READ_SVLC( iCode, "slice_tc_offset_div2" ); pcSlice->setDeblockingFilterTcOffsetDiv2(iCode); - CHECK (pcSlice->getDeblockingFilterTcOffsetDiv2() < -6 && - pcSlice->getDeblockingFilterTcOffsetDiv2() > 6, "Invalid deblocking filter configuration"); -#endif } } else @@ -3915,12 +3880,10 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par pcSlice->setDeblockingFilterDisable ( picHeader->getDeblockingFilterDisable() ); pcSlice->setDeblockingFilterBetaOffsetDiv2( picHeader->getDeblockingFilterBetaOffsetDiv2() ); pcSlice->setDeblockingFilterTcOffsetDiv2 ( picHeader->getDeblockingFilterTcOffsetDiv2() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pcSlice->setDeblockingFilterCbBetaOffsetDiv2( picHeader->getDeblockingFilterCbBetaOffsetDiv2() ); pcSlice->setDeblockingFilterCbTcOffsetDiv2 ( picHeader->getDeblockingFilterCbTcOffsetDiv2() ); pcSlice->setDeblockingFilterCrBetaOffsetDiv2(picHeader->getDeblockingFilterCrBetaOffsetDiv2()); pcSlice->setDeblockingFilterCrTcOffsetDiv2(picHeader->getDeblockingFilterCrTcOffsetDiv2()); -#endif } } else @@ -3928,12 +3891,10 @@ void HLSyntaxReader::parseSliceHeader (Slice* pcSlice, PicHeader* picHeader, Par pcSlice->setDeblockingFilterDisable ( false ); pcSlice->setDeblockingFilterBetaOffsetDiv2( 0 ); pcSlice->setDeblockingFilterTcOffsetDiv2 ( 0 ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pcSlice->setDeblockingFilterCbBetaOffsetDiv2( 0 ); pcSlice->setDeblockingFilterCbTcOffsetDiv2 ( 0 ); pcSlice->setDeblockingFilterCrBetaOffsetDiv2( 0 ); pcSlice->setDeblockingFilterCrTcOffsetDiv2 ( 0 ); -#endif } READ_FLAG(uiCode, "slice_ts_residual_coding_disabled_flag"); diff --git a/source/Lib/EncoderLib/EncCfg.h b/source/Lib/EncoderLib/EncCfg.h index cf351e9a8ab4cd398c3c751dc66f63bdd2478dfc..542cf2cfedb13f26f5ae5be8895212ab5cb89836 100644 --- a/source/Lib/EncoderLib/EncCfg.h +++ b/source/Lib/EncoderLib/EncCfg.h @@ -68,12 +68,10 @@ struct GOPEntry double m_QPFactor; int m_tcOffsetDiv2; int m_betaOffsetDiv2; -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS int m_CbTcOffsetDiv2; int m_CbBetaOffsetDiv2; int m_CrTcOffsetDiv2; int m_CrBetaOffsetDiv2; -#endif int m_temporalId; bool m_refPic; int8_t m_sliceType; @@ -99,12 +97,10 @@ struct GOPEntry , m_QPFactor(0) , m_tcOffsetDiv2(0) , m_betaOffsetDiv2(0) -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS , m_CbTcOffsetDiv2(0) , m_CbBetaOffsetDiv2(0) , m_CrTcOffsetDiv2(0) , m_CrBetaOffsetDiv2(0) -#endif , m_temporalId(0) , m_refPic(false) , m_sliceType('P') @@ -388,12 +384,10 @@ protected: bool m_loopFilterOffsetInPPS; int m_loopFilterBetaOffsetDiv2; int m_loopFilterTcOffsetDiv2; -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS int m_loopFilterCbBetaOffsetDiv2; int m_loopFilterCbTcOffsetDiv2; int m_loopFilterCrBetaOffsetDiv2; int m_loopFilterCrTcOffsetDiv2; -#endif #if W0038_DB_OPT int m_deblockingFilterMetric; #else @@ -1176,12 +1170,10 @@ public: void setLoopFilterOffsetInPPS ( bool b ) { m_loopFilterOffsetInPPS = b; } void setLoopFilterBetaOffset ( int i ) { m_loopFilterBetaOffsetDiv2 = i; } void setLoopFilterTcOffset ( int i ) { m_loopFilterTcOffsetDiv2 = i; } -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS void setLoopFilterCbBetaOffset ( int i ) { m_loopFilterCbBetaOffsetDiv2 = i; } void setLoopFilterCbTcOffset ( int i ) { m_loopFilterCbTcOffsetDiv2 = i; } void setLoopFilterCrBetaOffset ( int i ) { m_loopFilterCrBetaOffsetDiv2 = i; } void setLoopFilterCrTcOffset ( int i ) { m_loopFilterCrTcOffsetDiv2 = i; } -#endif #if W0038_DB_OPT void setDeblockingFilterMetric ( int i ) { m_deblockingFilterMetric = i; } #else @@ -1294,12 +1286,10 @@ public: bool getLoopFilterOffsetInPPS () { return m_loopFilterOffsetInPPS; } int getLoopFilterBetaOffset () { return m_loopFilterBetaOffsetDiv2; } int getLoopFilterTcOffset () { return m_loopFilterTcOffsetDiv2; } -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS int getLoopFilterCbBetaOffset () { return m_loopFilterCbBetaOffsetDiv2; } int getLoopFilterCbTcOffset () { return m_loopFilterCbTcOffsetDiv2; } int getLoopFilterCrBetaOffset () { return m_loopFilterCrBetaOffsetDiv2; } int getLoopFilterCrTcOffset () { return m_loopFilterCrTcOffsetDiv2; } -#endif #if W0038_DB_OPT int getDeblockingFilterMetric () { return m_deblockingFilterMetric; } #else diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp index 0d364e1fe58156345c53d4d3e90465c42be34703..102b7e8eeed7fa2f3c768110a990b07a05a90980 100644 --- a/source/Lib/EncoderLib/EncGOP.cpp +++ b/source/Lib/EncoderLib/EncGOP.cpp @@ -3140,12 +3140,10 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic, picHeader->setDeblockingFilterDisable ( pcSlice->getDeblockingFilterDisable() ); picHeader->setDeblockingFilterBetaOffsetDiv2 ( pcSlice->getDeblockingFilterBetaOffsetDiv2() ); picHeader->setDeblockingFilterTcOffsetDiv2 ( pcSlice->getDeblockingFilterTcOffsetDiv2() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS picHeader->setDeblockingFilterCbBetaOffsetDiv2( pcSlice->getDeblockingFilterCbBetaOffsetDiv2() ); picHeader->setDeblockingFilterCbTcOffsetDiv2 ( pcSlice->getDeblockingFilterCbTcOffsetDiv2() ); picHeader->setDeblockingFilterCrBetaOffsetDiv2( pcSlice->getDeblockingFilterCrBetaOffsetDiv2() ); picHeader->setDeblockingFilterCrTcOffsetDiv2 ( pcSlice->getDeblockingFilterCrTcOffsetDiv2() ); -#endif } if (!m_pcCfg->getSliceLevelDeltaQp()) @@ -4940,12 +4938,10 @@ void EncGOP::applyDeblockingFilterMetric( Picture* pcPic, uint32_t uiNumSlices ) pcLocalSlice->setDeblockingFilterDisable ( false); pcLocalSlice->setDeblockingFilterBetaOffsetDiv2 ( offset ); pcLocalSlice->setDeblockingFilterTcOffsetDiv2 ( offset ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pcLocalSlice->setDeblockingFilterCbBetaOffsetDiv2 ( offset ); pcLocalSlice->setDeblockingFilterCbTcOffsetDiv2 ( offset ); pcLocalSlice->setDeblockingFilterCrBetaOffsetDiv2 ( offset ); pcLocalSlice->setDeblockingFilterCrTcOffsetDiv2 ( offset ); -#endif } } else @@ -4958,12 +4954,10 @@ void EncGOP::applyDeblockingFilterMetric( Picture* pcPic, uint32_t uiNumSlices ) pcLocalSlice->setDeblockingFilterDisable ( pcPPS->getPPSDeblockingFilterDisabledFlag() ); pcLocalSlice->setDeblockingFilterBetaOffsetDiv2( pcPPS->getDeblockingFilterBetaOffsetDiv2() ); pcLocalSlice->setDeblockingFilterTcOffsetDiv2 ( pcPPS->getDeblockingFilterTcOffsetDiv2() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pcLocalSlice->setDeblockingFilterCbBetaOffsetDiv2 ( pcPPS->getDeblockingFilterCbBetaOffsetDiv2() ); pcLocalSlice->setDeblockingFilterCbTcOffsetDiv2 ( pcPPS->getDeblockingFilterCbTcOffsetDiv2() ); pcLocalSlice->setDeblockingFilterCrBetaOffsetDiv2 ( pcPPS->getDeblockingFilterCrBetaOffsetDiv2() ); pcLocalSlice->setDeblockingFilterCrTcOffsetDiv2 ( pcPPS->getDeblockingFilterCrTcOffsetDiv2() ); -#endif } } } @@ -5025,12 +5019,10 @@ void EncGOP::applyDeblockingFilterParameterSelection( Picture* pcPic, const uint pcSlice->setDeblockingFilterDisable ( false); pcSlice->setDeblockingFilterBetaOffsetDiv2( betaOffsetDiv2 ); pcSlice->setDeblockingFilterTcOffsetDiv2 ( tcOffsetDiv2 ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pcSlice->setDeblockingFilterCbBetaOffsetDiv2( betaOffsetDiv2 ); pcSlice->setDeblockingFilterCbTcOffsetDiv2 ( tcOffsetDiv2 ); pcSlice->setDeblockingFilterCrBetaOffsetDiv2( betaOffsetDiv2 ); pcSlice->setDeblockingFilterCrTcOffsetDiv2 ( tcOffsetDiv2 ); -#endif } // restore reconstruction @@ -5089,12 +5081,10 @@ void EncGOP::applyDeblockingFilterParameterSelection( Picture* pcPic, const uint pcSlice->setDeblockingFilterDisable ( pcPPS->getPPSDeblockingFilterDisabledFlag() ); pcSlice->setDeblockingFilterBetaOffsetDiv2 ( pcPPS->getDeblockingFilterBetaOffsetDiv2() ); pcSlice->setDeblockingFilterTcOffsetDiv2 ( pcPPS->getDeblockingFilterTcOffsetDiv2() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pcSlice->setDeblockingFilterCbBetaOffsetDiv2 ( pcPPS->getDeblockingFilterBetaOffsetDiv2() ); pcSlice->setDeblockingFilterCbTcOffsetDiv2 ( pcPPS->getDeblockingFilterTcOffsetDiv2() ); pcSlice->setDeblockingFilterCrBetaOffsetDiv2 ( pcPPS->getDeblockingFilterBetaOffsetDiv2() ); pcSlice->setDeblockingFilterCrTcOffsetDiv2 ( pcPPS->getDeblockingFilterTcOffsetDiv2() ); -#endif } } else @@ -5106,12 +5096,10 @@ void EncGOP::applyDeblockingFilterParameterSelection( Picture* pcPic, const uint pcSlice->setDeblockingFilterDisable ( false ); pcSlice->setDeblockingFilterBetaOffsetDiv2 ( betaOffsetDiv2Best); pcSlice->setDeblockingFilterTcOffsetDiv2 ( tcOffsetDiv2Best); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pcSlice->setDeblockingFilterCbBetaOffsetDiv2 ( betaOffsetDiv2Best); pcSlice->setDeblockingFilterCbTcOffsetDiv2 ( tcOffsetDiv2Best); pcSlice->setDeblockingFilterCrBetaOffsetDiv2 ( betaOffsetDiv2Best); pcSlice->setDeblockingFilterCrTcOffsetDiv2 ( tcOffsetDiv2Best); -#endif } } } diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp index 5667201249153b0caf1fb0e3e447e1fcc13db439..5e6a75f897004a64659319884cc7287c87297b4b 100644 --- a/source/Lib/EncoderLib/EncLib.cpp +++ b/source/Lib/EncoderLib/EncLib.cpp @@ -1647,27 +1647,22 @@ void EncLib::xInitPPS(PPS &pps, const SPS &sps) { pps.setDeblockingFilterBetaOffsetDiv2( getLoopFilterBetaOffset() ); pps.setDeblockingFilterTcOffsetDiv2( getLoopFilterTcOffset() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pps.setDeblockingFilterCbBetaOffsetDiv2( getLoopFilterCbBetaOffset() ); pps.setDeblockingFilterCbTcOffsetDiv2( getLoopFilterCbTcOffset() ); pps.setDeblockingFilterCrBetaOffsetDiv2( getLoopFilterCrBetaOffset() ); pps.setDeblockingFilterCrTcOffsetDiv2( getLoopFilterCrTcOffset() ); -#endif } else { pps.setDeblockingFilterBetaOffsetDiv2(0); pps.setDeblockingFilterTcOffsetDiv2(0); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pps.setDeblockingFilterCbBetaOffsetDiv2(0); pps.setDeblockingFilterCbTcOffsetDiv2(0); pps.setDeblockingFilterCrBetaOffsetDiv2(0); pps.setDeblockingFilterCrTcOffsetDiv2(0); -#endif } // deblockingFilterControlPresentFlag is true if any of the settings differ from the inferred values: -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS const bool deblockingFilterControlPresentFlag = pps.getDeblockingFilterOverrideEnabledFlag() || pps.getPPSDeblockingFilterDisabledFlag() || pps.getDeblockingFilterBetaOffsetDiv2() != 0 || @@ -1676,12 +1671,6 @@ void EncLib::xInitPPS(PPS &pps, const SPS &sps) pps.getDeblockingFilterCbTcOffsetDiv2() != 0 || pps.getDeblockingFilterCrBetaOffsetDiv2() != 0 || pps.getDeblockingFilterCrTcOffsetDiv2() != 0; -#else - const bool deblockingFilterControlPresentFlag = pps.getDeblockingFilterOverrideEnabledFlag() || - pps.getPPSDeblockingFilterDisabledFlag() || - pps.getDeblockingFilterBetaOffsetDiv2() != 0 || - pps.getDeblockingFilterTcOffsetDiv2() != 0; -#endif pps.setDeblockingFilterControlPresentFlag(deblockingFilterControlPresentFlag); diff --git a/source/Lib/EncoderLib/EncSlice.cpp b/source/Lib/EncoderLib/EncSlice.cpp index 2c664e1589a4cb33be9a341113268bc95cae84f6..c3b0ac21e946bd7ef33b8cffc08eb391ec43bae1 100644 --- a/source/Lib/EncoderLib/EncSlice.cpp +++ b/source/Lib/EncoderLib/EncSlice.cpp @@ -617,12 +617,10 @@ void EncSlice::initEncSlice(Picture* pcPic, const int pocLast, const int pocCurr rpcSlice->setDeblockingFilterDisable(false); rpcSlice->setDeblockingFilterBetaOffsetDiv2( 0 ); rpcSlice->setDeblockingFilterTcOffsetDiv2( 0 ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS rpcSlice->setDeblockingFilterCbBetaOffsetDiv2( 0 ); rpcSlice->setDeblockingFilterCbTcOffsetDiv2( 0 ); rpcSlice->setDeblockingFilterCrBetaOffsetDiv2( 0 ); rpcSlice->setDeblockingFilterCrTcOffsetDiv2( 0 ); -#endif } else if (rpcSlice->getPPS()->getDeblockingFilterControlPresentFlag()) { @@ -634,23 +632,19 @@ void EncSlice::initEncSlice(Picture* pcPic, const int pocLast, const int pocCurr { rpcSlice->setDeblockingFilterBetaOffsetDiv2( m_pcCfg->getGOPEntry(iGOPid).m_betaOffsetDiv2 + m_pcCfg->getLoopFilterBetaOffset() ); rpcSlice->setDeblockingFilterTcOffsetDiv2( m_pcCfg->getGOPEntry(iGOPid).m_tcOffsetDiv2 + m_pcCfg->getLoopFilterTcOffset() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS rpcSlice->setDeblockingFilterCbBetaOffsetDiv2( m_pcCfg->getGOPEntry(iGOPid).m_CbBetaOffsetDiv2 + m_pcCfg->getLoopFilterCbBetaOffset() ); rpcSlice->setDeblockingFilterCbTcOffsetDiv2( m_pcCfg->getGOPEntry(iGOPid).m_CbTcOffsetDiv2 + m_pcCfg->getLoopFilterCbTcOffset() ); rpcSlice->setDeblockingFilterCrBetaOffsetDiv2( m_pcCfg->getGOPEntry(iGOPid).m_CrBetaOffsetDiv2 + m_pcCfg->getLoopFilterCrBetaOffset() ); rpcSlice->setDeblockingFilterCrTcOffsetDiv2( m_pcCfg->getGOPEntry(iGOPid).m_CrTcOffsetDiv2 + m_pcCfg->getLoopFilterCrTcOffset() ); -#endif } else { rpcSlice->setDeblockingFilterBetaOffsetDiv2( m_pcCfg->getLoopFilterBetaOffset() ); rpcSlice->setDeblockingFilterTcOffsetDiv2( m_pcCfg->getLoopFilterTcOffset() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS rpcSlice->setDeblockingFilterCbBetaOffsetDiv2( m_pcCfg->getLoopFilterCbBetaOffset() ); rpcSlice->setDeblockingFilterCbTcOffsetDiv2( m_pcCfg->getLoopFilterCbTcOffset() ); rpcSlice->setDeblockingFilterCrBetaOffsetDiv2( m_pcCfg->getLoopFilterCrBetaOffset() ); rpcSlice->setDeblockingFilterCrTcOffsetDiv2( m_pcCfg->getLoopFilterCrTcOffset() ); -#endif } } } @@ -660,12 +654,10 @@ void EncSlice::initEncSlice(Picture* pcPic, const int pocLast, const int pocCurr rpcSlice->setDeblockingFilterDisable( false ); rpcSlice->setDeblockingFilterBetaOffsetDiv2( 0 ); rpcSlice->setDeblockingFilterTcOffsetDiv2( 0 ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS rpcSlice->setDeblockingFilterCbBetaOffsetDiv2( 0 ); rpcSlice->setDeblockingFilterCbTcOffsetDiv2( 0 ); rpcSlice->setDeblockingFilterCrBetaOffsetDiv2( 0 ); rpcSlice->setDeblockingFilterCrTcOffsetDiv2( 0 ); -#endif } pcPic->layer = temporalId; diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp index fc77768b709bdc7540c7a3dd6352cdb7efeb4d77..33ac8d3b3172b89da81777ccc2b0f66a1968f979 100644 --- a/source/Lib/EncoderLib/VLCWriter.cpp +++ b/source/Lib/EncoderLib/VLCWriter.cpp @@ -466,12 +466,10 @@ void HLSWriter::codePPS( const PPS* pcPPS ) { WRITE_SVLC( pcPPS->getDeblockingFilterBetaOffsetDiv2(), "pps_beta_offset_div2" ); WRITE_SVLC( pcPPS->getDeblockingFilterTcOffsetDiv2(), "pps_tc_offset_div2" ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS WRITE_SVLC( pcPPS->getDeblockingFilterCbBetaOffsetDiv2(), "pps_cb_beta_offset_div2" ); WRITE_SVLC( pcPPS->getDeblockingFilterCbTcOffsetDiv2(), "pps_cb_tc_offset_div2" ); WRITE_SVLC( pcPPS->getDeblockingFilterCrBetaOffsetDiv2(), "pps_cr_beta_offset_div2" ); WRITE_SVLC( pcPPS->getDeblockingFilterCrTcOffsetDiv2(), "pps_cr_tc_offset_div2" ); -#endif } } @@ -2042,7 +2040,6 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader ) if(picHeader->getDeblockingFilterOverrideFlag()) { -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS WRITE_FLAG( picHeader->getDeblockingFilterDisable(), "ph_deblocking_filter_disabled_flag" ); if( !picHeader->getDeblockingFilterDisable() ) { @@ -2053,26 +2050,16 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader ) WRITE_SVLC( picHeader->getDeblockingFilterCrBetaOffsetDiv2(), "ph_cr_beta_offset_div2" ); WRITE_SVLC( picHeader->getDeblockingFilterCrTcOffsetDiv2(), "ph_cr_tc_offset_div2" ); } -#else - WRITE_FLAG ( picHeader->getDeblockingFilterDisable(), "pic_deblocking_filter_disabled_flag" ); - if(!picHeader->getDeblockingFilterDisable()) - { - WRITE_SVLC( picHeader->getDeblockingFilterBetaOffsetDiv2(), "pic_beta_offset_div2" ); - WRITE_SVLC( picHeader->getDeblockingFilterTcOffsetDiv2(), "pic_tc_offset_div2" ); - } -#endif } else { picHeader->setDeblockingFilterDisable ( pps->getPPSDeblockingFilterDisabledFlag() ); picHeader->setDeblockingFilterBetaOffsetDiv2( pps->getDeblockingFilterBetaOffsetDiv2() ); picHeader->setDeblockingFilterTcOffsetDiv2 ( pps->getDeblockingFilterTcOffsetDiv2() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS picHeader->setDeblockingFilterCbBetaOffsetDiv2( pps->getDeblockingFilterCbBetaOffsetDiv2() ); picHeader->setDeblockingFilterCbTcOffsetDiv2 ( pps->getDeblockingFilterCbTcOffsetDiv2() ); picHeader->setDeblockingFilterCrBetaOffsetDiv2( pps->getDeblockingFilterCrBetaOffsetDiv2() ); picHeader->setDeblockingFilterCrTcOffsetDiv2 ( pps->getDeblockingFilterCrTcOffsetDiv2() ); -#endif } } else @@ -2080,12 +2067,10 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader ) picHeader->setDeblockingFilterDisable ( false ); picHeader->setDeblockingFilterBetaOffsetDiv2( 0 ); picHeader->setDeblockingFilterTcOffsetDiv2 ( 0 ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS picHeader->setDeblockingFilterCbBetaOffsetDiv2( 0 ); picHeader->setDeblockingFilterCbTcOffsetDiv2 ( 0 ); picHeader->setDeblockingFilterCrBetaOffsetDiv2( 0 ); picHeader->setDeblockingFilterCrTcOffsetDiv2 ( 0 ); -#endif } @@ -2467,12 +2452,10 @@ void HLSWriter::codeSliceHeader ( Slice* pcSlice ) { WRITE_SVLC (pcSlice->getDeblockingFilterBetaOffsetDiv2(), "slice_beta_offset_div2"); WRITE_SVLC (pcSlice->getDeblockingFilterTcOffsetDiv2(), "slice_tc_offset_div2"); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS WRITE_SVLC (pcSlice->getDeblockingFilterCbBetaOffsetDiv2(), "slice_cb_beta_offset_div2"); WRITE_SVLC (pcSlice->getDeblockingFilterCbTcOffsetDiv2(), "slice_cb_tc_offset_div2"); WRITE_SVLC (pcSlice->getDeblockingFilterCrBetaOffsetDiv2(), "slice_cr_beta_offset_div2"); WRITE_SVLC (pcSlice->getDeblockingFilterCrTcOffsetDiv2(), "slice_cr_tc_offset_div2"); -#endif } } else @@ -2480,12 +2463,10 @@ void HLSWriter::codeSliceHeader ( Slice* pcSlice ) pcSlice->setDeblockingFilterDisable ( picHeader->getDeblockingFilterDisable() ); pcSlice->setDeblockingFilterBetaOffsetDiv2( picHeader->getDeblockingFilterBetaOffsetDiv2() ); pcSlice->setDeblockingFilterTcOffsetDiv2 ( picHeader->getDeblockingFilterTcOffsetDiv2() ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pcSlice->setDeblockingFilterCbBetaOffsetDiv2( picHeader->getDeblockingFilterCbBetaOffsetDiv2() ); pcSlice->setDeblockingFilterCbTcOffsetDiv2 ( picHeader->getDeblockingFilterCbTcOffsetDiv2() ); pcSlice->setDeblockingFilterCrBetaOffsetDiv2( picHeader->getDeblockingFilterCrBetaOffsetDiv2() ); pcSlice->setDeblockingFilterCrTcOffsetDiv2 ( picHeader->getDeblockingFilterCrTcOffsetDiv2() ); -#endif } } else @@ -2493,12 +2474,10 @@ void HLSWriter::codeSliceHeader ( Slice* pcSlice ) pcSlice->setDeblockingFilterDisable ( false ); pcSlice->setDeblockingFilterBetaOffsetDiv2( 0 ); pcSlice->setDeblockingFilterTcOffsetDiv2 ( 0 ); -#if JVET_Q0121_DEBLOCKING_CONTROL_PARAMETERS pcSlice->setDeblockingFilterCbBetaOffsetDiv2( 0 ); pcSlice->setDeblockingFilterCbTcOffsetDiv2 ( 0 ); pcSlice->setDeblockingFilterCrBetaOffsetDiv2( 0 ); pcSlice->setDeblockingFilterCrTcOffsetDiv2 ( 0 ); -#endif } WRITE_FLAG(pcSlice->getTSResidualCodingDisabledFlag() ? 1 : 0, "slice_ts_residual_coding_disabled_flag");