diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp index c669f359f7c322f120b8559c4f639cff62b37bf2..022c325d9f9308287ef62d7f5fe872cca1e9ce53 100644 --- a/source/Lib/EncoderLib/EncGOP.cpp +++ b/source/Lib/EncoderLib/EncGOP.cpp @@ -6251,7 +6251,7 @@ void EncGOP::applyDeblockingFilterParameterSelection( Picture* pcPic, const uint for (int i=0; i<numSlices; i++) { Slice* pcSlice = pcPic->slices[i]; - pcSlice->setDeblockingFilterOverrideFlag( true); + pcSlice->setDeblockingFilterOverrideFlag(!pcPPS->getPPSDeblockingFilterDisabledFlag()); pcSlice->setDeblockingFilterDisable ( true); } } diff --git a/source/Lib/EncoderLib/EncSlice.cpp b/source/Lib/EncoderLib/EncSlice.cpp index 49fe934b08be498cb3f5f3ef76210e08339e4ae3..c335a89fbccb067b4969ac8f5c6afac61fd2b386 100644 --- a/source/Lib/EncoderLib/EncSlice.cpp +++ b/source/Lib/EncoderLib/EncSlice.cpp @@ -680,7 +680,7 @@ void EncSlice::initEncSlice(Picture *pcPic, const int pocLast, const int pocCurr } else if (rpcSlice->getPPS()->getDeblockingFilterControlPresentFlag()) { - rpcSlice->setDeblockingFilterOverrideFlag( rpcSlice->getPPS()->getDeblockingFilterOverrideEnabledFlag() ); + rpcSlice->setDeblockingFilterOverrideFlag(rpcSlice->getPPS()->getDeblockingFilterOverrideEnabledFlag() && !rpcSlice->getPPS()->getPPSDeblockingFilterDisabledFlag()); rpcSlice->setDeblockingFilterDisable( rpcSlice->getPPS()->getPPSDeblockingFilterDisabledFlag() ); if ( !rpcSlice->getDeblockingFilterDisable()) {