Opened 4 years ago
Closed 4 years ago
#1457 closed defect (fixed)
rplIdx variable for list 1 is not always set in parseSliceHeader()
Reported by: | hallapur | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | VTM-12.0 |
Component: | VTM | Version: | VTM-11.2 |
Keywords: | Cc: | ksuehring, XiangLi, fbossen, jvet@… |
Description
setRPL1idx function is not called in the "if" and "else if" clauses in the following code in parseSliceHeader():
if (sps->getNumRPL(1) > 1 && pps->getRpl1IdxPresentFlag())
{
int numBits = ceilLog2(sps->getNumRPL1());
READ_CODE(numBits, uiCode, "ref_pic_list_idx[1]");
*rpl1 = *sps->getRPLList1()->getReferencePictureList(uiCode);
}
else if (sps->getNumRPL(1) == 1)
{
*rpl1 = *sps->getRPLList1()->getReferencePictureList(0);
}
else
{
assert(pcSlice->getRPL0idx() != -1);
pcSlice->setRPL1idx(pcSlice->getRPL0idx());
*rpl1 = *sps->getRPLList1()->getReferencePictureList(pcSlice->getRPL0idx());
}
This does not seem to cause problems in the decoder, but it does cause incorrect bitstream creation in some cases when decoded slice header is re-encoded such as in subpicMergeApp. I will submit a merge request that adds missing function calls.
Change history (1)
comment:1 Changed 4 years ago by fbossen
- Resolution set to fixed
- Status changed from new to closed
See https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/-/merge_requests/2010