﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
935	Possible confusion in removal of pictures from DPB	peterderivaz	bbross	"In section C.5.3 ""Output and removal of pictures from the DPB"" the text says that the bumping process is invoked (before decoding the current picture) until the number of pictures in the DPB is _strictly_ less than sps_max_dec_pic_buffering.

Sequences produced by the reference encoder (such as using 9.1rc1 with cfg/encoder_randomaccess_main.cfg) use 4 reference frames (num_negative_pics=4) and set sps_max_dec_pic_buffering to 4.

This causes a problem because the bumping process tries to reduce the DPB to 3, but 4 reference frames are needed.

The reference decoder does not have a problem because lines 178-184 of TDecTop.cpp read:

    if ( !bBufferIsAvailable )
    {
    / / There is no room for this picture, either because of faulty    encoder or dropped NAL. Extend the buffer.
    m_iMaxRefPicNum++;
    rpcPic = new TComPic();
    m_cListPic.pushBack( rpcPic );
   }

and so the reference decoder simply increases the size of the decoded picture buffer without complaining. (Additionally, m_iMaxRefPicNum is initialised on line 143 to a larger value than should be necessary.)

My guess is that the text should change to say that the bumping should be invoked while the number of pictures is _greater_ than sps_max_dec_pic_buffering[TemporalId]. 
"	defect	closed	trivial	D10	Text	D10 (L1003) v2	fixed		bbross wjhan jct-vc@…
