﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
1247	Max DPB size (A.4.2)	fbossen		"In A.4.2, MaxDpbSize is derived as:

if( PicSizeMaxInSamplesY  <=  ( MaxLumaPs  >>  2 ) )
	MaxDpbSize = Min( 4 * maxDpbPicBuf, 16 )
else if( PicSizeMaxInSamplesY  <=  ( MaxLumaPs  >>  1 ) )
	MaxDpbSize = Min( 2 * maxDpbPicBuf, 16 )
else if( PicSizeMaxInSamplesY  <=  ( ( 3 * MaxLumaPs )  >>  2 ) )
	MaxDpbSize = Min( ( 4 * maxDpbPicBuf ) / 3, 16 )
else
	MaxDpbSize = maxDpbPicBuf

There are more cases here than necessary since the first 2 cases result in the same value of MaxDpbSize (16). The equation can thus be simplified to:

if( 2 * PicSizeMaxInSamplesY  <=  MaxLumaPs )
	MaxDpbSize = 2 * maxDpbPicBuf
else if( 4 * PicSizeMaxInSamplesY  <=  3 * MaxLumaPs )
	MaxDpbSize = 4 * maxDpbPicBuf / 3	
else
	MaxDpbSize = maxDpbPicBuf

The thresholds were originally designed for maxDpbPicBuf = 6, where MaxDpbSize could be equal to 6, 8, 12 or 16. In VVC maxDpbPicBuf has been increased to 8, which results in MaxDpbSize being equal to 8, 10 or 16. It is unclear whether such behaviour is intentional. Furthermore the comparison

else if( 4 * PicSizeMaxInSamplesY  <=  3 * MaxLumaPs )

unnecessarily excludes values of PicSizeMaxInSampleY  for the case where MaxDpbSize is 10 (which is 5/4 of maxDpbPicBuf). The equation could thus be changed to:

if( 2 * PicSizeMaxInSamplesY  <=  MaxLumaPs )
	MaxDpbSize = 2 * maxDpbPicBuf
else if( 5 * PicSizeMaxInSamplesY  <=  4 * MaxLumaPs )
	MaxDpbSize = 5 * maxDpbPicBuf / 4	
else
	MaxDpbSize = maxDpbPicBuf

Alternatively, to preserve the set of MaxDpbSize values supported by previous standards (8, 12, 16), the equation could be changed to:

if( 2 * PicSizeMaxInSamplesY  <=  MaxLumaPs )
	MaxDpbSize = 2 * maxDpbPicBuf
else if( 3 * PicSizeMaxInSamplesY  <=  2 * MaxLumaPs )
	MaxDpbSize = 3 * maxDpbPicBuf / 2	
else
	MaxDpbSize = maxDpbPicBuf

The value 12 of MaxDpbSize may be of particular interest in scalable streams. For example, a 2-layer stream using our CTC RA configuration would require that number of entries in the DPB.
"	defect	closed	minor		spec	VVC D10 vE	fixed		ksuehring bbross XiangLi fbossen jvet@…
