Opened 4 years ago
Last modified 4 years ago
#917 closed defect
Mismatch between spec and software on length of slice_subpic_id — at Initial Version
Reported by: | vdrugeon | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | VTM-8.1 |
Component: | VTM | Version: | VTM-8.0 |
Keywords: | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
VVC D8 states: "The length of slice_subpic_id is sps_subpic_id_len_minus1 + 1 bits." This is independent from the value of subpic_id_mapping_explicitly_signalled_flag or subpic_id_mapping_in_pps_flag.
However, the following code can be found in HLSyntaxReader::parseSliceHeader:
#if JVET_Q0119_CLEANUPS
if (sps->getSubPicInfoPresentFlag())
#else
if (sps->getSubPicPresentFlag())
#endif
{
uint32_t bitsSubPicId;
#if JVET_Q0119_CLEANUPS
if (sps->getSubPicIdMappingExplicitlySignalledFlag())
#else
if (sps->getSubPicIdSignallingPresentFlag())
#endif
{
bitsSubPicId = sps->getSubPicIdLen();
}
#if !JVET_Q0119_CLEANUPS
else if (picHeader->getSubPicIdSignallingPresentFlag())
{
bitsSubPicId = picHeader->getSubPicIdLen();
}
#endif
#if JVET_Q0119_CLEANUPS
else if (pps->getSubPicIdMappingInPpsFlag())
#else
else if (pps->getSubPicIdSignallingPresentFlag())
#endif
{
bitsSubPicId = pps->getSubPicIdLen();
}
else
{
bitsSubPicId = ceilLog2(sps->getNumSubPics());
}
READ_CODE(bitsSubPicId, uiCode, "slice_subpic_id"); pcSlice->setSliceSubPicId(uiCode);
}