diff --git a/source/Lib/CommonLib/TypeDef.h b/source/Lib/CommonLib/TypeDef.h index ccf894f55abafba4773f713e247ceb72613cc97a..5085335cd0944f54334d472c7e9927269140c4a1 100644 --- a/source/Lib/CommonLib/TypeDef.h +++ b/source/Lib/CommonLib/TypeDef.h @@ -92,10 +92,10 @@ #define JVET_N0857_TILES_BRICKS 1 // VTM-5 basic Slices/Tiles/Bricks design, rectangular slices not supported yet #if JVET_N0857_TILES_BRICKS +#define JVET_N0124_PROPOSAL1 1 // JVET-N0124 Proposal 1 #define JVET_N0124_PROPOSAL2 1 // JVET-N0124 Proposal 2 #endif - #define JVET_N0280_RESIDUAL_CODING_TS 1 #define JVET_N0103_CGSIZE_HARMONIZATION 1 // Chroma CG sizes aligned to luma CG sizes diff --git a/source/Lib/DecoderLib/VLCReader.cpp b/source/Lib/DecoderLib/VLCReader.cpp index ea548f56ab5ef3e4e8029f0aa34641795451648e..cd69508abf499f4529b034e1543811db08c34829 100644 --- a/source/Lib/DecoderLib/VLCReader.cpp +++ b/source/Lib/DecoderLib/VLCReader.cpp @@ -594,6 +594,9 @@ void HLSyntaxReader::parsePPS( PPS* pcPPS ) } else { +#if JVET_N0124_PROPOSAL1 + pcPPS->setSingleBrickPerSliceFlag(true); +#endif pcPPS->setRectSliceFlag(true); } diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp index 59d54d0d0c8e1e0ec05633cf877cc9b14da0fc30..cddfead79972d1097719daf1a79a6f8fd7398623 100644 --- a/source/Lib/EncoderLib/VLCWriter.cpp +++ b/source/Lib/EncoderLib/VLCWriter.cpp @@ -338,6 +338,10 @@ void HLSWriter::codePPS( const PPS* pcPPS ) } else { +#if JVET_N0124_PROPOSAL1 + // make sure single brick per slice is set by encoder such that the behaviour is same as for setting it to true + CHECK(pcPPS->getSingleBrickPerSliceFlag() != true, "SingleBrickPerSliceFlag must be set to 1 when not present"); +#endif // make sure rect_slice_flag is set CHECK (pcPPS->getRectSliceFlag()!=true, "RectSliceFlag must be equalt to 1 for single_tile_in_pic_flag equal to 1"); }