Support rect slices with varying number of tiles
requested to merge sauer/VVCSoftware_VTM:support_rect_slices_with_varying_number_of_tiles into master
At the moment the encoder can be configured to used rectangular slices, but each slice has the same number of tiles. (Using SliceMode=3). This adds support for having a variable number of tiles per rectangular slice.
An example to use it:
bin/EncoderAppStatic -c cfg/encoder_randomaccess_vtm.cfg --OutputBitDepth=10 --OutputBitDepthC=10 --TemporalSubsampleRatio=1 --FramesToBeEncoded=65 --IntraPeriod=32 --Level=5.2 --QP=37 --FrameRate=30 --SourceHeight=240 --SourceWidth=416 --InputFile=RaceHorsesM_416x240_30fps_8bit_420pf.yuv --BitstreamFile=str/RaceHorsesM_416x240_QP37_FTBE32to64.vvc --ReconFile=rec/RaceHorsesM_416x240_QP37_FTBE32to64_rec_enc.yuv --FrameSkip=32 --InputBitDepth=8 --InputChromaFormat=420 --SEIDecodedPictureHash=1 --TileUniformSpacing=0 --NumTileColumnsMinus1=3 --NumTileRowsMinus1=1 --TileColumnWidthArray=1 1 1 --TileRowHeightArray=1 --NumRectSlicesInPicMinus1=2 --RectSlicesBoundaryArray=0 4 1 6 3 7
Further block statistics were added to display the slices. However, cu.slice->getSliceIndex()) always is 0, at least at the decoder, still have to look into this.
Also a naming bug was fixed, a function should be called getSliceIndex instead of setSliceIndex.
Also added support to the encoder to configuring multiple tiles but not stating the slice configuration (a single slice will be used).
Edited by Johannes Sauer