diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index 4175cd178fb256ba7fb982674bb6bc3341c392a7..c0eecc50f51d07f3650bd4bf8f40f1df1a0b2f67 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -281,6 +281,7 @@ #define JVET_N0100_PROPOSAL1 1 // JVET-N0100: ltrp picture signalling #define JVET_N0865_SYNTAX 1 // JVET_N0865 syntax elements +#define JVET_N0865_NONSYNTAX 1 // JVET_N0865 other than syntax parts #define JVET_N0865_GRA2GDR 1 // Changing the name of GRA to GDR #define EMULATION_PREVENTION_FIX 1 // fix for start code emulation reported in #270. Diverges from specification text diff --git a/source/Lib/DecoderLib/DecLib.cpp b/source/Lib/DecoderLib/DecLib.cpp index 0344af8456a3f221a4474ecb313112fd272209dc..081fe1a5a3bba32f450d38a29f5b7ae94e52098f 100644 --- a/source/Lib/DecoderLib/DecLib.cpp +++ b/source/Lib/DecoderLib/DecLib.cpp @@ -1135,6 +1135,11 @@ bool DecLib::xDecodeSlice(InputNALUnit &nalu, int &iSkipFrame, int iPOCLastDispl m_apcSlicePilot->setNalUnitType(nalu.m_nalUnitType); m_apcSlicePilot->setTLayer(nalu.m_temporalId); +#if JVET_N0865_NONSYNTAX + if (nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_GDR) + CHECK(nalu.m_temporalId != 0, "Current GDR picture has TemporalId not equal to 0"); +#endif + m_HLSReader.setBitstream( &nalu.getBitstream() ); m_HLSReader.parseSliceHeader( m_apcSlicePilot, &m_parameterSetManager, m_prevTid0POC );