#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 22 months ago by fbossen

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.