diff --git a/source/App/EncoderApp/EncApp.cpp b/source/App/EncoderApp/EncApp.cpp index 762ec495c6ab45d835db602324b001391ed547b3..4a61240e433f936c502d16724e2d75d74a7ebd94 100644 --- a/source/App/EncoderApp/EncApp.cpp +++ b/source/App/EncoderApp/EncApp.cpp @@ -418,7 +418,6 @@ void EncApp::xInitLibCfg() { m_cEncLib.setRdpcmEnabledFlag ( RDPCMSignallingMode(signallingModeIndex), m_rdpcmEnabledFlag[signallingModeIndex]); } - m_cEncLib.setUseConstrainedIntraPred ( m_bUseConstrainedIntraPred ); m_cEncLib.setFastUDIUseMPMEnabled ( m_bFastUDIUseMPMEnabled ); m_cEncLib.setFastMEForGenBLowDelayEnabled ( m_bFastMEForGenBLowDelayEnabled ); m_cEncLib.setUseBLambdaForNonKeyLowDelayPictures ( m_bUseBLambdaForNonKeyLowDelayPictures ); diff --git a/source/App/EncoderApp/EncAppCfg.cpp b/source/App/EncoderApp/EncAppCfg.cpp index 807fe202fe39785c094a2c347a135acd5104b8db..b0a03dfb80632ab2e19f1776e0967009e1fbf9ee 100644 --- a/source/App/EncoderApp/EncAppCfg.cpp +++ b/source/App/EncoderApp/EncAppCfg.cpp @@ -1186,7 +1186,6 @@ bool EncAppCfg::parseCfg( int argc, char* argv[] ) "\t3: max number of tiles per slice") ("LFCrossSliceBoundaryFlag", m_bLFCrossSliceBoundaryFlag, true) - ("ConstrainedIntraPred", m_bUseConstrainedIntraPred, false, "Constrained Intra Prediction") ("FastUDIUseMPMEnabled", m_bFastUDIUseMPMEnabled, true, "If enabled, adapt intra direction search, accounting for MPM") ("FastMEForGenBLowDelayEnabled", m_bFastMEForGenBLowDelayEnabled, true, "If enabled use a fast ME for generalised B Low Delay slices") ("UseBLambdaForNonKeyLowDelayPictures", m_bUseBLambdaForNonKeyLowDelayPictures, true, "Enables use of B-Lambda for non-key low-delay pictures") @@ -3726,7 +3725,6 @@ void EncAppCfg::xPrintParameter() } msg( VERBOSE, "Tiles:%dx%d ", m_numTileColumnsMinus1 + 1, m_numTileRowsMinus1 + 1 ); msg( VERBOSE, "MCTS:%d ", m_MCTSEncConstraint ); - msg( VERBOSE, "CIP:%d ", m_bUseConstrainedIntraPred); msg( VERBOSE, "SAO:%d ", (m_bUseSAO)?(1):(0)); msg( VERBOSE, "ALF:%d ", m_alf ? 1 : 0 ); diff --git a/source/App/EncoderApp/EncAppCfg.h b/source/App/EncoderApp/EncAppCfg.h index 9aec8317313856250273fc68ad2face6824b5b28..c6e9d8e9ce356570a8d37997624d6cbde0eccd17 100644 --- a/source/App/EncoderApp/EncAppCfg.h +++ b/source/App/EncoderApp/EncAppCfg.h @@ -459,7 +459,6 @@ protected: int m_signalledSliceIdLengthMinus1; std::vector<int> m_sliceId; - bool m_bUseConstrainedIntraPred; ///< flag for using constrained intra prediction bool m_bFastUDIUseMPMEnabled; bool m_bFastMEForGenBLowDelayEnabled; bool m_bUseBLambdaForNonKeyLowDelayPictures; diff --git a/source/Lib/CommonLib/IntraPrediction.cpp b/source/Lib/CommonLib/IntraPrediction.cpp index 28284946b5abb994108d286ee9f6d3cd554035ea..0501af1690dbabd54107a8cc7a1dd4c006166bb8 100644 --- a/source/Lib/CommonLib/IntraPrediction.cpp +++ b/source/Lib/CommonLib/IntraPrediction.cpp @@ -1290,15 +1290,12 @@ bool isAboveLeftAvailable(const CodingUnit &cu, const ChannelType &chType, const return false; } - const bool isConstrained = cs.pps->getConstrainedIntraPred(); - - return !isConstrained || CU::isIntra(*cs.getCURestricted(refPos, cu, chType)); + return true; } int isAboveAvailable(const CodingUnit &cu, const ChannelType &chType, const Position &posLT, const uint32_t uiNumUnitsInPU, const uint32_t unitWidth, bool *bValidFlags) { const CodingStructure& cs = *cu.cs; - const bool isConstrained = cs.pps->getConstrainedIntraPred(); bool * validFlags = bValidFlags; int numIntra = 0; @@ -1313,10 +1310,8 @@ int isAboveAvailable(const CodingUnit &cu, const ChannelType &chType, const Posi break; } - const bool valid = !isConstrained || CU::isIntra(*cs.getCURestricted(refPos, cu, chType)); - - numIntra += valid ? 1 : 0; - *validFlags = valid; + ++numIntra; + *validFlags = true; validFlags++; } @@ -1327,7 +1322,6 @@ int isAboveAvailable(const CodingUnit &cu, const ChannelType &chType, const Posi int isLeftAvailable(const CodingUnit &cu, const ChannelType &chType, const Position &posLT, const uint32_t uiNumUnitsInPU, const uint32_t unitHeight, bool *bValidFlags) { const CodingStructure& cs = *cu.cs; - const bool isConstrained = cs.pps->getConstrainedIntraPred(); bool * validFlags = bValidFlags; int numIntra = 0; @@ -1342,10 +1336,8 @@ int isLeftAvailable(const CodingUnit &cu, const ChannelType &chType, const Posit break; } - const bool valid = !isConstrained || CU::isIntra(*cs.getCURestricted(refPos, cu, chType)); - - numIntra += valid ? 1 : 0; - *validFlags = valid; + ++numIntra; + *validFlags = true; validFlags--; } @@ -1356,7 +1348,6 @@ int isLeftAvailable(const CodingUnit &cu, const ChannelType &chType, const Posit int isAboveRightAvailable(const CodingUnit &cu, const ChannelType &chType, const Position &posRT, const uint32_t uiNumUnitsInPU, const uint32_t unitWidth, bool *bValidFlags ) { const CodingStructure& cs = *cu.cs; - const bool isConstrained = cs.pps->getConstrainedIntraPred(); bool * validFlags = bValidFlags; int numIntra = 0; @@ -1371,10 +1362,8 @@ int isAboveRightAvailable(const CodingUnit &cu, const ChannelType &chType, const break; } - const bool valid = !isConstrained || CU::isIntra(*cs.getCURestricted(refPos, cu, chType)); - - numIntra += valid ? 1 : 0; - *validFlags = valid; + ++numIntra; + *validFlags = true; validFlags++; } @@ -1385,7 +1374,6 @@ int isAboveRightAvailable(const CodingUnit &cu, const ChannelType &chType, const int isBelowLeftAvailable(const CodingUnit &cu, const ChannelType &chType, const Position &posLB, const uint32_t uiNumUnitsInPU, const uint32_t unitHeight, bool *bValidFlags ) { const CodingStructure& cs = *cu.cs; - const bool isConstrained = cs.pps->getConstrainedIntraPred(); bool * validFlags = bValidFlags; int numIntra = 0; @@ -1400,10 +1388,8 @@ int isBelowLeftAvailable(const CodingUnit &cu, const ChannelType &chType, const break; } - const bool valid = !isConstrained || CU::isIntra(*cs.getCURestricted(refPos, cu, chType)); - - numIntra += valid ? 1 : 0; - *validFlags = valid; + ++numIntra; + *validFlags = true; validFlags--; } diff --git a/source/Lib/CommonLib/Slice.cpp b/source/Lib/CommonLib/Slice.cpp index 310ea25e320baa84e933b3858aea9d4518c787c7..9d7bb24c804487de1af7356145c07fe24b2f4626 100644 --- a/source/Lib/CommonLib/Slice.cpp +++ b/source/Lib/CommonLib/Slice.cpp @@ -2217,7 +2217,6 @@ PPS::PPS() , m_SPSId (0) , m_picInitQPMinus26 (0) , m_useDQP (false) -, m_bConstrainedIntraPred (false) , m_bSliceChromaQpFlag (false) #if !JVET_P1006_PICTURE_HEADER , m_cuQpDeltaSubdiv (0) diff --git a/source/Lib/CommonLib/Slice.h b/source/Lib/CommonLib/Slice.h index 5e16b868013fed9357967398caa072f1d07594d4..589b64eb72d59df46d9fe641ec284a178eddf470 100644 --- a/source/Lib/CommonLib/Slice.h +++ b/source/Lib/CommonLib/Slice.h @@ -1383,7 +1383,6 @@ private: int m_SPSId; // seq_parameter_set_id int m_picInitQPMinus26; bool m_useDQP; - bool m_bConstrainedIntraPred; // constrained_intra_pred_flag bool m_bSliceChromaQpFlag; // slicelevel_chroma_qp_flag int m_layerId; @@ -1519,8 +1518,6 @@ public: void setPicInitQPMinus26( int i ) { m_picInitQPMinus26 = i; } bool getUseDQP() const { return m_useDQP; } void setUseDQP( bool b ) { m_useDQP = b; } - bool getConstrainedIntraPred() const { return m_bConstrainedIntraPred; } - void setConstrainedIntraPred( bool b ) { m_bConstrainedIntraPred = b; } bool getSliceChromaQpFlag() const { return m_bSliceChromaQpFlag; } void setSliceChromaQpFlag( bool b ) { m_bSliceChromaQpFlag = b; } diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp index 176e097ca7bce218769db3b3cf05820ce5ad6358..78e511b3aa2457fd5293aab7a5d6d692f0094454 100644 --- a/source/Lib/DecoderLib/VLCReader.cpp +++ b/source/Lib/DecoderLib/VLCReader.cpp @@ -460,7 +460,6 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS, ParameterSetManager *parameterSetMana } READ_SVLC(iCode, "init_qp_minus26" ); pcPPS->setPicInitQPMinus26(iCode); - READ_FLAG( uiCode, "constrained_intra_pred_flag" ); pcPPS->setConstrainedIntraPred( uiCode ? true : false ); if (parameterSetManager->getSPS(pcPPS->getSPSId())->getTransformSkipEnabledFlag()) { READ_UVLC(uiCode, "log2_max_transform_skip_block_size_minus2"); diff --git a/source/Lib/EncoderLib/EncCfg.h b/source/Lib/EncoderLib/EncCfg.h index fcfdbaf6b50ceeb1e6bd0c72847019c9b14b3dd4..07a9f2df6a2b68d11f4e5c8941f4b06156f8a867 100644 --- a/source/Lib/EncoderLib/EncCfg.h +++ b/source/Lib/EncoderLib/EncCfg.h @@ -474,7 +474,6 @@ protected: bool m_ISP; bool m_useFastISP; - bool m_bUseConstrainedIntraPred; bool m_bFastUDIUseMPMEnabled; bool m_bFastMEForGenBLowDelayEnabled; bool m_bUseBLambdaForNonKeyLowDelayPictures; @@ -1242,7 +1241,6 @@ public: void setUseFastDecisionForMerge ( bool b ) { m_useFastDecisionForMerge = b; } void setUseCbfFastMode ( bool b ) { m_bUseCbfFastMode = b; } void setUseEarlySkipDetection ( bool b ) { m_useEarlySkipDetection = b; } - void setUseConstrainedIntraPred ( bool b ) { m_bUseConstrainedIntraPred = b; } void setFastUDIUseMPMEnabled ( bool b ) { m_bFastUDIUseMPMEnabled = b; } void setFastMEForGenBLowDelayEnabled ( bool b ) { m_bFastMEForGenBLowDelayEnabled = b; } void setUseBLambdaForNonKeyLowDelayPictures ( bool b ) { m_bUseBLambdaForNonKeyLowDelayPictures = b; } @@ -1265,7 +1263,6 @@ public: bool getUseFastDecisionForMerge () const{ return m_useFastDecisionForMerge; } bool getUseCbfFastMode () const{ return m_bUseCbfFastMode; } bool getUseEarlySkipDetection () const{ return m_useEarlySkipDetection; } - bool getUseConstrainedIntraPred () { return m_bUseConstrainedIntraPred; } bool getFastUDIUseMPMEnabled () { return m_bFastUDIUseMPMEnabled; } bool getFastMEForGenBLowDelayEnabled () { return m_bFastMEForGenBLowDelayEnabled; } bool getUseBLambdaForNonKeyLowDelayPictures () { return m_bUseBLambdaForNonKeyLowDelayPictures; } diff --git a/source/Lib/EncoderLib/EncLib.cpp b/source/Lib/EncoderLib/EncLib.cpp index 53c56ebe06a01de899d3b8e890a1688c718b54a3..fe589b7c77f741302ef59e2c30d0364cf7cb3b60 100644 --- a/source/Lib/EncoderLib/EncLib.cpp +++ b/source/Lib/EncoderLib/EncLib.cpp @@ -1596,7 +1596,6 @@ void EncLib::xInitPPS(PPS &pps, const SPS &sps) pps.setSubPicId(picIdx, sps.getSubPicId(picIdx)); } #endif - pps.setConstrainedIntraPred( m_bUseConstrainedIntraPred ); bool bUseDQP = (getCuQpDeltaSubdiv() > 0)? true : false; if((getMaxDeltaQP() != 0 )|| getUseAdaptiveQP()) diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp index 8954744cd83c3d9bedbe1feef4f1f08c7ac3fac2..988167e56ddba18a4fc35096b862aaaded604341 100644 --- a/source/Lib/EncoderLib/VLCWriter.cpp +++ b/source/Lib/EncoderLib/VLCWriter.cpp @@ -266,7 +266,6 @@ void HLSWriter::codePPS( const PPS* pcPPS, const SPS* pcSPS ) } WRITE_SVLC( pcPPS->getPicInitQPMinus26(), "init_qp_minus26"); - WRITE_FLAG( pcPPS->getConstrainedIntraPred() ? 1 : 0, "constrained_intra_pred_flag" ); if (pcSPS->getTransformSkipEnabledFlag()) { WRITE_UVLC(pcPPS->getLog2MaxTransformSkipBlockSize() - 2, "log2_max_transform_skip_block_size_minus2");