Opened 5 years ago
Closed 5 years ago
#1063 closed defect (fixed)
The latest VTM decoder crashes when multi-layer coding is tested
Reported by: | ZhipinDeng | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | VTM-9.0 |
Component: | VTM | Version: | |
Keywords: | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
The latest VTM decoder crashes when BL single subpic and EL multiple subpic in multi-layer coding.
The crash is triggered by the following check introduced by JVET_R0276_REORDERED_SUBPICS:
CHECK( currentSubPicIdx >= pcSlice->getRefPic( RefPicList( refPicList ), refIdx )->subPicIDs.size(), "Number of sub-pictures in a reference picture is less then the current slice sub-picture index" );
I noted that there is another check introduced by JVET_R0276_REORDERED_SUBPICS:
CHECK( pcSlice->getRefPic( RefPicList( refPicList ), refIdx )->subPicIDs[currentSubPicIdx] != pcSlice->getSliceSubPicId(), "A picture with different sub-picture ID of the collocated sub-picture cannot be used as an active reference picture" );
I understand the second check, but don't understand how the first check relates to the JVET-R0276 adoption.
Change history (5)
comment:1 Changed 5 years ago by Vadim
comment:2 Changed 5 years ago by ZhipinDeng
Thanks Vadim for the confirmation. However, currently subPicIDs.size() returns 0 when there is only one subpicture in a picture. I guess it is not the intended behaviour.
comment:3 Changed 5 years ago by Vadim
Actually, the problem is not in this check itself, but in the specification as described in #1062, which is the ticket on the same problem.
Based on the discussion in #1062, I added the layerID check and created MR!1637.
https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/merge_requests/1637
Can you please try it in your one BL sub-picture coding?
comment:4 Changed 5 years ago by ZhipinDeng
Thanks Vadim. It works by adding the same layer check as provided in MR!1637.
comment:5 Changed 5 years ago by XiangLi
- Milestone set to VTM-9.0
- Resolution set to fixed
- Status changed from new to closed
Fixed in https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/merge_requests/1637, as suggested.
The first check is a software check, if currentSubPicIdx is outside of the subPicIDs list then subPicIDs[currentSubPicIdx] is out of bound, which should not be the case if everything is correctly defined. You may tread it as an assert.