Opened 3 years ago

Last modified 3 years ago

#1393 new defect

Unnecessary condition checking when handling no output of prior picture

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

Description

There is the following checking within function checkNoOutputPriorPics
"if (m_lastPOCNoOutputPriorPics != pcPicTmp->getPOC())"

This checking is unnecessary and cause a bug for the following cases:
Suppose that original bitstream coded with random access structure with IDR at every 32 pictures and the second IDR has its value of no_output_of_prior_pics_flag equal to 1. Then all other non-IDR pictures is removed from the bitstream leaving the bitstream.

It is expected that when decoder shall not output the first IDR because after the first IDR has been decoded (and gets into the DPB) it will be flushed without outputting it because the next IDR has no_output_of_prior_pics_flag equal to 1. However, because of the above checking, decoder will not mark the first IDR as not to output because its POC is the same as the POC of the second IDR.

Simply removing that condition would fix the bug.
Patch for this removal is attached.

Attachments (1)

NoOutputPriorPicBugFix.patch (1.7 KB) - added by fhendry 3 years ago.

Download all attachments as: .zip

Change History (2)

comment:1 Changed 3 years ago by DefaultCC Plugin

  • Cc ksuehring davidf karlsharman jct-vc@… added

Changed 3 years ago by fhendry

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)
  • Hendry(Reporter)
  • jct-vc@…(Subscriber)
  • Karl Sharman(Subscriber, Always)
  • Karsten Suehring(Subscriber, Always)