diff --git a/source/Lib/EncoderLib/VLCWriter.cpp b/source/Lib/EncoderLib/VLCWriter.cpp index 31cdb0e40b11c77dd3d3bedf702488925ce60243..e07b734b6e7ce2ceeff2497e28d20b0b1de4abef 100644 --- a/source/Lib/EncoderLib/VLCWriter.cpp +++ b/source/Lib/EncoderLib/VLCWriter.cpp @@ -397,7 +397,7 @@ void HLSWriter::codePPS( const PPS* pcPPS ) // multiple slices within a single tile special case if( pcPPS->getSliceWidthInTiles(i) == 1 && pcPPS->getSliceHeightInTiles(i) == 1 && pcPPS->getTileRowHeight(pcPPS->getSliceTileIdx(i) / pcPPS->getNumTileColumns()) > 1 ) { - uint32_t numExpSliceInTile = pcPPS->getNumSlicesInTile(i) - 1; + uint32_t numExpSliceInTile = (pcPPS->getNumSlicesInTile(i) == 1) ? 0 : pcPPS->getNumSlicesInTile(i); if( numExpSliceInTile > 1 && pcPPS->getSliceHeightInCtu(i + numExpSliceInTile - 2) >= pcPPS->getSliceHeightInCtu(i + numExpSliceInTile - 1) ) { for( int j = numExpSliceInTile - 2; j >= 0; j-- )