From d9786f1a2f4d088903674c0401948500be890a32 Mon Sep 17 00:00:00 2001 From: Tom Finegan Date: Wed, 10 Oct 2018 10:09:36 -0700 Subject: [PATCH 1/2] Rename initial presentation delay fields. This editorial change renames the initial presentation delay fields to avoid confusion between the ISOBMFF value, which is in samples, and the AV1 bitstream value, which is in frames. - Rename initial_presentation_delay_present to initial_delay_present. - Rename initial_presentation_delay_minus_one to initial_delay_samples_minus_one. Closes https://github.com/AOMediaCodec/av1-isobmff/issues/104 --- index.bs | 26 +++---- index.html | 195 ++++++++++++++++++++++++++--------------------------- 2 files changed, 110 insertions(+), 111 deletions(-) diff --git a/index.bs b/index.bs index 65921b3..c79a540 100644 --- a/index.bs +++ b/index.bs @@ -6,7 +6,7 @@ Shortname: av1-isobmff Editor: Cyril Concolato, Netflix, cconcolato@netflix.com Editor: Tom Finegan, Google, tom.finegan@google.com Abstract: This document specifies the storage format for [[!AV1]] bitstreams in [[!ISOBMFF]] tracks as well as in [[!CMAF]] files. -Date: 2018-09-11 +Date: 2018-10-10 Repository: AOMediaCodec/av1-isobmff Inline Github Issues: full Boilerplate: property-index no, issues-index no, copyright yes @@ -261,9 +261,9 @@ aligned (8) class AV1CodecConfigurationRecord { unsigned int (2) chroma_sample_position; unsigned int (3) reserved = 0; - unsigned int (1) initial_presentation_delay_present; - if (initial_presentation_delay_present) { - unsigned int (4) initial_presentation_delay_minus_one; + unsigned int (1) initial_delay_present; + if (initial_delay_present) { + unsigned int (4) initial_delay_samples_minus_one; } else { unsigned int (4) reserved = 0; } @@ -300,20 +300,20 @@ The chroma_sample_position field indicates the [=chroma_sample When not specified in the [=Sequence Header OBU=], and not defined by the conditions specified in the [[!AV1]] [=color_config=], the values of [=chroma_subsampling_x=], [=chroma_subsampling_y=], and [=chroma_sample_position=] SHALL be 0. -The initial_presentation_delay_present field indicates the presence of the initial_presentation_delay_minus_one field. +The initial_delay_present field indicates the presence of the initial_delay_samples_minus_one field. -The initial_presentation_delay_minus_one field indicates the number of samples (minus one) that need to be decoded prior to starting the presentation of the first sample associated with this sample entry in order to guarantee that each sample will be decoded prior to its presentation time under the constraints of the first level value indicated by [=seq_level_idx=] in the [=Sequence Header OBU=] (in the configOBUs field or in the associated samples). More precisely, the following procedure SHALL not return any error: +The initial_delay_samples_minus_one field indicates the number of samples (minus one) that need to be decoded prior to starting the presentation of the first sample associated with this sample entry in order to guarantee that each sample will be decoded prior to its presentation time under the constraints of the first level value indicated by [=seq_level_idx=] in the [=Sequence Header OBU=] (in the configOBUs field or in the associated samples). More precisely, the following procedure SHALL not return any error: - construct a hypothetical bitstream consisting of the OBUs carried in the sample entry followed by the OBUs carried in all the samples referring to that sample entry, -- set the first [=initial_display_delay_minus_1=] field of each [=Sequence Header OBU=] to the number of frames minus one contained in the first [=initial_presentation_delay_minus_one=] + 1 samples, +- set the first [=initial_display_delay_minus_1=] field of each [=Sequence Header OBU=] to the number of frames minus one contained in the first [=initial_delay_samples_minus_one=] + 1 samples, - set the [=frame_presentation_time=] field of the frame header of each presentable frame such that it matches the presentation time difference between the sample carrying this frame and the previous sample (if it exists, 0 otherwise), - apply the decoder model specified in [[!AV1]] to this hypothetical bitstream using the first operating point. If buffer_removal_time information is present in bitstream for this operating point, the decoding schedule mode SHALL be applied, otherwise the resource availability mode SHALL be applied. -NOTE: With the above procedure, when smooth presentation can be guaranteed after decoding the first sample, initial_presentation_delay_minus_one is 0. +NOTE: With the above procedure, when smooth presentation can be guaranteed after decoding the first sample, initial_delay_samples_minus_one is 0. -NOTE: Because the above procedure considers all OBUs in all samples associated with a sample entry, if these OBUS form multiple coded video sequences which would have different values of initial_presentation_delay_minus_one if considered separately, the sample entry would signal the larger value. +NOTE: Because the above procedure considers all OBUs in all samples associated with a sample entry, if these OBUS form multiple coded video sequences which would have different values of initial_delay_samples_minus_one if considered separately, the sample entry would signal the larger value.
-The difference between [=initial_presentation_delay_minus_one=] and [=initial_display_delay_minus_1=] can be illustrated by considering the following example: +The difference between [=initial_delay_samples_minus_one=] and [=initial_display_delay_minus_1=] can be illustrated by considering the following example: ``` a b c d e f g h ``` @@ -321,12 +321,12 @@ where letters correspond to frames. Assume that [=initial_display_delay_mi ``` [a] [b c d] [e] [f] [g] [h] ``` -[=initial_presentation_delay_minus_one=] would be 1 because it takes presentation of 2 samples to ensure that c is decoded. +[=initial_delay_samples_minus_one=] would be 1 because it takes presentation of 2 samples to ensure that c is decoded. But if the frames were grouped as follows: ``` [a] [b] [c] [d e f] [g] [h] ``` -[=initial_presentation_delay_minus_one=] would be 2 because it takes presentation of 3 samples to ensure that c is decoded. +[=initial_delay_samples_minus_one=] would be 2 because it takes presentation of 3 samples to ensure that c is decoded.
The configOBUs field contains zero or more OBUs. Any OBU may be present provided that the following procedures produce compliant AV1 bitstreams: @@ -520,7 +520,7 @@ If a [=CMAF Video Track=] uses the brand av01, it is called a - the first value of seq_level_idx - the first value of seq_tier - color_config - - initial_presentation_delay_minus_one + - initial_delay_samples_minus_one When protected, [=CMAF AV1 Tracks=] SHALL use the signaling defined in [[!CMAF]], which in turn relies on [[!CENC]], with the provisions specified in [[#CommonEncryption]]. diff --git a/index.html b/index.html index 13ed2d0..3d08975 100644 --- a/index.html +++ b/index.html @@ -1058,10 +1058,9 @@ comprising the first items of each top-level section. */ margin-top: 1.1rem; } - #toc#toc .secno { /* Ugh, need more specificity to override base.css */ + #toc .secno { grid-column: 1; width: auto; - margin-left: 0; } #toc .content { grid-column: 2; @@ -1212,9 +1211,9 @@ } } - + - + - +