Opened 5 years ago
Closed 5 years ago
#801 closed defect (fixed)
redundant index reference for num_tiles_in_slice_minus1
Reported by: | jeromnhsu | Owned by: | |
---|---|---|---|
Priority: | trivial | Milestone: | |
Component: | spec | Version: | |
Keywords: | Cc: | ksuehring, bbross, XiangLi, fbossen, jvet@… |
Description
In VVC Draft7 (JVET-P2001-vE),
num_tiles_in_slice_minus1 is used with index, which is wrong, should be
num_tiles_in_slice_minus1 plus 1, when present, specifies the number of tiles in the slice. The value of num_tiles_in_slice_minus1 shall be in the range of 0 to NumTilesInPic − 1, inclusive.
The variable NumCtuInCurrSlice, which specifies the number of CTUs in the current slice, and the list CtbAddrInCurrSlice[ i ], for i ranging from 0 to NumCtuInCurrSlice − 1, inclusive, specifying the picture raster scan address of the i-th CTB within the slice, are derived as follows:
if( rect_slice_flag ) {
picLevelSliceIdx = SliceSubpicToPicIdx[ SubPicIdx ][ slice_address ]
NumCtuInCurrSlice = NumCtuInSlice[ picLevelSliceIdx ]
for( i = 0; i < NumCtuInCurrSlice; i++ )
CtbAddrInCurrSlice[ i ] = CtbAddrInSlice[ picLevelSliceIdx ][ i ] (115)
} else {
NumCtuInCurrSlice = 0
for( tileIdx = slice_address; tileIdx <= slice_address + num_tiles_in_slice_minus1[ i ]; tileIdx++ ) {
tileX = tileIdx % NumTileColumns
tileY = tileIdx / NumTileColumns
for( ctbY = tileRowBd[ tileY ]; ctbY < tileRowBd[ tileY + 1 ]; ctbY++ ) {
for( ctbX = tileColBd[ tileX ]; ctbX < tileColBd[ tileX + 1 ]; ctbX++ ) {
CtbAddrInCurrSlice[ NumCtuInCurrSlice ] = ctbY * PicWidthInCtb + ctbX
NumCtuInCurrSlice++
}
}
}
}
Change history (1)
comment:1 Changed 5 years ago by yk
- Resolution set to fixed
- Status changed from new to closed
Thanks! Will be fixed in JVET-Q2001-vA (by replacing "num_tiles_in_slice_minus1[ i ]" with "num_tiles_in_slice_minus1").