diff --git a/source/Lib/CommonLib/InterPrediction.cpp b/source/Lib/CommonLib/InterPrediction.cpp index 7689b117f12adbe556a4f63136e0a1dfd8b92ad3..d4f03553f2fa660396efb9c7f3c2f8583a5996a4 100644 --- a/source/Lib/CommonLib/InterPrediction.cpp +++ b/source/Lib/CommonLib/InterPrediction.cpp @@ -548,11 +548,7 @@ void InterPrediction::xPredInterBi(PredictionUnit& pu, PelUnitBuf &pcYuvPred, Pe bool bioApplied = false; #if JVET_P1006_PICTURE_HEADER -#if JVET_P0314_PROF_BDOF_DMVR_HLS if (pu.cs->sps->getBDOFEnabledFlag() && (!pu.cs->picHeader->getDisBdofFlag())) -#else - if (pu.cs->sps->getBDOFEnabledFlag() && (!pu.cs->picHeader->getDisBdofDmvrFlag())) -#endif #else if (pu.cs->sps->getBDOFEnabledFlag() && (!pu.cs->slice->getDisBdofDmvrFlag())) #endif @@ -980,9 +976,7 @@ void InterPrediction::xPredAffineBlk( const ComponentID& compID, const Predictio const bool subblkMVSpreadOverLimit = isSubblockVectorSpreadOverLimit( iDMvHorX, iDMvHorY, iDMvVerX, iDMvVerY, pu.interDir ); bool enablePROF = (sps.getUsePROF()) && (!m_skipPROF) && (compID == COMPONENT_Y); -#if JVET_P0314_PROF_BDOF_DMVR_HLS enablePROF &= (!pu.cs->picHeader->getDisProfFlag()); -#endif enablePROF &= !((pu.cu->affineType == AFFINEMODEL_6PARAM && _mv[0] == _mv[1] && _mv[0] == _mv[2]) || (pu.cu->affineType == AFFINEMODEL_4PARAM && _mv[0] == _mv[1])); enablePROF &= !subblkMVSpreadOverLimit; const int profThres = 1 << (iBit + (m_isBi ? 1 : 0)); @@ -1884,11 +1878,7 @@ void InterPrediction::motionCompensation( PredictionUnit &pu, PelUnitBuf &predBu bool bioApplied = false; const Slice &slice = *pu.cs->slice; #if JVET_P1006_PICTURE_HEADER -#if JVET_P0314_PROF_BDOF_DMVR_HLS if (pu.cs->sps->getBDOFEnabledFlag() && (!pu.cs->picHeader->getDisBdofFlag())) -#else - if (pu.cs->sps->getBDOFEnabledFlag() && (!pu.cs->picHeader->getDisBdofDmvrFlag())) -#endif #else if (pu.cs->sps->getBDOFEnabledFlag() && (!pu.cs->slice->getDisBdofDmvrFlag())) #endif diff --git a/source/Lib/CommonLib/Slice.cpp b/source/Lib/CommonLib/Slice.cpp index 76f569dea8366c707918936b82334456ee3f1a0e..7c87c3a8e283141628989c0bbcd1a0016ec03149 100644 --- a/source/Lib/CommonLib/Slice.cpp +++ b/source/Lib/CommonLib/Slice.cpp @@ -1685,13 +1685,9 @@ PicHeader::PicHeader() , m_maxNumMergeCand ( MRG_MAX_NUM_CANDS ) , m_maxNumAffineMergeCand ( AFFINE_MRG_MAX_NUM_CANDS ) , m_disFracMMVD ( 0 ) -#if JVET_P0314_PROF_BDOF_DMVR_HLS , m_disBdofFlag ( 0 ) , m_disDmvrFlag ( 0 ) , m_disProfFlag ( 0 ) -#else -, m_disBdofDmvrFlag ( 0 ) -#endif , m_maxNumTriangleCand ( 0 ) , m_maxNumIBCMergeCand ( IBC_MRG_MAX_NUM_CANDS ) , m_jointCbCrSignFlag ( 0 ) @@ -1779,13 +1775,9 @@ void PicHeader::initPicHeader() m_maxNumMergeCand = MRG_MAX_NUM_CANDS; m_maxNumAffineMergeCand = AFFINE_MRG_MAX_NUM_CANDS; m_disFracMMVD = 0; -#if JVET_P0314_PROF_BDOF_DMVR_HLS m_disBdofFlag = 0; m_disDmvrFlag = 0; m_disProfFlag = 0; -#else - m_disBdofDmvrFlag = 0; -#endif m_maxNumTriangleCand = 0; m_maxNumIBCMergeCand = IBC_MRG_MAX_NUM_CANDS; m_jointCbCrSignFlag = 0; @@ -1907,13 +1899,9 @@ SPS::SPS() , m_sbtmvpEnabledFlag (false) , m_bdofEnabledFlag (false) , m_fpelMmvdEnabledFlag ( false ) -#if JVET_P0314_PROF_BDOF_DMVR_HLS , m_BdofControlPresentFlag ( false ) , m_DmvrControlPresentFlag ( false ) , m_ProfControlPresentFlag ( false ) -#else -, m_BdofDmvrSlicePresentFlag ( false ) -#endif , m_uiBitsForPOC ( 8) , m_numLongTermRefPicSPS ( 0) , m_log2MaxTbSize ( 6) diff --git a/source/Lib/CommonLib/Slice.h b/source/Lib/CommonLib/Slice.h index 5b4f545a2d4d10dcd9dc4b4313481ecbb0c3471d..f881a09f4497da7b5f29d87e405038e19aaa00dd 100644 --- a/source/Lib/CommonLib/Slice.h +++ b/source/Lib/CommonLib/Slice.h @@ -1115,13 +1115,9 @@ private: bool m_sbtmvpEnabledFlag; bool m_bdofEnabledFlag; bool m_fpelMmvdEnabledFlag; -#if JVET_P0314_PROF_BDOF_DMVR_HLS bool m_BdofControlPresentFlag; bool m_DmvrControlPresentFlag; bool m_ProfControlPresentFlag; -#else - bool m_BdofDmvrSlicePresentFlag; -#endif uint32_t m_uiBitsForPOC; uint32_t m_numLongTermRefPicSPS; uint32_t m_ltRefPicPocLsbSps[MAX_NUM_LONG_TERM_REF_PICS]; @@ -1395,7 +1391,6 @@ public: void setUseDMVR(bool b) { m_DMVR = b; } bool getUseMMVD()const { return m_MMVD; } void setUseMMVD(bool b) { m_MMVD = b; } -#if JVET_P0314_PROF_BDOF_DMVR_HLS bool getBdofControlPresentFlag()const { return m_BdofControlPresentFlag; } void setBdofControlPresentFlag(bool b) { m_BdofControlPresentFlag = b; } @@ -1404,10 +1399,6 @@ public: bool getProfControlPresentFlag()const { return m_ProfControlPresentFlag; } void setProfControlPresentFlag(bool b) { m_ProfControlPresentFlag = b; } -#else - bool getBdofDmvrSlicePresentFlag()const { return m_BdofDmvrSlicePresentFlag; } - void setBdofDmvrSlicePresentFlag(bool b) { m_BdofDmvrSlicePresentFlag = b; } -#endif uint32_t getMaxTLayers() const { return m_uiMaxTLayers; } void setMaxTLayers( uint32_t uiMaxTLayers ) { CHECK( uiMaxTLayers > MAX_TLAYER, "Invalid number T-layers" ); m_uiMaxTLayers = uiMaxTLayers; } @@ -2057,13 +2048,9 @@ private: uint32_t m_maxNumMergeCand; //!< max number of merge candidates uint32_t m_maxNumAffineMergeCand; //!< max number of sub-block merge candidates bool m_disFracMMVD; //!< fractional MMVD offsets disabled flag -#if JVET_P0314_PROF_BDOF_DMVR_HLS bool m_disBdofFlag; //!< picture level BDOF disable flag bool m_disDmvrFlag; //!< picture level DMVR disable flag bool m_disProfFlag; //!< picture level PROF disable flag -#else - bool m_disBdofDmvrFlag; //!< picture level BDOF/DMVR disable flag -#endif uint32_t m_maxNumTriangleCand; //!< max number of triangle merge candidates uint32_t m_maxNumIBCMergeCand; //!< max number of IBC merge candidates bool m_jointCbCrSignFlag; //!< joint Cb/Cr residual sign flag @@ -2171,17 +2158,12 @@ public: uint32_t getMaxNumAffineMergeCand() const { return m_maxNumAffineMergeCand; } void setDisFracMMVD( bool val ) { m_disFracMMVD = val; } bool getDisFracMMVD() const { return m_disFracMMVD; } -#if JVET_P0314_PROF_BDOF_DMVR_HLS void setDisBdofFlag( bool val ) { m_disBdofFlag = val; } bool getDisBdofFlag() const { return m_disBdofFlag; } void setDisDmvrFlag( bool val ) { m_disDmvrFlag = val; } bool getDisDmvrFlag() const { return m_disDmvrFlag; } void setDisProfFlag( bool val ) { m_disProfFlag = val; } bool getDisProfFlag() const { return m_disProfFlag; } -#else - void setDisBdofDmvrFlag(bool val) { m_disBdofDmvrFlag = val; } - bool getDisBdofDmvrFlag() const { return m_disBdofDmvrFlag; } -#endif void setMaxNumTriangleCand(uint32_t b) { m_maxNumTriangleCand = b; } uint32_t getMaxNumTriangleCand() const { return m_maxNumTriangleCand; } void setMaxNumIBCMergeCand( uint32_t b ) { m_maxNumIBCMergeCand = b; } diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 63d7e58c8929d2b5ab36fb0d2d8fbb704da7353d..97c44cdba2e7155bcd23946bfc0704e824930199 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -63,7 +63,6 @@ -#define JVET_P0314_PROF_BDOF_DMVR_HLS 1 // JVET-P0314: BDOF/DMVR/PROF high level flags #define JVET_P0438_ALF_APS_CONSTRAINT 1 // JVET-P0438: add bitstream constraint for ALF APS diff --git a/source/Lib/CommonLib/UnitTools.cpp b/source/Lib/CommonLib/UnitTools.cpp index 733480dcd178baa403bf7c0197dc2f9e76d02ef7..ed7c36d0d539efe9b47b81029a28be92e21555c6 100644 --- a/source/Lib/CommonLib/UnitTools.cpp +++ b/source/Lib/CommonLib/UnitTools.cpp @@ -1360,11 +1360,7 @@ bool PU::checkDMVRCondition(const PredictionUnit& pu) pu.cu->slice->getWpScaling(REF_PIC_LIST_0, refIdx0, wp0); pu.cu->slice->getWpScaling(REF_PIC_LIST_1, refIdx1, wp1); #if JVET_P1006_PICTURE_HEADER -#if JVET_P0314_PROF_BDOF_DMVR_HLS if (pu.cs->sps->getUseDMVR() && (!pu.cs->picHeader->getDisDmvrFlag())) -#else - if (pu.cs->sps->getUseDMVR() && (!pu.cs->picHeader->getDisBdofDmvrFlag())) -#endif #else if (pu.cs->sps->getUseDMVR() && (!pu.cs->slice->getDisBdofDmvrFlag())) #endif diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp index 9dd10bc21de738cf728c1c35dd70b327177bc829..e9e6f8e832525ab0358966409624870a6723e6c2 100644 --- a/source/Lib/DecoderLib/VLCReader.cpp +++ b/source/Lib/DecoderLib/VLCReader.cpp @@ -1469,7 +1469,6 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS) READ_FLAG( uiCode, "sps_amvr_enabled_flag" ); pcSPS->setAMVREnabledFlag ( uiCode != 0 ); READ_FLAG( uiCode, "sps_bdof_enabled_flag" ); pcSPS->setBDOFEnabledFlag ( uiCode != 0 ); -#if JVET_P0314_PROF_BDOF_DMVR_HLS if (pcSPS->getBDOFEnabledFlag()) { READ_FLAG(uiCode, "sps_bdof_pic_present_flag"); pcSPS->setBdofControlPresentFlag( uiCode != 0 ); @@ -1477,10 +1476,8 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS) else { pcSPS->setBdofControlPresentFlag( false ); } -#endif READ_FLAG(uiCode, "sps_smvd_enabled_flag"); pcSPS->setUseSMVD( uiCode != 0 ); READ_FLAG(uiCode, "sps_dmvr_enabled_flag"); pcSPS->setUseDMVR(uiCode != 0); -#if JVET_P0314_PROF_BDOF_DMVR_HLS if (pcSPS->getUseDMVR()) { READ_FLAG(uiCode, "sps_dmvr_pic_present_flag"); pcSPS->setDmvrControlPresentFlag( uiCode != 0 ); @@ -1488,7 +1485,6 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS) else { pcSPS->setDmvrControlPresentFlag( false ); } -#endif READ_FLAG(uiCode, "sps_mmvd_enabled_flag"); pcSPS->setUseMMVD(uiCode != 0); READ_FLAG(uiCode, "sps_isp_enabled_flag"); pcSPS->setUseISP( uiCode != 0 ); READ_FLAG(uiCode, "sps_mrl_enabled_flag"); pcSPS->setUseMRL( uiCode != 0 ); @@ -1527,7 +1523,6 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS) READ_FLAG( uiCode, "sps_affine_type_flag" ); pcSPS->setUseAffineType ( uiCode != 0 ); READ_FLAG( uiCode, "sps_affine_amvr_enabled_flag" ); pcSPS->setAffineAmvrEnabledFlag ( uiCode != 0 ); READ_FLAG( uiCode, "sps_affine_prof_enabled_flag" ); pcSPS->setUsePROF ( uiCode != 0 ); -#if JVET_P0314_PROF_BDOF_DMVR_HLS if (pcSPS->getUsePROF()) { READ_FLAG(uiCode, "sps_prof_pic_present_flag"); pcSPS->setProfControlPresentFlag ( uiCode != 0 ); @@ -1535,7 +1530,6 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS) else { pcSPS->setProfControlPresentFlag( false ); } -#endif } #if JVET_P0517_ADAPTIVE_COLOR_TRANSFORM if (pcSPS->getChromaFormatIdc() == CHROMA_444) @@ -1564,13 +1558,6 @@ void HLSyntaxReader::parseSPS(SPS* pcSPS) { READ_FLAG( uiCode, "sps_fpel_mmvd_enabled_flag" ); pcSPS->setFpelMmvdEnabledFlag ( uiCode != 0 ); } -#if JVET_P0314_PROF_BDOF_DMVR_HLS -#else - if (pcSPS->getBDOFEnabledFlag() || pcSPS->getUseDMVR()) - { - READ_FLAG(uiCode, "sps_bdof_dmvr_slice_level_present_flag"); pcSPS->setBdofDmvrSlicePresentFlag(uiCode != 0); - } -#endif READ_FLAG( uiCode, "triangle_flag" ); pcSPS->setUseTriangle ( uiCode != 0 ); @@ -2272,7 +2259,6 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag picHeader->setDisFracMMVD(false); } -#if JVET_P0314_PROF_BDOF_DMVR_HLS // picture level BDOF disable flags if (sps->getBdofControlPresentFlag()) { @@ -2302,17 +2288,6 @@ void HLSyntaxReader::parsePictureHeader( PicHeader* picHeader, ParameterSetManag { picHeader->setDisProfFlag(0); } -#else - // picture level BDOF/DMVR/PROF disable flags - if (sps->getBdofDmvrSlicePresentFlag()) - { - READ_FLAG(uiCode, "pic_disable_bdof_dmvr_flag"); picHeader->setDisBdofDmvrFlag( uiCode != 0 ); - } - else - { - picHeader->setDisBdofDmvrFlag(0); - } -#endif // triangle merge candidate list size if (sps->getUseTriangle() && picHeader->getMaxNumMergeCand() >= 2) diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp index b51bc1755230cc1e25c59ff9005006518b63a19c..9ee73cdd2f501b9621d3a4e1b4dba7fb3b0fa9e4 100644 --- a/source/Lib/EncoderLib/EncLib.cpp +++ b/source/Lib/EncoderLib/EncLib.cpp @@ -1213,13 +1213,9 @@ void EncLib::xInitSPS( SPS& sps, VPS& vps ) sps.setUseTriangle ( m_Triangle ); sps.setUseMMVD ( m_MMVD ); sps.setFpelMmvdEnabledFlag (( m_MMVD ) ? m_allowDisFracMMVD : false); -#if JVET_P0314_PROF_BDOF_DMVR_HLS sps.setBdofControlPresentFlag(m_BIO); sps.setDmvrControlPresentFlag(m_DMVR); sps.setProfControlPresentFlag(m_PROF); -#else - sps.setBdofDmvrSlicePresentFlag(m_DMVR || m_BIO); -#endif sps.setAffineAmvrEnabledFlag ( m_AffineAmvr ); sps.setUseDMVR ( m_DMVR ); #if JVET_P0517_ADAPTIVE_COLOR_TRANSFORM @@ -1840,13 +1836,9 @@ void EncLib::xInitPicHeader(PicHeader &picHeader, const SPS &sps, const PPS &pps picHeader.setGdrPicFlag(false); // BDOF / DMVR / PROF -#if JVET_P0314_PROF_BDOF_DMVR_HLS picHeader.setDisBdofFlag(false); picHeader.setDisDmvrFlag(false); picHeader.setDisProfFlag(false); -#else - picHeader.setDisBdofDmvrFlag(false); -#endif } #endif diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp index 671c612372f10c802336fc1015a31bdc36084f65..d10b320dfd752fbf8c749568bd8d39b99e165c56 100644 --- a/source/Lib/EncoderLib/VLCWriter.cpp +++ b/source/Lib/EncoderLib/VLCWriter.cpp @@ -982,20 +982,16 @@ void HLSWriter::codeSPS( const SPS* pcSPS ) WRITE_FLAG( pcSPS->getAMVREnabledFlag() ? 1 : 0, "sps_amvr_enabled_flag" ); WRITE_FLAG( pcSPS->getBDOFEnabledFlag() ? 1 : 0, "sps_bdof_enabled_flag" ); -#if JVET_P0314_PROF_BDOF_DMVR_HLS if (pcSPS->getBDOFEnabledFlag()) { WRITE_FLAG(pcSPS->getBdofControlPresentFlag() ? 1 : 0, "sps_bdof_pic_present_flag"); } -#endif WRITE_FLAG( pcSPS->getUseSMVD() ? 1 : 0, "sps_smvd_enabled_flag" ); WRITE_FLAG( pcSPS->getUseDMVR() ? 1 : 0, "sps_dmvr_enabled_flag" ); -#if JVET_P0314_PROF_BDOF_DMVR_HLS if (pcSPS->getUseDMVR()) { WRITE_FLAG(pcSPS->getDmvrControlPresentFlag() ? 1 : 0, "sps_dmvr_pic_present_flag"); } -#endif WRITE_FLAG(pcSPS->getUseMMVD() ? 1 : 0, "sps_mmvd_enabled_flag"); WRITE_FLAG( pcSPS->getUseISP() ? 1 : 0, "sps_isp_enabled_flag"); WRITE_FLAG( pcSPS->getUseMRL() ? 1 : 0, "sps_mrl_enabled_flag"); @@ -1030,12 +1026,10 @@ void HLSWriter::codeSPS( const SPS* pcSPS ) WRITE_FLAG( pcSPS->getUseAffineType() ? 1 : 0, "sps_affine_type_flag" ); WRITE_FLAG( pcSPS->getAffineAmvrEnabledFlag() ? 1 : 0, "sps_affine_amvr_enabled_flag" ); WRITE_FLAG( pcSPS->getUsePROF() ? 1 : 0, "sps_affine_prof_enabled_flag" ); -#if JVET_P0314_PROF_BDOF_DMVR_HLS if (pcSPS->getUsePROF()) { WRITE_FLAG(pcSPS->getProfControlPresentFlag() ? 1 : 0, "sps_prof_pic_present_flag" ); } -#endif } #if JVET_P0517_ADAPTIVE_COLOR_TRANSFORM if (pcSPS->getChromaFormatIdc() == CHROMA_444) @@ -1057,13 +1051,6 @@ void HLSWriter::codeSPS( const SPS* pcSPS ) { WRITE_FLAG( pcSPS->getFpelMmvdEnabledFlag() ? 1 : 0, "sps_fpel_mmvd_enabled_flag" ); } -#if JVET_P0314_PROF_BDOF_DMVR_HLS -#else - if(pcSPS->getBDOFEnabledFlag() || pcSPS->getUseDMVR()) - { - WRITE_FLAG(pcSPS->getBdofDmvrSlicePresentFlag() ? 1 : 0, "sps_bdof_dmvr_slice_level_present_flag"); - } -#endif WRITE_FLAG( pcSPS->getUseTriangle() ? 1: 0, "sps_triangle_enabled_flag" ); #if !JVET_P0983_REMOVE_SPS_SBT_MAX_SIZE_FLAG @@ -1608,7 +1595,6 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader ) picHeader->setDisFracMMVD(false); } -#if JVET_P0314_PROF_BDOF_DMVR_HLS // picture level BDOF disable flags if (sps->getBdofControlPresentFlag()) { @@ -1638,17 +1624,6 @@ void HLSWriter::codePictureHeader( PicHeader* picHeader ) { picHeader->setDisProfFlag(0); } -#else - // picture level BDOF/DMVR/PROF disable flags - if (sps->getBdofDmvrSlicePresentFlag()) - { - WRITE_FLAG(picHeader->getDisBdofDmvrFlag(), "pic_disable_bdof_dmvr_flag"); - } - else - { - picHeader->setDisBdofDmvrFlag(0); - } -#endif // triangle merge candidate list size if (sps->getUseTriangle() && picHeader->getMaxNumMergeCand() >= 2)