Opened 2 years ago

Closed 2 years ago

#1563 closed defect (fixed)

Decoder accesses deleted SPS decoding Multilayer stream (part2)

Reported by: nikolai.shostak Owned by:
Priority: minor Milestone:
Component: VTM Version: VTM-17.1
Keywords: Cc: ksuehring, XiangLi, fbossen, jvet@…

Description

In continuation of #1554

When there are more than 2 layers, xWriteOutput() may access deleted SPS as well. So, it should use m_chromaFormatIDC saved in Picture object

In addition to it.

1) xWriteOutput() accesses potentially deleted SPS here:

  const SPS* activeSPS = (pcListPic->front()->cs->sps);
  uint32_t maxNrSublayers = activeSPS->getMaxTLayers();

This is safe in case of single-layer OLS only.

2) DecApp::decode() uses this pattern in multiple places:

  pcListPic->front()->cs->sps->getBitDepths();

In case of Multi-layer OLS, this SPS can be deleted.
I suggest to save BitDepths in Picture object as well.

MR is coming.

Change history (1)

comment:1 Changed 2 years ago by nikolai.shostak

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