diff --git a/index.html b/index.html index 55bb0b3..f845bf3 100644 --- a/index.html +++ b/index.html @@ -1488,9 +1488,9 @@ } } - + - + +
The AV1SampleEntry sample entry identifies that the track contains AV1 Samples, and uses an AV1CodecConfigurationBox.
class AV1SampleEntry extends VisualSampleEntry('av01') { - AV1CodecConfigurationBox config; -} +class AV1SampleEntry +extends VisualSampleEntry ( 'av01 ') +{ +AV1CodecConfigurationBox config ; +} 2.2.4. Semantics
The width and height fields of the VisualSampleEntry SHALL equal the values of max_frame_width_minus_1 + 1 and max_frame_height_minus_1 + 1 of the Sequence Header OBU applying to the samples associated with this sample entry.Let MaxRenderWidth be the maximum RenderWidth and MaxRenderHeight be the maximum RenderHeight of all the frames in the track.
The width and height in the TrackHeaderBox SHOULD be equal to MaxRenderWidth and MaxRenderHeight, respectively. Additionally, if MaxRenderWidth and MaxRenderHeight values do not equal respectively the max_frame_width_minus_1 + 1 and max_frame_height_minus_1 + 1 values of the Sequence Header OBU, a PixelAspectRatioBox box SHALL be present in the sample entry and set such that: -hSpacing / vSpacing = MaxRenderWidth * (max_frame_height_minus_1 + 1) / - ((max_frame_width_minus_1 + 1) * MaxRenderHeight) +hSpacing / vSpacing = MaxRenderWidth * ( max_frame_height_minus_1 + 1 ) / +(( max_frame_width_minus_1 + 1 ) * MaxRenderHeight ) The compressorname field of the VisualSampleEntry is an informative name. It is formatted in a fixed 32-byte field, with the first byte set to the number of bytes to be displayed, followed by that number of bytes of displayable data, followed by padding to complete 32 bytes total (including the size byte). The value "\012AOM Coding" is RECOMMENDED; the first byte is a count of the remaining bytes, here represented by \012, which (being octal 12) is decimal 10, the number of bytes in the rest of the string.
NOTE: Parsers may ignore the value of the compressorname field. It is specified in this document simply for legacy and backwards compatibility reasons.
@@ -2171,33 +2296,36 @@2.3.2. Description
The AV1CodecConfigurationBox contains decoder configuration information that SHALL be valid for every sample that references the sample entry.2.3.3. Syntax
-class AV1CodecConfigurationBox extends Box('av1C'){ - AV1CodecConfigurationRecord av1Config; -} - -aligned (8) class AV1CodecConfigurationRecord { - unsigned int (1) marker = 1; - unsigned int (7) version = 1; - unsigned int (3) seq_profile; - unsigned int (5) seq_level_idx_0; - unsigned int (1) seq_tier_0; - unsigned int (1) high_bitdepth; - unsigned int (1) twelve_bit; - unsigned int (1) monochrome; - unsigned int (1) chroma_subsampling_x; - unsigned int (1) chroma_subsampling_y; - 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; - } else { - unsigned int (4) reserved = 0; - } - - unsigned int (8) configOBUs[]; -} +class AV1CodecConfigurationBox +extends Box ( 'av1C ') +{ +AV1CodecConfigurationRecord av1Config ; +} + +aligned ( 8 ) class AV1CodecConfigurationRecord +{ +unsigned int ( 1 ) marker = 1 ; +unsigned int ( 7 ) version = 1 ; +unsigned int ( 3 ) seq_profile ; +unsigned int ( 5 ) seq_level_idx_0 ; +unsigned int ( 1 ) seq_tier_0 ; +unsigned int ( 1 ) high_bitdepth ; +unsigned int ( 1 ) twelve_bit ; +unsigned int ( 1 ) monochrome ; +unsigned int ( 1 ) chroma_subsampling_x ; +unsigned int ( 1 ) chroma_subsampling_y ; +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 ; +} else { +unsigned int ( 4 ) reserved = 0 ; +} + +unsigned int ( 8 ) configOBUs []; +} 2.3.4. Semantics
The marker field SHALL be set to 1. @@ -2229,14 +2357,14 @@The difference between initial_presentation_delay_minus_one and initial_display_delay_minus_1 can be illustrated by considering the following example:
a b c d e f g h- where letters correspond to frames. Assume thatinitial_display_delay_minus_1
is 2, i.e. that once framec
has been decoded, all other frames in the bitstream can be presented on time. If those frames were grouped into temporal units and samples as follows: +where letters correspond to frames. Assume that
initial_display_delay_minus_1
is 2, i.e. that once framec
has been decoded, all other frames in the bitstream can be presented on time. If those frames were grouped into temporal units and samples as follows:[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 thatc
is decoded. -But if the frames were grouped as follows: +
initial_presentation_delay_minus_one
would be 1 because it takes presentation of 2 samples to ensure thatc
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 thatc
is decoded. +
initial_presentation_delay_minus_one
would be 2 because it takes presentation of 3 samples to ensure thatc
is decoded.
The AV1ForwardKeyFrameSampleGroupEntry documents samples that contain a Delayed Random Access Point that are followed at a given distance in the bitstream by a Key Frame Dependent Recovery Point.
class AV1ForwardKeyFrameSampleGroupEntry extends VisualSampleGroupEntry('av1f') { - unsigned int(8) fwd_distance; -} +class AV1ForwardKeyFrameSampleGroupEntry +extends VisualSampleGroupEntry ( 'av1f ') +{ +unsigned int ( 8 ) fwd_distance ; +} 2.5.4. Semantics
The fwd_distance field indicates the number of samples between this sample and the next sample containing the associated Key Frame Dependent Recovery Point. 0 means the next sample.
@@ -2314,8 +2444,10 @@2.6.2. Description
The AV1MultiFrameSampleGroupEntry documents samples that contain multiple frames.
2.6.3. Syntax
-class AV1MultiFrameSampleGroupEntry extends VisualSampleGroupEntry('av1m') { -} +class AV1MultiFrameSampleGroupEntry +extends VisualSampleGroupEntry ( 'av1m ') +{ +} 2.7. AV1 Switch Frame sample group entry
2.7.1. Definition
@@ -2327,8 +2459,10 @@2.7.2. Description
The AV1SwitchFrameSampleGroupEntry documents samples that start with a Switch Frame.
2.7.3. Syntax
-class AV1SwitchFrameSampleGroupEntry extends VisualSampleGroupEntry('av1s') { -} +class AV1SwitchFrameSampleGroupEntry +extends VisualSampleGroupEntry ( 'av1s ') +{ +} 2.8. AV1 Metadata sample group entry
2.8.1. Definition
@@ -2340,14 +2474,16 @@2.8.2. Description
The AV1MetadataSampleGroupEntry documents samples that contain metadata OBUs. The
grouping_type_parameter
can be used to identify samples containing metadata OBUs of a given type. If nogrouping_type_parameter
is provided, the sample group entry identifies samples containing metadata OBUs for which themetadata_type
is unknown.2.8.3. Syntax
-class AV1MetadataSampleGroupEntry extends VisualSampleGroupEntry('av1M') { -} +class AV1MetadataSampleGroupEntry +extends VisualSampleGroupEntry ( 'av1M ') +{ +} For this sample group entry, the
-grouping_type_parameter
syntax is as follows:{ - unsigned int (8) metadata_type; - unsigned int (24) metadata_specific_parameters; -} +{ +unsigned int ( 8 ) metadata_type ; +unsigned int ( 24 ) metadata_specific_parameters ; +} 2.8.4. Semantics
metadata_type is a 8-bit field whose value is the value of the metadata_type field defined in [AV1], when it is equal or lower than 255. metadata_type values above 255 are not supported by this sample group.
@@ -2473,6 +2609,8 @@6
Clarify requirements on sample entry when encryption is used.
+ +