﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
1359	Pic Timing: cpb removal delay calculation causes conformance failures	abishop		"As I understand it, calculating CPB removal times can have this example path below (HM & x265 have this behavior), which can force non-conformance. Am I understanding these derivations correctly?

What does au_cpb_removal_delay mean for the AU containing a BP message?

---
AU-0
  Buffering Period:
    concatenation_flag = 0
    nal_initial_cpb_removal_delay = 32401
  Pic Timing: 
    au_cpb_removal_delay_minus1 = 0

  AuCpbRemovalDelayVal = au_cpb_removal_delay_minus1 + 1 (D-2) = 1
  AuNominalRemovalTime[0] = InitCpbRemovalDelay[0] ÷ 90000 (C-10) = 0.36001
  AuCpbRemovalTime[0] = AuNominalRemovalTime[0] = 0.36001

AU-1
  Pic Timing: 
    au_cpb_removal_delay_minus1 = 0

  AuCpbRemovalDelayVal = 1

* Violates: ""Within one buffering period, the AuCpbRemovalDelayVal values for any two access units shall not be the same.""

  AuNominalRemovalTime[1] = AuNominalRemovalTime[0] + ClockTick * (AuCpbRemovalDelayVal - CpbDelayOffset) (C-12) = 0.36001 + 0.04171 * (1-0) = 0.40172
  AuCpbRemovalTime[1] = AuNominalRemovalTime[1]

AU-2
  Pic Timing: 
    au_cpb_removal_delay_minus1 = 1

  AuCpbRemovalDelayVal = 2
  AuNominalRemovalTime(2) = AuCpbRemovalTime[2] = 0.44343

AU-3
  Buffering Period:
    concatenation_flag = 0
    nal_initial_cpb_removal_delay = 36001
  Pic Timing:
    au_cpb_removal_delay_minus1 = 0

  AuCpbRemovalDelayVal = 1
  AuNominalRemovalTime(3) = baseTime + ClockTick * ( tmpCpbRemovalDelay - CpbDelayOffset ) = 0.40172 (same as AU-1)
  AuCpbRemovalTime[3] = AuNominalRemovalTime[3]

* This breaks the timeline between buffering periods.  First instinct is to make have this au_cpb_removal_delay_minus1 encoded as the previous' plus one.  But, that would surely cause a duplicate.

* Given AuNominalRemovalTime[3] - AuCpbRemovalTime[2] < 0, Clause A.4.2.a is forced to fail.

AU-4
  Pic Timing:
    au_cpb_removal_delay_minus1 = 0

  AuCpbRemovalDelayVal = 1

* Violates: ""Within one buffering period, the AuCpbRemovalDelayVal values for any two access units shall not be the same.""

  AuNominalRemovalTime(4) = 0.40172

* Given AuCpbRemovalTime[4] - AuCpbRemovalTime[3] == 0, Clause A.4.2.d is forced to fail.
---
"	defect	closed	major		Text		worksforme	cpb hrd	bbross wjhan jct-vc@…
