diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index d7585fca0731fc5e0c068d5e56ef486033c82a04..a6d7ab26a62fed172a9cf452dee68e684aafc29a 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -296,6 +296,9 @@ #define JVET_O0179 1 // JVET_O0179: Implement NAL unit header syntax proposal B +#define JVET_O0176_PROPOSAL3 1 // JVET_O0176 check for rect_slice_flag + + #define HEVC_SEI 0 // SEI messages that are defined in HEVC, but not in VVC typedef std::pair<int, bool> TrMode; diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp index d21fc833c9ceba022dc26f84d001f040468306ea..0044f0d47468676ce9a4063be2fd2a2df55a6212 100644 --- a/source/Lib/EncoderLib/VLCWriter.cpp +++ b/source/Lib/EncoderLib/VLCWriter.cpp @@ -336,6 +336,12 @@ void HLSWriter::codePPS( const PPS* pcPPS ) } } WRITE_FLAG( pcPPS->getBrickSplittingPresentFlag() ? 1 : 0, "brick_splitting_present_flag" ); +#if JVET_O0176_PROPOSAL3 + if (pcPPS->getBrickSplittingPresentFlag()) + { + CHECK(pcPPS->getRectSliceFlag() != true, "rect_slice_flag must be equal to 1 for brick_splitting_present_flag equal to 1"); + } +#endif int numTilesInPic = pcPPS->getUniformTileSpacingFlag() ? 0 : (pcPPS->getNumTileColumnsMinus1() + 1) * (pcPPS->getNumTileRowsMinus1() + 1);