#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@…


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);


assert(pcSlice->getRPL0idx() != -1);
*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.