From 8e34097e8088d7a6ff739c472bc8512f4dbf4f8f Mon Sep 17 00:00:00 2001 From: Xiang Li <xlxiangli@tencent.com> Date: Mon, 25 Oct 2021 14:50:53 -0700 Subject: [PATCH] remove macro JVET_S0176_ITEM5 --- source/App/DecoderApp/DecApp.cpp | 5 ----- source/Lib/CommonLib/TypeDef.h | 1 - source/Lib/DecoderLib/DecLib.cpp | 27 --------------------------- source/Lib/DecoderLib/DecLib.h | 4 ---- 4 files changed, 37 deletions(-) diff --git a/source/App/DecoderApp/DecApp.cpp b/source/App/DecoderApp/DecApp.cpp index 100720131..a74a9d79e 100644 --- a/source/App/DecoderApp/DecApp.cpp +++ b/source/App/DecoderApp/DecApp.cpp @@ -490,11 +490,9 @@ uint32_t DecApp::decode() m_cDecLib.CheckNoOutputPriorPicFlagsInAccessUnit(); m_cDecLib.resetAccessUnitNoOutputPriorPicFlags(); m_cDecLib.checkLayerIdIncludedInCvss(); -#if JVET_S0176_ITEM5 m_cDecLib.checkSEIInAccessUnit(); m_cDecLib.resetAccessUnitNestedSliSeiInfo(); m_cDecLib.resetIsFirstAuInCvs(); -#endif m_cDecLib.resetAccessUnitEos(); m_cDecLib.resetAudIrapOrGdrAuFlag(); } @@ -502,9 +500,6 @@ uint32_t DecApp::decode() { m_cDecLib.checkTidLayerIdInAccessUnit(); m_cDecLib.resetAccessUnitSeiTids(); -#if !JVET_S0176_ITEM5 - m_cDecLib.checkSEIInAccessUnit(); -#endif m_cDecLib.resetAccessUnitSeiPayLoadTypes(); m_cDecLib.resetAccessUnitNals(); m_cDecLib.resetAccessUnitApsNals(); diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 7269a0f58..4a0b563ca 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -55,7 +55,6 @@ //########### place macros to be removed in next cycle below this line ############### -#define JVET_S0176_ITEM5 1 // JVET-S0176 #5: When an SLI SEI message is present for a CVS, the value of sps_num_subpics_minus1 shall be the same for all the SPSs referenced by the pictures in the layers with multiple subpictures per picture. #define JVET_W0078_MVP_SEI 1 // JVET-W0078 Multiview view position SEI message diff --git a/source/Lib/DecoderLib/DecLib.cpp b/source/Lib/DecoderLib/DecLib.cpp index 1347b946c..61e9fb001 100644 --- a/source/Lib/DecoderLib/DecLib.cpp +++ b/source/Lib/DecoderLib/DecLib.cpp @@ -475,9 +475,7 @@ DecLib::DecLib() std::fill_n(m_prevGDRInSameLayerRecoveryPOC, MAX_VPS_LAYERS, -MAX_INT); std::fill_n(m_firstSliceInSequence, MAX_VPS_LAYERS, true); std::fill_n(m_pocCRA, MAX_VPS_LAYERS, -MAX_INT); -#if JVET_S0176_ITEM5 std::fill_n(m_accessUnitSpsNumSubpic, MAX_VPS_LAYERS, 1); -#endif for (int i = 0; i < MAX_VPS_LAYERS; i++) { m_associatedIRAPType[i] = NAL_UNIT_INVALID; @@ -1119,20 +1117,8 @@ void DecLib::checkLayerIdIncludedInCvss() } } -#if !JVET_S0176_ITEM5 - // update the value of m_isFirstAuInCvs for the next AU according to NAL_UNIT_EOS in each layer - for (auto pic = m_accessUnitPicInfo.begin(); pic != m_accessUnitPicInfo.end(); pic++) - { - m_isFirstAuInCvs = m_accessUnitEos[pic->m_nuhLayerId] ? true : false; - if(!m_isFirstAuInCvs) - { - break; - } - } -#endif } -#if JVET_S0176_ITEM5 void DecLib::resetIsFirstAuInCvs() { // update the value of m_isFirstAuInCvs for the next AU according to NAL_UNIT_EOS in each layer @@ -1145,7 +1131,6 @@ void DecLib::resetIsFirstAuInCvs() } } } -#endif void DecLib::CheckNoOutputPriorPicFlagsInAccessUnit() { @@ -1210,10 +1195,8 @@ void DecLib::checkTidLayerIdInAccessUnit() void DecLib::checkSEIInAccessUnit() { -#if JVET_S0176_ITEM5 int olsIdxIncludeAllLayes = -1; bool isNonNestedSliFound = false; -#endif bool bSdiPresentInAu = false; #if JVET_W0078_MVP_SEI @@ -1248,13 +1231,11 @@ void DecLib::checkSEIInAccessUnit() } if (olsIncludeAllLayersFind) { -#if JVET_S0176_ITEM5 olsIdxIncludeAllLayes = i; if (payloadType == SEI::SUBPICTURE_LEVEL_INFO) { isNonNestedSliFound = true; } -#endif break; } } @@ -1288,7 +1269,6 @@ void DecLib::checkSEIInAccessUnit() CHECK(bSdiPresentInAu && bAuxSEIsBeforeSdiSEIPresent[1], "When an AU contains both an SDI SEI message with sdi_aux_id[i] equal to 1 for at least one value of i and an ACI SEI message, the SDI SEI message shall precede the ACI SEI message in decoding order."); CHECK(bSdiPresentInAu && bAuxSEIsBeforeSdiSEIPresent[2], "When an AU contains both an SDI SEI message with sdi_aux_id[i] equal to 2 for at least one value of i and a DRI SEI message, the SDI SEI message shall precede the DRI SEI message in decoding order."); -#if JVET_S0176_ITEM5 if (m_isFirstAuInCvs) { // when a non-nested SLI SEI shows up, check sps_num_subpics_minus1 for the OLS contains all layers with multiple subpictures per picture @@ -1310,10 +1290,8 @@ void DecLib::checkSEIInAccessUnit() } } } -#endif } -#if JVET_S0176_ITEM5 void DecLib::checkMultiSubpicNum(int olsIdx) { int multiSubpicNum = 0; @@ -1330,7 +1308,6 @@ void DecLib::checkMultiSubpicNum(int olsIdx) } } } -#endif #define SEI_REPETITION_CONSTRAINT_LIST_SIZE 21 @@ -2242,7 +2219,6 @@ void DecLib::xParsePrefixSEImessages() m_prefixSEINALUs.pop_front(); } xCheckPrefixSEIMessages(m_SEIs); -#if JVET_S0176_ITEM5 SEIMessages scalableNestingSEIs = getSeisByType(m_SEIs, SEI::SCALABLE_NESTING); if (scalableNestingSEIs.size()) { @@ -2260,7 +2236,6 @@ void DecLib::xParsePrefixSEImessages() m_accessUnitNestedSliSeiInfo.push_back(sliSeiInfo); } } -#endif xCheckDUISEIMessages(m_SEIs); } @@ -3321,9 +3296,7 @@ void DecLib::xDecodeSPS( InputNALUnit& nalu ) sps->setLayerId( nalu.m_nuhLayerId ); DTRACE( g_trace_ctx, D_QP_PER_CTU, "CTU Size: %dx%d", sps->getMaxCUWidth(), sps->getMaxCUHeight() ); m_parameterSetManager.storeSPS( sps, nalu.getBitstream().getFifo() ); -#if JVET_S0176_ITEM5 m_accessUnitSpsNumSubpic[nalu.m_nuhLayerId] = sps->getNumSubPics(); -#endif } void DecLib::xDecodePPS( InputNALUnit& nalu ) diff --git a/source/Lib/DecoderLib/DecLib.h b/source/Lib/DecoderLib/DecLib.h index 5e6192754..bf7eab3c1 100644 --- a/source/Lib/DecoderLib/DecLib.h +++ b/source/Lib/DecoderLib/DecLib.h @@ -177,7 +177,6 @@ private: }; std::vector<AccessUnitPicInfo> m_accessUnitPicInfo; std::vector<AccessUnitPicInfo> m_firstAccessUnitPicInfo; -#if JVET_S0176_ITEM5 struct AccessUnitNestedSliSeiInfo { bool m_nestedSliPresent; @@ -186,7 +185,6 @@ private: }; std::vector<AccessUnitNestedSliSeiInfo> m_accessUnitNestedSliSeiInfo; int m_accessUnitSpsNumSubpic[MAX_VPS_LAYERS]; -#endif struct NalUnitInfo { NalUnitType m_nalUnitType; ///< nal_unit_type @@ -282,11 +280,9 @@ public: void checkLayerIdIncludedInCvss(); void CheckNoOutputPriorPicFlagsInAccessUnit(); void resetAccessUnitNoOutputPriorPicFlags() { m_accessUnitNoOutputPriorPicFlags.clear(); } -#if JVET_S0176_ITEM5 void checkMultiSubpicNum(int olsIdx); void resetAccessUnitNestedSliSeiInfo() { m_accessUnitNestedSliSeiInfo.clear(); } void resetIsFirstAuInCvs(); -#endif void checkSeiInPictureUnit(); void resetPictureSeiNalus(); bool isSliceNaluFirstInAU( bool newPicture, InputNALUnit &nalu ); -- GitLab