diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 824e5e6a60311f54de939a665b7c18a921bee73d..057ef2e8fb4451fce176aeeab9c26e2f9b9be999 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -50,6 +50,8 @@ #include <assert.h> #include <cassert> +#define JVET_N0470_SMVD_FIX 1 // remove mvd_l1_zero_flag condition, align to spec text. + #define JVET_N0235_SMVD_SPS 1 #define JVET_N0843_BVP_SIMPLIFICATION 1 diff --git a/source/Lib/DecoderLib/DecLib.cpp b/source/Lib/DecoderLib/DecLib.cpp index e64ddde6d809900cb602a39f2e1437e6e40758e9..7bec8e65ebaa2ca0992475d23a0cbec2caf601bb 100644 --- a/source/Lib/DecoderLib/DecLib.cpp +++ b/source/Lib/DecoderLib/DecLib.cpp @@ -1211,7 +1211,11 @@ bool DecLib::xDecodeSlice(InputNALUnit &nalu, int &iSkipFrame, int iPOCLastDispl } #if JVET_N0235_SMVD_SPS - if (pcSlice->getSPS()->getUseSMVD() && pcSlice->getCheckLDC() == false && pcSlice->getMvdL1ZeroFlag() == false) + if (pcSlice->getSPS()->getUseSMVD() && pcSlice->getCheckLDC() == false +#if !JVET_N0470_SMVD_FIX + && pcSlice->getMvdL1ZeroFlag() == false +#endif + ) #else if ( pcSlice->getCheckLDC() == false && pcSlice->getMvdL1ZeroFlag() == false ) #endif diff --git a/source/Lib/EncoderLib/EncGOP.cpp b/source/Lib/EncoderLib/EncGOP.cpp index 8594866be9650774e7f8e1f25e7b3a0d747b6ded..1efcec3e0b4c7dcd302cae0984f95e74f8576321 100644 --- a/source/Lib/EncoderLib/EncGOP.cpp +++ b/source/Lib/EncoderLib/EncGOP.cpp @@ -1935,7 +1935,11 @@ void EncGOP::compressGOP( int iPOCLast, int iNumPicRcvd, PicList& rcListPic, #endif #if JVET_N0235_SMVD_SPS - if ( pcSlice->getSPS()->getUseSMVD() && pcSlice->getCheckLDC() == false && pcSlice->getMvdL1ZeroFlag() == false ) + if ( pcSlice->getSPS()->getUseSMVD() && pcSlice->getCheckLDC() == false +#if !JVET_N0470_SMVD_FIX + && pcSlice->getMvdL1ZeroFlag() == false +#endif + ) #else if ( pcSlice->getCheckLDC() == false && pcSlice->getMvdL1ZeroFlag() == false ) #endif