Opened 3 years ago

Last modified 19 months ago

#1335 new defect

NoOutputOfPriorPicsFlag can be mishandled by reference decoder

Reported by: jackh Owned by:
Priority: minor Milestone:
Component: HM Version: HM-16.1
Keywords: Cc: ksuehring, davidf, karlsharman, jct-vc@…

Description

TDecTop::checkNoOutputPriorPics(), called following an IRAP picture for which NoOutputOfPriorPicsFlag==1 (call this picture A), unsets the output flag on all pictures except pictures whose POC is the same as picture A (this value is held in m_lastPOCNoOutputPriorPics).

This can cause pictures to be output in error if a picture held in the DPB from the previous IRAP has the same POC as picture A. In this case the picture will not have its output flag unset and may be output later.

There is no need for this POC check as picture A will not yet have been added to the DPB when checkNoOutputPriorPics() is called, so there is no danger of incorrectly setting its output flag. I therefore suggest that this condition be removed from checkNoOutputPriorPics(). Since the variable m_lastPOCNoOutputPriorPics no longer has any purpose once this check is removed, the variable can also be removed.

Change History (9)

comment:1 Changed 3 years ago by DefaultCC Plugin

  • Cc ksuehring davidf karlsharman jct-vc@… added

comment:2 Changed 3 years ago by jackh

Additionally, it is necessary to change the line:

      if ( (bNewPicture || nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_CRA) && m_cTDecTop.getNoOutputPriorPicsFlag() )

in TAppDecTop::decode() to:

      if ( bNewPicture && m_cTDecTop.getNoOutputPriorPicsFlag() )

as otherwise mid-picture slices of CRA pictures will also result in calls to checkNoOutputPriorPics().

comment:3 Changed 3 years ago by ksuehring

  • Milestone changed from HM-16.2 to HM-17.0

comment:4 Changed 3 years ago by ksuehring

  • Milestone changed from HM-16.3 to HM-next

comment:5 Changed 3 years ago by ksuehring

  • Milestone changed from HM-16.4 to HM-next

comment:6 Changed 3 years ago by ksuehring

  • Milestone changed from HM-next to HM-16.5

comment:7 Changed 2 years ago by ksuehring

  • Milestone changed from HM-16.5 to HM-next

comment:8 Changed 2 years ago by ksuehring

  • Milestone changed from HM-16.6 to HM-16.7

comment:9 Changed 19 months ago by ksuehring

  • Milestone HM-16.7 deleted
Note: See TracTickets for help on using tickets.

This list contains all users that will be notified about changes made to this ticket.

These roles will be notified: Reporter, Owner, Subscriber, Participant

  • David Flynn(Subscriber, Always)
  • Jack Haughton(Reporter, Participant)
  • jct-vc@…(Subscriber)
  • Karl Sharman(Subscriber, Always)
  • Karsten Suehring(Subscriber, Participant, Always)