rfc9559v5.txt | rfc9559.txt | |||
---|---|---|---|---|
skipping to change at line 193 ¶ | skipping to change at line 193 ¶ | |||
25.2. SeekHead | 25.2. SeekHead | |||
25.3. Optimum Layouts | 25.3. Optimum Layouts | |||
25.3.1. Optimum Layout for a Muxer | 25.3.1. Optimum Layout for a Muxer | |||
25.3.2. Optimum Layout after Editing Tags | 25.3.2. Optimum Layout after Editing Tags | |||
25.3.3. Optimum Layout with Cues at the Front | 25.3.3. Optimum Layout with Cues at the Front | |||
25.3.4. Optimum Layout for Livestreaming | 25.3.4. Optimum Layout for Livestreaming | |||
26. Security Considerations | 26. Security Considerations | |||
27. IANA Considerations | 27. IANA Considerations | |||
27.1. Matroska Element IDs Registry | 27.1. Matroska Element IDs Registry | |||
27.2. Chapter Codec IDs Registry | 27.2. Chapter Codec IDs Registry | |||
27.3. Media Types | 27.3. Track Types Registry | |||
27.3.1. For Files Containing Video Tracks | 27.4. Tags Target Types Registry | |||
27.3.2. For Files Containing Audio Tracks with No Video Tracks | 27.5. Alpha Modes Registry | |||
27.3.3. For Files Containing a Stereoscopic Video Track | 27.6. Content Encoding Scopes Registry | |||
27.7. Content Encoding Types Registry | ||||
27.8. Compression Algorithms Registry | ||||
27.9. Encryption Algorithms Registry | ||||
27.10. AES Cipher Modes Registry | ||||
27.11. Stereo Modes Registry | ||||
27.12. Display Units Registry | ||||
27.13. Projection Types Registry | ||||
27.14. Track Plane Types Registry | ||||
27.15. Horizontal Chroma Sitings Registry | ||||
27.16. Vertical Chroma Sitings Registry | ||||
27.17. Color Ranges Registry | ||||
27.18. Media Types | ||||
27.18.1. For Files Containing Video Tracks | ||||
27.18.2. For Files Containing Audio Tracks with No Video | ||||
Tracks | ||||
27.18.3. For Files Containing a Stereoscopic Video Track | ||||
28. References | 28. References | |||
28.1. Normative References | 28.1. Normative References | |||
28.2. Informative References | 28.2. Informative References | |||
Appendix A. Historic Deprecated Elements | Appendix A. Historic Deprecated Elements | |||
A.1. SilentTracks Element | A.1. SilentTracks Element | |||
A.2. SilentTrackNumber Element | A.2. SilentTrackNumber Element | |||
A.3. BlockVirtual Element | A.3. BlockVirtual Element | |||
A.4. ReferenceVirtual Element | A.4. ReferenceVirtual Element | |||
A.5. Slices Element | A.5. Slices Element | |||
A.6. TimeSlice Element | A.6. TimeSlice Element | |||
skipping to change at line 961 ¶ | skipping to change at line 977 ¶ | |||
chapter codec data. The format depends on the ChapProcessCodecID | chapter codec data. The format depends on the ChapProcessCodecID | |||
used; see Section 5.1.7.1.4.15. | used; see Section 5.1.7.1.4.15. | |||
5.1.2.8.2. ChapterTranslateCodec Element | 5.1.2.8.2. ChapterTranslateCodec Element | |||
id / type: 0x69BF / uinteger | id / type: 0x69BF / uinteger | |||
path: \Segment\Info\ChapterTranslate\ChapterTranslateCodec | path: \Segment\Info\ChapterTranslate\ChapterTranslateCodec | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: Applies to the chapter codec of the given chapter | definition: Applies to the chapter codec of the given chapter | |||
edition(s); see Section 5.1.7.1.4.15. | edition(s); see Section 5.1.7.1.4.15. | |||
defined values: See Table 1. | defined values: See Table 1. Additional values can be registered in | |||
the "Matroska Chapter Codec IDs" registry defined in Section 27.2. | ||||
+=======+=================+============================+ | +=======+=================+============================+ | |||
| value | label | definition | | | value | label | definition | | |||
+=======+=================+============================+ | +=======+=================+============================+ | |||
| 0 | Matroska Script | Chapter commands using the | | | 0 | Matroska Script | Chapter commands using the | | |||
| | | Matroska Script codec. | | | | | Matroska Script codec. | | |||
+-------+-----------------+----------------------------+ | +-------+-----------------+----------------------------+ | |||
| 1 | DVD-menu | Chapter commands using the | | | 1 | DVD-menu | Chapter commands using the | | |||
| | | DVD-like codec. | | | | | DVD-like codec. | | |||
+-------+-----------------+----------------------------+ | +-------+-----------------+----------------------------+ | |||
skipping to change at line 1266 ¶ | skipping to change at line 1283 ¶ | |||
definition: A UID that identifies the Track. | definition: A UID that identifies the Track. | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
5.1.4.1.3. TrackType Element | 5.1.4.1.3. TrackType Element | |||
id / type: 0x83 / uinteger | id / type: 0x83 / uinteger | |||
path: \Segment\Tracks\TrackEntry\TrackType | path: \Segment\Tracks\TrackEntry\TrackType | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: The TrackType defines the type of each frame found in | definition: The TrackType defines the type of each frame found in | |||
the Track. The value SHOULD be stored on 1 octet. | the Track. The value SHOULD be stored on 1 octet. | |||
defined values: See Table 3. | defined values: See Table 3. Additional values can be registered in | |||
the "Track Types" registry defined in Section 27.3. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+==========+==========================================+ | +=======+==========+==========================================+ | |||
| value | label | contents of each frame | | | value | label | contents of each frame | | |||
+=======+==========+==========================================+ | +=======+==========+==========================================+ | |||
| 1 | video | An image. | | | 1 | video | An image. | | |||
+-------+----------+------------------------------------------+ | +-------+----------+------------------------------------------+ | |||
| 2 | audio | Audio samples. | | | 2 | audio | Audio samples. | | |||
+-------+----------+------------------------------------------+ | +-------+----------+------------------------------------------+ | |||
| 3 | complex | A mix of different other TrackType. The | | | 3 | complex | A mix of different other TrackType. The | | |||
skipping to change at line 1613 ¶ | skipping to change at line 1631 ¶ | |||
the chapter codec data. The format depends on the | the chapter codec data. The format depends on the | |||
ChapProcessCodecID used; see Section 5.1.7.1.4.15. | ChapProcessCodecID used; see Section 5.1.7.1.4.15. | |||
5.1.4.1.27.2. TrackTranslateCodec Element | 5.1.4.1.27.2. TrackTranslateCodec Element | |||
id / type: 0x66BF / uinteger | id / type: 0x66BF / uinteger | |||
path: \Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateCodec | path: \Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateCodec | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: Applies to the chapter codec of the given chapter | definition: Applies to the chapter codec of the given chapter | |||
edition(s); see Section 5.1.7.1.4.15. | edition(s); see Section 5.1.7.1.4.15. | |||
defined values: See Table 4. | defined values: See Table 4. Additional values can be registered in | |||
the "Matroska Chapter Codec IDs" registry defined in Section 27.2. | ||||
+=======+=================+============================+ | +=======+=================+============================+ | |||
| value | label | definition | | | value | label | definition | | |||
+=======+=================+============================+ | +=======+=================+============================+ | |||
| 0 | Matroska Script | Chapter commands using the | | | 0 | Matroska Script | Chapter commands using the | | |||
| | | Matroska Script codec. | | | | | Matroska Script codec. | | |||
+-------+-----------------+----------------------------+ | +-------+-----------------+----------------------------+ | |||
| 1 | DVD-menu | Chapter commands using the | | | 1 | DVD-menu | Chapter commands using the | | |||
| | | DVD-like codec. | | | | | DVD-like codec. | | |||
+-------+-----------------+----------------------------+ | +-------+-----------------+----------------------------+ | |||
skipping to change at line 1653 ¶ | skipping to change at line 1672 ¶ | |||
definition: Video settings. | definition: Video settings. | |||
5.1.4.1.28.1. FlagInterlaced Element | 5.1.4.1.28.1. FlagInterlaced Element | |||
id / type / default: 0x9A / uinteger / 0 | id / type / default: 0x9A / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\Video\FlagInterlaced | path: \Segment\Tracks\TrackEntry\Video\FlagInterlaced | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
minver: 2 | minver: 2 | |||
definition: Specifies whether the video frames in this track are | definition: Specifies whether the video frames in this track are | |||
interlaced. | interlaced. | |||
defined values: See Table 5. | restrictions: See Table 5. | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+==============+==========================+ | +=======+==============+==========================+ | |||
| value | label | definition | | | value | label | definition | | |||
+=======+==============+==========================+ | +=======+==============+==========================+ | |||
| 0 | undetermined | Unknown status. This | | | 0 | undetermined | Unknown status. This | | |||
| | | value SHOULD be avoided. | | | | | value SHOULD be avoided. | | |||
+-------+--------------+--------------------------+ | +-------+--------------+--------------------------+ | |||
| 1 | interlaced | Interlaced frames. | | | 1 | interlaced | Interlaced frames. | | |||
+-------+--------------+--------------------------+ | +-------+--------------+--------------------------+ | |||
skipping to change at line 1677 ¶ | skipping to change at line 1696 ¶ | |||
Table 5: FlagInterlaced Values | Table 5: FlagInterlaced Values | |||
5.1.4.1.28.2. FieldOrder Element | 5.1.4.1.28.2. FieldOrder Element | |||
id / type / default: 0x9D / uinteger / 2 | id / type / default: 0x9D / uinteger / 2 | |||
path: \Segment\Tracks\TrackEntry\Video\FieldOrder | path: \Segment\Tracks\TrackEntry\Video\FieldOrder | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
minver: 4 | minver: 4 | |||
definition: Specifies the field ordering of video frames in this | definition: Specifies the field ordering of video frames in this | |||
track. | track. | |||
defined values: See Table 6. | restrictions: See Table 6. | |||
usage notes: If FlagInterlaced is not set to 1, this element MUST be | usage notes: If FlagInterlaced is not set to 1, this element MUST be | |||
ignored. | ignored. | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+===============+=========================================+ | +=======+===============+=========================================+ | |||
| value | label | definition | | | value | label | definition | | |||
+=======+===============+=========================================+ | +=======+===============+=========================================+ | |||
| 0 | progressive | Interlaced frames. This value SHOULD | | | 0 | progressive | Interlaced frames. This value SHOULD | | |||
| | | be avoided; setting FlagInterlaced to 2 | | | | | be avoided; setting FlagInterlaced to 2 | | |||
| | | is sufficient. | | | | | is sufficient. | | |||
skipping to change at line 1717 ¶ | skipping to change at line 1736 ¶ | |||
Table 6: FieldOrder Values | Table 6: FieldOrder Values | |||
5.1.4.1.28.3. StereoMode Element | 5.1.4.1.28.3. StereoMode Element | |||
id / type / default: 0x53B8 / uinteger / 0 | id / type / default: 0x53B8 / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\Video\StereoMode | path: \Segment\Tracks\TrackEntry\Video\StereoMode | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
minver: 3 | minver: 3 | |||
definition: Stereo-3D video mode. See Section 18.10 for more | definition: Stereo-3D video mode. See Section 18.10 for more | |||
details. | details. | |||
restrictions: See Table 7. | defined values: See Table 7. Additional values can be registered in | |||
the "Stereo Modes" registry defined in Section 27.11. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+===================================================+ | +=======+===================================================+ | |||
| value | label | | | value | label | | |||
+=======+===================================================+ | +=======+===================================================+ | |||
| 0 | mono | | | 0 | mono | | |||
+-------+---------------------------------------------------+ | +-------+---------------------------------------------------+ | |||
| 1 | side by side (left eye first) | | | 1 | side by side (left eye first) | | |||
+-------+---------------------------------------------------+ | +-------+---------------------------------------------------+ | |||
| 2 | top - bottom (right eye is first) | | | 2 | top - bottom (right eye is first) | | |||
skipping to change at line 1767 ¶ | skipping to change at line 1787 ¶ | |||
id / type / default: 0x53C0 / uinteger / 0 | id / type / default: 0x53C0 / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\Video\AlphaMode | path: \Segment\Tracks\TrackEntry\Video\AlphaMode | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
minver: 3 | minver: 3 | |||
definition: Indicates whether the BlockAdditional element with | definition: Indicates whether the BlockAdditional element with | |||
BlockAddID of "1" contains Alpha data as defined by the Codec | BlockAddID of "1" contains Alpha data as defined by the Codec | |||
Mapping for the CodecID. Undefined values (i.e., values other | Mapping for the CodecID. Undefined values (i.e., values other | |||
than 0 or 1) SHOULD NOT be used, as the behavior of known | than 0 or 1) SHOULD NOT be used, as the behavior of known | |||
implementations is different. | implementations is different. | |||
defined values: See Table 8. | defined values: See Table 8. Additional values can be registered in | |||
the "Alpha Modes" registry defined in Section 27.5. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+=========+============================================+ | +=======+=========+============================================+ | |||
| value | label | definition | | | value | label | definition | | |||
+=======+=========+============================================+ | +=======+=========+============================================+ | |||
| 0 | none | The BlockAdditional element with | | | 0 | none | The BlockAdditional element with | | |||
| | | BlockAddID of "1" does not exist or SHOULD | | | | | BlockAddID of "1" does not exist or SHOULD | | |||
| | | NOT be considered as containing such data. | | | | | NOT be considered as containing such data. | | |||
+-------+---------+--------------------------------------------+ | +-------+---------+--------------------------------------------+ | |||
| 1 | present | The BlockAdditional element with | | | 1 | present | The BlockAdditional element with | | |||
skipping to change at line 1915 ¶ | skipping to change at line 1936 ¶ | |||
+-----------+---------------------------------------------------+ | +-----------+---------------------------------------------------+ | |||
Table 11: DisplayHeight Implementation Notes | Table 11: DisplayHeight Implementation Notes | |||
5.1.4.1.28.14. DisplayUnit Element | 5.1.4.1.28.14. DisplayUnit Element | |||
id / type / default: 0x54B2 / uinteger / 0 | id / type / default: 0x54B2 / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\Video\DisplayUnit | path: \Segment\Tracks\TrackEntry\Video\DisplayUnit | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: How DisplayWidth and DisplayHeight are interpreted. | definition: How DisplayWidth and DisplayHeight are interpreted. | |||
restrictions: See Table 12. | defined values: See Table 12. Additional values can be registered | |||
in the "Display Units" registry defined in Section 27.12. | ||||
+=======+======================+ | +=======+======================+ | |||
| value | label | | | value | label | | |||
+=======+======================+ | +=======+======================+ | |||
| 0 | pixels | | | 0 | pixels | | |||
+-------+----------------------+ | +-------+----------------------+ | |||
| 1 | centimeters | | | 1 | centimeters | | |||
+-------+----------------------+ | +-------+----------------------+ | |||
| 2 | inches | | | 2 | inches | | |||
+-------+----------------------+ | +-------+----------------------+ | |||
skipping to change at line 2083 ¶ | skipping to change at line 2105 ¶ | |||
ChromaSubsamplingVert. | ChromaSubsamplingVert. | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
5.1.4.1.28.23. ChromaSitingHorz Element | 5.1.4.1.28.23. ChromaSitingHorz Element | |||
id / type / default: 0x55B7 / uinteger / 0 | id / type / default: 0x55B7 / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingHorz | path: \Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingHorz | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
minver: 4 | minver: 4 | |||
definition: How chroma is subsampled horizontally. | definition: How chroma is subsampled horizontally. | |||
restrictions: See Table 15. | defined values: See Table 15. Additional values can be registered | |||
in the "Horizontal Chroma Sitings" registry defined in | ||||
Section 27.15. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+=================+ | +=======+=================+ | |||
| value | label | | | value | label | | |||
+=======+=================+ | +=======+=================+ | |||
| 0 | unspecified | | | 0 | unspecified | | |||
+-------+-----------------+ | +-------+-----------------+ | |||
| 1 | left collocated | | | 1 | left collocated | | |||
+-------+-----------------+ | +-------+-----------------+ | |||
| 2 | half | | | 2 | half | | |||
skipping to change at line 2106 ¶ | skipping to change at line 2130 ¶ | |||
Table 15: | Table 15: | |||
ChromaSitingHorz Values | ChromaSitingHorz Values | |||
5.1.4.1.28.24. ChromaSitingVert Element | 5.1.4.1.28.24. ChromaSitingVert Element | |||
id / type / default: 0x55B8 / uinteger / 0 | id / type / default: 0x55B8 / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingVert | path: \Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingVert | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
minver: 4 | minver: 4 | |||
definition: How chroma is subsampled vertically. | definition: How chroma is subsampled vertically. | |||
restrictions: See Table 16. | defined values: See Table 16. Additional values can be registered | |||
in the "Vertical Chroma Sitings" registry defined in | ||||
Section 27.16. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+================+ | +=======+================+ | |||
| value | label | | | value | label | | |||
+=======+================+ | +=======+================+ | |||
| 0 | unspecified | | | 0 | unspecified | | |||
+-------+----------------+ | +-------+----------------+ | |||
| 1 | top collocated | | | 1 | top collocated | | |||
+-------+----------------+ | +-------+----------------+ | |||
| 2 | half | | | 2 | half | | |||
skipping to change at line 2130 ¶ | skipping to change at line 2156 ¶ | |||
ChromaSitingVert | ChromaSitingVert | |||
Values | Values | |||
5.1.4.1.28.25. Range Element | 5.1.4.1.28.25. Range Element | |||
id / type / default: 0x55B9 / uinteger / 0 | id / type / default: 0x55B9 / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\Video\Colour\Range | path: \Segment\Tracks\TrackEntry\Video\Colour\Range | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
minver: 4 | minver: 4 | |||
definition: Clipping of the color ranges. | definition: Clipping of the color ranges. | |||
restrictions: See Table 17. | defined values: See Table 17. Additional values can be defined in | |||
the "Color Ranges" registry defined in Section 27.17. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+=========================================================+ | +=======+=========================================================+ | |||
| value | label | | | value | label | | |||
+=======+=========================================================+ | +=======+=========================================================+ | |||
| 0 | unspecified | | | 0 | unspecified | | |||
+-------+---------------------------------------------------------+ | +-------+---------------------------------------------------------+ | |||
| 1 | broadcast range | | | 1 | broadcast range | | |||
+-------+---------------------------------------------------------+ | +-------+---------------------------------------------------------+ | |||
| 2 | full range (no clipping) | | | 2 | full range (no clipping) | | |||
skipping to change at line 2415 ¶ | skipping to change at line 2442 ¶ | |||
vertically. | vertically. | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
5.1.4.1.28.42. ProjectionType Element | 5.1.4.1.28.42. ProjectionType Element | |||
id / type / default: 0x7671 / uinteger / 0 | id / type / default: 0x7671 / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\Video\Projection\ProjectionType | path: \Segment\Tracks\TrackEntry\Video\Projection\ProjectionType | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
minver: 4 | minver: 4 | |||
definition: Describes the projection used for this video track. | definition: Describes the projection used for this video track. | |||
restrictions: See Table 20. | defined values: See Table 20. Additional values can be registered | |||
in the "Projection Types" registry defined in Section 27.13. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+=================+ | +=======+=================+ | |||
| value | label | | | value | label | | |||
+=======+=================+ | +=======+=================+ | |||
| 0 | rectangular | | | 0 | rectangular | | |||
+-------+-----------------+ | +-------+-----------------+ | |||
| 1 | equirectangular | | | 1 | equirectangular | | |||
+-------+-----------------+ | +-------+-----------------+ | |||
| 2 | cubemap | | | 2 | cubemap | | |||
skipping to change at line 2617 ¶ | skipping to change at line 2645 ¶ | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
5.1.4.1.30.4. TrackPlaneType Element | 5.1.4.1.30.4. TrackPlaneType Element | |||
id / type: 0xE6 / uinteger | id / type: 0xE6 / uinteger | |||
path: \Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes\T | path: \Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes\T | |||
rackPlane\TrackPlaneType | rackPlane\TrackPlaneType | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
minver: 3 | minver: 3 | |||
definition: The kind of plane this track corresponds to. | definition: The kind of plane this track corresponds to. | |||
restrictions: See Table 22. | defined values: See Table 22. Additional values can be registered | |||
in the "Track Plane Types" registry defined in Section 27.14. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+============+ | +=======+============+ | |||
| value | label | | | value | label | | |||
+=======+============+ | +=======+============+ | |||
| 0 | left eye | | | 0 | left eye | | |||
+-------+------------+ | +-------+------------+ | |||
| 1 | right eye | | | 1 | right eye | | |||
+-------+------------+ | +-------+------------+ | |||
| 2 | background | | | 2 | background | | |||
skipping to change at line 2695 ¶ | skipping to change at line 2724 ¶ | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
5.1.4.1.31.3. ContentEncodingScope Element | 5.1.4.1.31.3. ContentEncodingScope Element | |||
id / type / default: 0x5032 / uinteger / 1 | id / type / default: 0x5032 / uinteger / 1 | |||
path: \Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\Co | path: \Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\Co | |||
ntentEncodingScope | ntentEncodingScope | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: A bit field that describes which elements have been | definition: A bit field that describes which elements have been | |||
modified in this way. Values (big-endian) can be OR'ed. | modified in this way. Values (big-endian) can be OR'ed. | |||
defined values: See Table 23. | defined values: See Table 23. Additional values can be registered | |||
in the "Content Encoding Scopes" registry defined in Section 27.6. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+=========+============================================+ | +=======+=========+============================================+ | |||
| value | label | definition | | | value | label | definition | | |||
+=======+=========+============================================+ | +=======+=========+============================================+ | |||
| 1 | Block | All frame contents, excluding lacing data. | | | 1 | Block | All frame contents, excluding lacing data. | | |||
+-------+---------+--------------------------------------------+ | +-------+---------+--------------------------------------------+ | |||
| 2 | Private | The track's CodecPrivate data. | | | 2 | Private | The track's CodecPrivate data. | | |||
+-------+---------+--------------------------------------------+ | +-------+---------+--------------------------------------------+ | |||
| 4 | Next | The next ContentEncoding (next | | | 4 | Next | The next ContentEncoding (next | | |||
skipping to change at line 2722 ¶ | skipping to change at line 2752 ¶ | |||
Table 23: ContentEncodingScope Values | Table 23: ContentEncodingScope Values | |||
5.1.4.1.31.4. ContentEncodingType Element | 5.1.4.1.31.4. ContentEncodingType Element | |||
id / type / default: 0x5033 / uinteger / 0 | id / type / default: 0x5033 / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\Co | path: \Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\Co | |||
ntentEncodingType | ntentEncodingType | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: A value describing the kind of transformation that is | definition: A value describing the kind of transformation that is | |||
applied. | applied. | |||
restrictions: See Table 24. | defined values: See Table 24. Additional values can be registered | |||
in the "Content Encoding Types" registry defined in Section 27.7. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+=============+ | +=======+=============+ | |||
| value | label | | | value | label | | |||
+=======+=============+ | +=======+=============+ | |||
| 0 | Compression | | | 0 | Compression | | |||
+-------+-------------+ | +-------+-------------+ | |||
| 1 | Encryption | | | 1 | Encryption | | |||
+-------+-------------+ | +-------+-------------+ | |||
skipping to change at line 2756 ¶ | skipping to change at line 2787 ¶ | |||
previous block is available in order to not prevent seeking. | previous block is available in order to not prevent seeking. | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
5.1.4.1.31.6. ContentCompAlgo Element | 5.1.4.1.31.6. ContentCompAlgo Element | |||
id / type / default: 0x4254 / uinteger / 0 | id / type / default: 0x4254 / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\Co | path: \Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\Co | |||
ntentCompression\ContentCompAlgo | ntentCompression\ContentCompAlgo | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: The compression algorithm used. | definition: The compression algorithm used. | |||
defined values: See Table 25. | defined values: See Table 25. Additional values can be registered | |||
in the "Compression Algorithms" registry defined in Section 27.8. | ||||
usage notes: Compression method "1" (bzlib) and "2" (lzo1x) lack | usage notes: Compression method "1" (bzlib) and "2" (lzo1x) lack | |||
proper documentation on the format, which limits implementation | proper documentation on the format, which limits implementation | |||
possibilities. Due to licensing conflicts on commonly available | possibilities. Due to licensing conflicts on commonly available | |||
libraries' compression methods, "2" (lzo1x) does not offer | libraries' compression methods, "2" (lzo1x) does not offer | |||
widespread interoperability. A Matroska Writer SHOULD NOT use | widespread interoperability. A Matroska Writer SHOULD NOT use | |||
these compression methods by default. A Matroska Reader MAY | these compression methods by default. A Matroska Reader MAY | |||
support methods "1" and "2" and SHOULD support other methods. | support methods "1" and "2" and SHOULD support other methods. | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+===========+========================================+ | +=======+===========+========================================+ | |||
skipping to change at line 2814 ¶ | skipping to change at line 2846 ¶ | |||
support encryption. | support encryption. | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
5.1.4.1.31.9. ContentEncAlgo Element | 5.1.4.1.31.9. ContentEncAlgo Element | |||
id / type / default: 0x47E1 / uinteger / 0 | id / type / default: 0x47E1 / uinteger / 0 | |||
path: \Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\Co | path: \Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\Co | |||
ntentEncryption\ContentEncAlgo | ntentEncryption\ContentEncAlgo | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: The encryption algorithm used. | definition: The encryption algorithm used. | |||
defined values: See Table 26. | defined values: See Table 26. Additional values can be registered | |||
in the "Encryption Algorithms" registry defined in Section 27.9. | ||||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+===========+============================================+ | +=======+===========+============================================+ | |||
| value | label | definition | | | value | label | definition | | |||
+=======+===========+============================================+ | +=======+===========+============================================+ | |||
| 0 | Not | The data are not encrypted. | | | 0 | Not | The data are not encrypted. | | |||
| | encrypted | | | | | encrypted | | | |||
+-------+-----------+--------------------------------------------+ | +-------+-----------+--------------------------------------------+ | |||
| 1 | DES | Data Encryption Standard (DES) [FIPS46-3]. | | | 1 | DES | Data Encryption Standard (DES) [FIPS46-3]. | | |||
| | | This value SHOULD be avoided. | | | | | This value SHOULD be avoided. | | |||
skipping to change at line 2878 ¶ | skipping to change at line 2911 ¶ | |||
Table 27: ContentEncAESSettings Implementation Notes | Table 27: ContentEncAESSettings Implementation Notes | |||
5.1.4.1.31.12. AESSettingsCipherMode Element | 5.1.4.1.31.12. AESSettingsCipherMode Element | |||
id / type: 0x47E8 / uinteger | id / type: 0x47E8 / uinteger | |||
path: \Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\Co | path: \Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\Co | |||
ntentEncryption\ContentEncAESSettings\AESSettingsCipherMode | ntentEncryption\ContentEncAESSettings\AESSettingsCipherMode | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
minver: 4 | minver: 4 | |||
definition: The AES cipher mode used in the encryption. | definition: The AES cipher mode used in the encryption. | |||
defined values: See Table 28. | defined values: See Table 28. Additional values can be registered | |||
in the "AES Cipher Modes" registry defined in Section 27.10. | ||||
notes: See Table 29. | notes: See Table 29. | |||
stream copy: True (Section 8) | stream copy: True (Section 8) | |||
+=======+=========+===================================+ | +=======+=========+===================================+ | |||
| value | label | definition | | | value | label | definition | | |||
+=======+=========+===================================+ | +=======+=========+===================================+ | |||
| 1 | AES-CTR | Counter [SP800-38A] | | | 1 | AES-CTR | Counter [SP800-38A] | | |||
+-------+---------+-----------------------------------+ | +-------+---------+-----------------------------------+ | |||
| 2 | AES-CBC | Cipher Block Chaining [SP800-38A] | | | 2 | AES-CBC | Cipher Block Chaining [SP800-38A] | | |||
+-------+---------+-----------------------------------+ | +-------+---------+-----------------------------------+ | |||
skipping to change at line 3289 ¶ | skipping to change at line 3323 ¶ | |||
id / type: 0x6944 / master | id / type: 0x6944 / master | |||
path: \Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess | path: \Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess | |||
definition: Contains all the commands associated with the Atom. | definition: Contains all the commands associated with the Atom. | |||
5.1.7.1.4.15. ChapProcessCodecID Element | 5.1.7.1.4.15. ChapProcessCodecID Element | |||
id / type / default: 0x6955 / uinteger / 0 | id / type / default: 0x6955 / uinteger / 0 | |||
path: \Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapPr | path: \Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapPr | |||
ocessCodecID | ocessCodecID | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: Contains the type of the codec used for processing. A | definition: Contains the type of the codec used for processing. | |||
value of 0 means built-in Matroska processing (to be defined), and | defined values: See Table 33. Additional values can be registered | |||
a value of 1 means the DVD command set is used; see Section 20.3 | in the "Matroska Chapter Codec IDs" registry defined in | |||
on DVD menus. More codec IDs can be added later. | Section 27.2. | |||
+=======+=================+============================+ | ||||
| value | label | definition | | ||||
+=======+=================+============================+ | ||||
| 0 | Matroska Script | Chapter commands using the | | ||||
| | | Matroska Script codec. | | ||||
+-------+-----------------+----------------------------+ | ||||
| 1 | DVD-menu | Chapter commands using the | | ||||
| | | DVD-like codec. | | ||||
+-------+-----------------+----------------------------+ | ||||
Table 33: ChapProcessCodecID Values | ||||
5.1.7.1.4.16. ChapProcessPrivate Element | 5.1.7.1.4.16. ChapProcessPrivate Element | |||
id / type: 0x450D / binary | id / type: 0x450D / binary | |||
path: \Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapPr | path: \Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapPr | |||
ocessPrivate | ocessPrivate | |||
maxOccurs: 1 | maxOccurs: 1 | |||
definition: Optional data attached to the ChapProcessCodecID | definition: Optional data attached to the ChapProcessCodecID | |||
information. For ChapProcessCodecID = 1, it is the "DVD level" | information. For ChapProcessCodecID = 1, it is the "DVD level" | |||
equivalent; see Section 20.3 on DVD menus. | equivalent; see Section 20.3 on DVD menus. | |||
skipping to change at line 3318 ¶ | skipping to change at line 3364 ¶ | |||
ocessCommand | ocessCommand | |||
definition: Contains all the commands associated with the Atom. | definition: Contains all the commands associated with the Atom. | |||
5.1.7.1.4.18. ChapProcessTime Element | 5.1.7.1.4.18. ChapProcessTime Element | |||
id / type: 0x6922 / uinteger | id / type: 0x6922 / uinteger | |||
path: \Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapPr | path: \Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapPr | |||
ocessCommand\ChapProcessTime | ocessCommand\ChapProcessTime | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: Defines when the process command SHOULD be handled. | definition: Defines when the process command SHOULD be handled. | |||
restrictions: See Table 33. | restrictions: See Table 34. | |||
+=======+===============================+ | +=======+===============================+ | |||
| value | label | | | value | label | | |||
+=======+===============================+ | +=======+===============================+ | |||
| 0 | during the whole chapter | | | 0 | during the whole chapter | | |||
+-------+-------------------------------+ | +-------+-------------------------------+ | |||
| 1 | before starting playback | | | 1 | before starting playback | | |||
+-------+-------------------------------+ | +-------+-------------------------------+ | |||
| 2 | after playback of the chapter | | | 2 | after playback of the chapter | | |||
+-------+-------------------------------+ | +-------+-------------------------------+ | |||
Table 33: ChapProcessTime Values | Table 34: ChapProcessTime Values | |||
5.1.7.1.4.19. ChapProcessData Element | 5.1.7.1.4.19. ChapProcessData Element | |||
id / type: 0x6933 / binary | id / type: 0x6933 / binary | |||
path: \Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapPr | path: \Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapPr | |||
ocessCommand\ChapProcessData | ocessCommand\ChapProcessData | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: Contains the command information. The data SHOULD be | definition: Contains the command information. The data SHOULD be | |||
interpreted depending on the ChapProcessCodecID value. For | interpreted depending on the ChapProcessCodecID value. For | |||
ChapProcessCodecID = 1, the data correspond to the binary DVD cell | ChapProcessCodecID = 1, the data correspond to the binary DVD cell | |||
skipping to change at line 3373 ¶ | skipping to change at line 3419 ¶ | |||
definition: Specifies which other elements the metadata represented | definition: Specifies which other elements the metadata represented | |||
by the tag value applies to. If empty or omitted, then the tag | by the tag value applies to. If empty or omitted, then the tag | |||
value describes everything in the Segment. | value describes everything in the Segment. | |||
5.1.8.1.1.1. TargetTypeValue Element | 5.1.8.1.1.1. TargetTypeValue Element | |||
id / type / default: 0x68CA / uinteger / 50 | id / type / default: 0x68CA / uinteger / 50 | |||
path: \Segment\Tags\Tag\Targets\TargetTypeValue | path: \Segment\Tags\Tag\Targets\TargetTypeValue | |||
minOccurs / maxOccurs: 1 / 1 | minOccurs / maxOccurs: 1 / 1 | |||
definition: A number to indicate the logical level of the target. | definition: A number to indicate the logical level of the target. | |||
defined values: See Table 34. | defined values: See Table 35. Additional values can be registered | |||
in the "Tags Target Types" registry defined in Section 27.4. | ||||
+=======+==========================+================================+ | +=======+==========================+================================+ | |||
| value | label | definition | | | value | label | definition | | |||
+=======+==========================+================================+ | +=======+==========================+================================+ | |||
| 70 | COLLECTION | The highest hierarchical level | | | 70 | COLLECTION | The highest hierarchical level | | |||
| | | that tags can describe. | | | | | that tags can describe. | | |||
+-------+--------------------------+--------------------------------+ | +-------+--------------------------+--------------------------------+ | |||
| 60 | EDITION / ISSUE / | A list of lower levels grouped | | | 60 | EDITION / ISSUE / | A list of lower levels grouped | | |||
| | VOLUME / OPUS / | together. | | | | VOLUME / OPUS / | together. | | |||
| | SEASON / SEQUEL | | | | | SEASON / SEQUEL | | | |||
skipping to change at line 3403 ¶ | skipping to change at line 3450 ¶ | |||
| | CHAPTER | or movie. | | | | CHAPTER | or movie. | | |||
+-------+--------------------------+--------------------------------+ | +-------+--------------------------+--------------------------------+ | |||
| 20 | SUBTRACK / | Corresponds to parts of a | | | 20 | SUBTRACK / | Corresponds to parts of a | | |||
| | MOVEMENT / SCENE | track for audio, such as a | | | | MOVEMENT / SCENE | track for audio, such as a | | |||
| | | movement or scene in a movie. | | | | | movement or scene in a movie. | | |||
+-------+--------------------------+--------------------------------+ | +-------+--------------------------+--------------------------------+ | |||
| 10 | SHOT | The lowest hierarchy found in | | | 10 | SHOT | The lowest hierarchy found in | | |||
| | | music or movies. | | | | | music or movies. | | |||
+-------+--------------------------+--------------------------------+ | +-------+--------------------------+--------------------------------+ | |||
Table 34: TargetTypeValue Values | Table 35: TargetTypeValue Values | |||
5.1.8.1.1.2. TargetType Element | 5.1.8.1.1.2. TargetType Element | |||
id / type: 0x63CA / string | id / type: 0x63CA / string | |||
path: \Segment\Tags\Tag\Targets\TargetType | path: \Segment\Tags\Tag\Targets\TargetType | |||
maxOccurs: 1 | maxOccurs: 1 | |||
definition: An informational string that can be used to display the | definition: An informational string that can be used to display the | |||
logical level of the target, such as "ALBUM", "TRACK", "MOVIE", | logical level of the target, such as "ALBUM", "TRACK", "MOVIE", | |||
"CHAPTER", etc. | "CHAPTER", etc. | |||
restrictions: See Table 35. | restrictions: See Table 36. | |||
+============+====================+ | +============+====================+ | |||
| value | label | | | value | label | | |||
+============+====================+ | +============+====================+ | |||
| COLLECTION | TargetTypeValue 70 | | | COLLECTION | TargetTypeValue 70 | | |||
+------------+--------------------+ | +------------+--------------------+ | |||
| EDITION | TargetTypeValue 60 | | | EDITION | TargetTypeValue 60 | | |||
+------------+--------------------+ | +------------+--------------------+ | |||
| ISSUE | TargetTypeValue 60 | | | ISSUE | TargetTypeValue 60 | | |||
+------------+--------------------+ | +------------+--------------------+ | |||
skipping to change at line 3461 ¶ | skipping to change at line 3508 ¶ | |||
+------------+--------------------+ | +------------+--------------------+ | |||
| SUBTRACK | TargetTypeValue 20 | | | SUBTRACK | TargetTypeValue 20 | | |||
+------------+--------------------+ | +------------+--------------------+ | |||
| MOVEMENT | TargetTypeValue 20 | | | MOVEMENT | TargetTypeValue 20 | | |||
+------------+--------------------+ | +------------+--------------------+ | |||
| SCENE | TargetTypeValue 20 | | | SCENE | TargetTypeValue 20 | | |||
+------------+--------------------+ | +------------+--------------------+ | |||
| SHOT | TargetTypeValue 10 | | | SHOT | TargetTypeValue 10 | | |||
+------------+--------------------+ | +------------+--------------------+ | |||
Table 35: TargetType Values | Table 36: TargetType Values | |||
5.1.8.1.1.3. TagTrackUID Element | 5.1.8.1.1.3. TagTrackUID Element | |||
id / type / default: 0x63C5 / uinteger / 0 | id / type / default: 0x63C5 / uinteger / 0 | |||
path: \Segment\Tags\Tag\Targets\TagTrackUID | path: \Segment\Tags\Tag\Targets\TagTrackUID | |||
definition: A UID that identifies the Track(s) that the tags belong | definition: A UID that identifies the Track(s) that the tags belong | |||
to. | to. | |||
usage notes: If the value is 0 at this level, the tags apply to all | usage notes: If the value is 0 at this level, the tags apply to all | |||
tracks in the Segment. If set to any other value, it MUST match | tracks in the Segment. If set to any other value, it MUST match | |||
the TrackUID value of a track found in this Segment. | the TrackUID value of a track found in this Segment. | |||
skipping to change at line 3988 ¶ | skipping to change at line 4035 ¶ | |||
the Block Header flags are set to 00b. | the Block Header flags are set to 00b. | |||
The Block for an 800-octet frame is as follows: | The Block for an 800-octet frame is as follows: | |||
+=============+=========+===================+ | +=============+=========+===================+ | |||
| Block Octet | Value | Description | | | Block Octet | Value | Description | | |||
+=============+=========+===================+ | +=============+=========+===================+ | |||
| 4-803 | <frame> | Single frame data | | | 4-803 | <frame> | Single frame data | | |||
+-------------+---------+-------------------+ | +-------------+---------+-------------------+ | |||
Table 36: No Lacing | Table 37: No Lacing | |||
When a Block contains a single frame, it MUST use this "no lacing" | When a Block contains a single frame, it MUST use this "no lacing" | |||
mode. | mode. | |||
10.3.2. Xiph Lacing | 10.3.2. Xiph Lacing | |||
The Xiph lacing uses the same coding of size as found in the Ogg | The Xiph lacing uses the same coding of size as found in the Ogg | |||
container [RFC3533]. The LACING bits of the Block Header flags are | container [RFC3533]. The LACING bits of the Block Header flags are | |||
set to 01b. | set to 01b. | |||
skipping to change at line 4039 ¶ | skipping to change at line 4086 ¶ | |||
| 9-10 | 0xFF 0xF5 | Size of the second frame | | | 9-10 | 0xFF 0xF5 | Size of the second frame | | |||
| | | (255;245) | | | | | (255;245) | | |||
+--------------+---------------------+--------------------------+ | +--------------+---------------------+--------------------------+ | |||
| 11-810 | | First frame data | | | 11-810 | | First frame data | | |||
+--------------+---------------------+--------------------------+ | +--------------+---------------------+--------------------------+ | |||
| 811-1310 | | Second frame data | | | 811-1310 | | Second frame data | | |||
+--------------+---------------------+--------------------------+ | +--------------+---------------------+--------------------------+ | |||
| 1311-2310 | | Third frame data | | | 1311-2310 | | Third frame data | | |||
+--------------+---------------------+--------------------------+ | +--------------+---------------------+--------------------------+ | |||
Table 37: Xiph Lacing Example | Table 38: Xiph Lacing Example | |||
The Block is 2311 octets, and the last frame starts at 1311, so we | The Block is 2311 octets, and the last frame starts at 1311, so we | |||
can deduce that the size of the last frame is 2311 - 1311 = 1000. | can deduce that the size of the last frame is 2311 - 1311 = 1000. | |||
10.3.3. EBML Lacing | 10.3.3. EBML Lacing | |||
The EBML lacing encodes the frame size with an EBML-like encoding | The EBML lacing encodes the frame size with an EBML-like encoding | |||
[RFC8794]. The LACING bits of the Block Header flags are set to 11b. | [RFC8794]. The LACING bits of the Block Header flags are set to 11b. | |||
The Block data with laced frames is stored as follows: | The Block data with laced frames is stored as follows: | |||
skipping to change at line 4084 ¶ | skipping to change at line 4131 ¶ | |||
| 001x xxxx xxxx xxxx xxxx xxxx | 2^21 values from | | | 001x xxxx xxxx xxxx xxxx xxxx | 2^21 values from | | |||
| | -(2^20-1) to 2^20 | | | | -(2^20-1) to 2^20 | | |||
+-----------------------------------+----------------------+ | +-----------------------------------+----------------------+ | |||
| 0001 xxxx xxxx xxxx xxxx xxxx | 2^28 values from | | | 0001 xxxx xxxx xxxx xxxx xxxx | 2^28 values from | | |||
| xxxx xxxx | -(2^27-1) to 2^27 | | | xxxx xxxx | -(2^27-1) to 2^27 | | |||
+-----------------------------------+----------------------+ | +-----------------------------------+----------------------+ | |||
| 0000 1xxx xxxx xxxx xxxx xxxx | 2^35 values from | | | 0000 1xxx xxxx xxxx xxxx xxxx | 2^35 values from | | |||
| xxxx xxxx xxxx xxxx | -(2^34-1) to 2^34 | | | xxxx xxxx xxxx xxxx | -(2^34-1) to 2^34 | | |||
+-----------------------------------+----------------------+ | +-----------------------------------+----------------------+ | |||
Table 38: EBML Lacing Signed VINT Bits Usage | Table 39: EBML Lacing Signed VINT Bits Usage | |||
In our example, the 800-, 500-, and 1000-octet frames are stored with | In our example, the 800-, 500-, and 1000-octet frames are stored with | |||
EBML lacing in a Block as follows: | EBML lacing in a Block as follows: | |||
+==============+===========+=====================================+ | +==============+===========+=====================================+ | |||
| Block Octets | Value | Description | | | Block Octets | Value | Description | | |||
+==============+===========+=====================================+ | +==============+===========+=====================================+ | |||
| 4 | 0x02 | Number of frames minus 1 | | | 4 | 0x02 | Number of frames minus 1 | | |||
+--------------+-----------+-------------------------------------+ | +--------------+-----------+-------------------------------------+ | |||
| 5-6 | 0x43 0x20 | Size of the first frame (800 = | | | 5-6 | 0x43 0x20 | Size of the first frame (800 = | | |||
skipping to change at line 4107 ¶ | skipping to change at line 4154 ¶ | |||
| 7-8 | 0x5E 0xD3 | Size of the second frame (500 - 800 | | | 7-8 | 0x5E 0xD3 | Size of the second frame (500 - 800 | | |||
| | | = -300 = - 0x12C + 0x1FFF + 0x4000) | | | | | = -300 = - 0x12C + 0x1FFF + 0x4000) | | |||
+--------------+-----------+-------------------------------------+ | +--------------+-----------+-------------------------------------+ | |||
| 8-807 | <frame1> | First frame data | | | 8-807 | <frame1> | First frame data | | |||
+--------------+-----------+-------------------------------------+ | +--------------+-----------+-------------------------------------+ | |||
| 808-1307 | <frame2> | Second frame data | | | 808-1307 | <frame2> | Second frame data | | |||
+--------------+-----------+-------------------------------------+ | +--------------+-----------+-------------------------------------+ | |||
| 1308-2307 | <frame3> | Third frame data | | | 1308-2307 | <frame3> | Third frame data | | |||
+--------------+-----------+-------------------------------------+ | +--------------+-----------+-------------------------------------+ | |||
Table 39: EBML Lacing Example | Table 40: EBML Lacing Example | |||
The Block is 2308 octets, and the last frame starts at 1308, so we | The Block is 2308 octets, and the last frame starts at 1308, so we | |||
can deduce that the size of the last frame is 2308 - 1308 = 1000. | can deduce that the size of the last frame is 2308 - 1308 = 1000. | |||
10.3.4. Fixed-size Lacing | 10.3.4. Fixed-size Lacing | |||
Fixed-size lacing doesn't store the frame size; rather, it only | Fixed-size lacing doesn't store the frame size; rather, it only | |||
stores the number of frames in the lace. Each frame MUST have the | stores the number of frames in the lace. Each frame MUST have the | |||
same size. The frame size of each frame is deduced from the total | same size. The frame size of each frame is deduced from the total | |||
size of the Block. The LACING bits of the Block Header flags are set | size of the Block. The LACING bits of the Block Header flags are set | |||
skipping to change at line 4140 ¶ | skipping to change at line 4187 ¶ | |||
+==============+==========+==========================+ | +==============+==========+==========================+ | |||
| 4 | 0x02 | Number of frames minus 1 | | | 4 | 0x02 | Number of frames minus 1 | | |||
+--------------+----------+--------------------------+ | +--------------+----------+--------------------------+ | |||
| 5-804 | <frame1> | First frame data | | | 5-804 | <frame1> | First frame data | | |||
+--------------+----------+--------------------------+ | +--------------+----------+--------------------------+ | |||
| 805-1604 | <frame2> | Second frame data | | | 805-1604 | <frame2> | Second frame data | | |||
+--------------+----------+--------------------------+ | +--------------+----------+--------------------------+ | |||
| 1605-2404 | <frame3> | Third frame data | | | 1605-2404 | <frame3> | Third frame data | | |||
+--------------+----------+--------------------------+ | +--------------+----------+--------------------------+ | |||
Table 40: Fixed-Size Lacing Example | Table 41: Fixed-Size Lacing Example | |||
This gives a Block of 2405 octets. When reading the Block, we find | This gives a Block of 2405 octets. When reading the Block, we find | |||
that there are three frames (Octet 4). The data start at Octet 5, so | that there are three frames (Octet 4). The data start at Octet 5, so | |||
the size of each frame is (2405 - 5) / 3 = 800. | the size of each frame is (2405 - 5) / 3 = 800. | |||
10.3.5. Laced Frames Timestamp | 10.3.5. Laced Frames Timestamp | |||
A Block only contains a single timestamp value. But when lacing is | A Block only contains a single timestamp value. But when lacing is | |||
used, it contains more than one frame. Each frame originally has its | used, it contains more than one frame. Each frame originally has its | |||
own timestamp, or Presentation Timestamp (PTS). That timestamp | own timestamp, or Presentation Timestamp (PTS). That timestamp | |||
skipping to change at line 4238 ¶ | skipping to change at line 4285 ¶ | |||
<Timestamp>123456</Timestamp> | <Timestamp>123456</Timestamp> | |||
<SimpleBlock/> (octet 3 bit 0 set) | <SimpleBlock/> (octet 3 bit 0 set) | |||
... | ... | |||
</Cluster> | </Cluster> | |||
Figure 18: SimpleBlock with a Frame That References No Other | Figure 18: SimpleBlock with a Frame That References No Other | |||
Frame, with the EBML Tree Shown as XML | Frame, with the EBML Tree Shown as XML | |||
There may be cases where the use of BlockGroup is necessary, as the | There may be cases where the use of BlockGroup is necessary, as the | |||
frame may need a BlockDuration, BlockAdditions, CodecState, or | frame may need a BlockDuration, BlockAdditions, CodecState, or | |||
DiscardPadding element. For thoses cases, a SimpleBlock MUST NOT be | DiscardPadding element. For those cases, a SimpleBlock MUST NOT be | |||
used; the reference information SHOULD be recovered for non-RAP | used; the reference information SHOULD be recovered for non-RAP | |||
frames. | frames. | |||
<Cluster> | <Cluster> | |||
<Timestamp>123456</Timestamp> | <Timestamp>123456</Timestamp> | |||
<SimpleBlock/> (octet 3 bit 0 not set) | <SimpleBlock/> (octet 3 bit 0 not set) | |||
... | ... | |||
</Cluster> | </Cluster> | |||
Figure 19: SimpleBlock with a Frame That References Another | Figure 19: SimpleBlock with a Frame That References Another | |||
skipping to change at line 4731 ¶ | skipping to change at line 4778 ¶ | |||
|start.mkv |71000c23cd310998| Invalid | a77b3598941cb803 | | |start.mkv |71000c23cd310998| Invalid | a77b3598941cb803 | | |||
| |53fbc94dd984a5dd| | eac0fcdafe44fac9 | | | |53fbc94dd984a5dd| | eac0fcdafe44fac9 | | |||
+----------+----------------+------------------+------------------+ | +----------+----------------+------------------+------------------+ | |||
|middle.mkv|a77b3598941cb803| 71000c23cd310998 | 6c92285fa6d3e827 | | |middle.mkv|a77b3598941cb803| 71000c23cd310998 | 6c92285fa6d3e827 | | |||
| |eac0fcdafe44fac9| 53fbc94dd984a5dd | b198d120ea3ac674 | | | |eac0fcdafe44fac9| 53fbc94dd984a5dd | b198d120ea3ac674 | | |||
+----------+----------------+------------------+------------------+ | +----------+----------------+------------------+------------------+ | |||
|end.mkv |6c92285fa6d3e827| a77b3598941cb803 | Invalid | | |end.mkv |6c92285fa6d3e827| a77b3598941cb803 | Invalid | | |||
| |b198d120ea3ac674| eac0fcdafe44fac9 | | | | |b198d120ea3ac674| eac0fcdafe44fac9 | | | |||
+----------+----------------+------------------+------------------+ | +----------+----------------+------------------+------------------+ | |||
Table 41: Usual Hard Linking UIDs | Table 42: Usual Hard Linking UIDs | |||
An example where only the NextUUID element is used: | An example where only the NextUUID element is used: | |||
+============+==================+==========+==================+ | +============+==================+==========+==================+ | |||
| file name | SegmentUUID | PrevUUID | NextUUID | | | file name | SegmentUUID | PrevUUID | NextUUID | | |||
+============+==================+==========+==================+ | +============+==================+==========+==================+ | |||
| start.mkv | 71000c23cd310998 | Invalid | a77b3598941cb803 | | | start.mkv | 71000c23cd310998 | Invalid | a77b3598941cb803 | | |||
| | 53fbc94dd984a5dd | | eac0fcdafe44fac9 | | | | 53fbc94dd984a5dd | | eac0fcdafe44fac9 | | |||
+------------+------------------+----------+------------------+ | +------------+------------------+----------+------------------+ | |||
| middle.mkv | a77b3598941cb803 | n/a | 6c92285fa6d3e827 | | | middle.mkv | a77b3598941cb803 | n/a | 6c92285fa6d3e827 | | |||
| | eac0fcdafe44fac9 | | b198d120ea3ac674 | | | | eac0fcdafe44fac9 | | b198d120ea3ac674 | | |||
+------------+------------------+----------+------------------+ | +------------+------------------+----------+------------------+ | |||
| end.mkv | 6c92285fa6d3e827 | n/a | Invalid | | | end.mkv | 6c92285fa6d3e827 | n/a | Invalid | | |||
| | b198d120ea3ac674 | | | | | | b198d120ea3ac674 | | | | |||
+------------+------------------+----------+------------------+ | +------------+------------------+----------+------------------+ | |||
Table 42: Hard Linking without PrevUUID | Table 43: Hard Linking without PrevUUID | |||
An example where only the PrevUUID element is used: | An example where only the PrevUUID element is used: | |||
+============+==================+==================+==========+ | +============+==================+==================+==========+ | |||
| file name | SegmentUUID | PrevUUID | NextUUID | | | file name | SegmentUUID | PrevUUID | NextUUID | | |||
+============+==================+==================+==========+ | +============+==================+==================+==========+ | |||
| start.mkv | 71000c23cd310998 | Invalid | n/a | | | start.mkv | 71000c23cd310998 | Invalid | n/a | | |||
| | 53fbc94dd984a5dd | | | | | | 53fbc94dd984a5dd | | | | |||
+------------+------------------+------------------+----------+ | +------------+------------------+------------------+----------+ | |||
| middle.mkv | a77b3598941cb803 | 71000c23cd310998 | n/a | | | middle.mkv | a77b3598941cb803 | 71000c23cd310998 | n/a | | |||
| | eac0fcdafe44fac9 | 53fbc94dd984a5dd | | | | | eac0fcdafe44fac9 | 53fbc94dd984a5dd | | | |||
+------------+------------------+------------------+----------+ | +------------+------------------+------------------+----------+ | |||
| end.mkv | 6c92285fa6d3e827 | a77b3598941cb803 | Invalid | | | end.mkv | 6c92285fa6d3e827 | a77b3598941cb803 | Invalid | | |||
| | b198d120ea3ac674 | eac0fcdafe44fac9 | | | | | b198d120ea3ac674 | eac0fcdafe44fac9 | | | |||
+------------+------------------+------------------+----------+ | +------------+------------------+------------------+----------+ | |||
Table 43: Hard Linking without NextUUID | Table 44: Hard Linking without NextUUID | |||
An example where only the middle.mkv is using the PrevUUID and | An example where only the middle.mkv is using the PrevUUID and | |||
NextUUID elements: | NextUUID elements: | |||
+==========+================+==================+==================+ | +==========+================+==================+==================+ | |||
|file name |SegmentUUID | PrevUUID | NextUUID | | |file name |SegmentUUID | PrevUUID | NextUUID | | |||
+==========+================+==================+==================+ | +==========+================+==================+==================+ | |||
|start.mkv |71000c23cd310998| Invalid | n/a | | |start.mkv |71000c23cd310998| Invalid | n/a | | |||
| |53fbc94dd984a5dd| | | | | |53fbc94dd984a5dd| | | | |||
+----------+----------------+------------------+------------------+ | +----------+----------------+------------------+------------------+ | |||
|middle.mkv|a77b3598941cb803| 71000c23cd310998 | 6c92285fa6d3e827 | | |middle.mkv|a77b3598941cb803| 71000c23cd310998 | 6c92285fa6d3e827 | | |||
| |eac0fcdafe44fac9| 53fbc94dd984a5dd | b198d120ea3ac674 | | | |eac0fcdafe44fac9| 53fbc94dd984a5dd | b198d120ea3ac674 | | |||
+----------+----------------+------------------+------------------+ | +----------+----------------+------------------+------------------+ | |||
|end.mkv |6c92285fa6d3e827| n/a | Invalid | | |end.mkv |6c92285fa6d3e827| n/a | Invalid | | |||
| |b198d120ea3ac674| | | | | |b198d120ea3ac674| | | | |||
+----------+----------------+------------------+------------------+ | +----------+----------------+------------------+------------------+ | |||
Table 44: Hard Linking with Mixed UID Links | Table 45: Hard Linking with Mixed UID Links | |||
17.2. Medium Linking | 17.2. Medium Linking | |||
Medium Linking creates relationships between Segments using Ordered | Medium Linking creates relationships between Segments using Ordered | |||
Chapters (Section 20.1.3) and the ChapterSegmentUUID element. A | Chapters (Section 20.1.3) and the ChapterSegmentUUID element. A | |||
Chapter Edition with Ordered Chapters MAY contain Chapters elements | Chapter Edition with Ordered Chapters MAY contain Chapters elements | |||
that reference timestamp ranges from other Segments. The Segment | that reference timestamp ranges from other Segments. The Segment | |||
referenced by the Ordered Chapter via the ChapterSegmentUUID element | referenced by the Ordered Chapter via the ChapterSegmentUUID element | |||
SHOULD be played as part of a Linked Segment. | SHOULD be played as part of a Linked Segment. | |||
skipping to change at line 5017 ¶ | skipping to change at line 5064 ¶ | |||
+---+-----+----+------+--------+-------+---------------+-----------+ | +---+-----+----+------+--------+-------+---------------+-----------+ | |||
|6 |Audio|esp |2.0 |0 |0 |Visual-Impaired|Descriptive| | |6 |Audio|esp |2.0 |0 |0 |Visual-Impaired|Descriptive| | |||
| | | | | | | |audio | | | | | | | | | |audio | | |||
+---+-----+----+------+--------+-------+---------------+-----------+ | +---+-----+----+------+--------+-------+---------------+-----------+ | |||
|7 |Audio|eng |2.0 |1 |0 |Commentary |Director's | | |7 |Audio|eng |2.0 |1 |0 |Commentary |Director's | | |||
| | | | | | | |Commentary | | | | | | | | | |Commentary | | |||
+---+-----+----+------+--------+-------+---------------+-----------+ | +---+-----+----+------+--------+-------+---------------+-----------+ | |||
|8 |Audio|eng |2.0 |1 |0 |None |Karaoke | | |8 |Audio|eng |2.0 |1 |0 |None |Karaoke | | |||
+---+-----+----+------+--------+-------+---------------+-----------+ | +---+-----+----+------+--------+-------+---------------+-----------+ | |||
Table 45: Audio Tracks for Default Selection | Table 46: Audio Tracks for Default Selection | |||
The table above shows a file with seven audio tracks -- five in | The table above shows a file with seven audio tracks -- five in | |||
English and two in Spanish. | English and two in Spanish. | |||
The English tracks all have the Original flag, indicating that | The English tracks all have the Original flag, indicating that | |||
English is the original content language. | English is the original content language. | |||
Generally, the player will first consider the track languages. If | Generally, the player will first consider the track languages. If | |||
the player has an option to prefer original-language audio and the | the player has an option to prefer original-language audio and the | |||
user has enabled it, then it should prefer one of the tracks with the | user has enabled it, then it should prefer one of the tracks with the | |||
skipping to change at line 5094 ¶ | skipping to change at line 5141 ¶ | |||
| | | | | | | | impairments | | | | | | | | | | impairments | | |||
+---+---------+----+--------+-------+------+--------+--------------+ | +---+---------+----+--------+-------+------+--------+--------------+ | |||
|6 |Subtitles|por |0 |1 |0 |None | | | |6 |Subtitles|por |0 |1 |0 |None | | | |||
+---+---------+----+--------+-------+------+--------+--------------+ | +---+---------+----+--------+-------+------+--------+--------------+ | |||
|7 |Subtitles|por |0 |0 |1 |None | Signs | | |7 |Subtitles|por |0 |0 |1 |None | Signs | | |||
+---+---------+----+--------+-------+------+--------+--------------+ | +---+---------+----+--------+-------+------+--------+--------------+ | |||
|8 |Subtitles|por |0 |0 |0 |Hearing-| SDH | | |8 |Subtitles|por |0 |0 |0 |Hearing-| SDH | | |||
| | | | | | |Impaired| | | | | | | | | |Impaired| | | |||
+---+---------+----+--------+-------+------+--------+--------------+ | +---+---------+----+--------+-------+------+--------+--------------+ | |||
Table 46: Subtitle Tracks for Default Selection | Table 47: Subtitle Tracks for Default Selection | |||
The table above shows two audio tracks and five subtitle tracks. As | The table above shows two audio tracks and five subtitle tracks. As | |||
we can see, French is the original language. | we can see, French is the original language. | |||
We'll start by discussing the case where the user prefers French (or | We'll start by discussing the case where the user prefers French (or | |||
original-language) audio (or has explicitly selected the French audio | original-language) audio (or has explicitly selected the French audio | |||
track) and also prefers French subtitles. | track) and also prefers French subtitles. | |||
In this case, if the player isn't configured to display captions when | In this case, if the player isn't configured to display captions when | |||
the audio matches their preferred subtitle languages, the player | the audio matches their preferred subtitle languages, the player | |||
skipping to change at line 5172 ¶ | skipping to change at line 5219 ¶ | |||
+===========+=============+=================+ | +===========+=============+=================+ | |||
| Edition | FlagDefault | Default Edition | | | Edition | FlagDefault | Default Edition | | |||
+===========+=============+=================+ | +===========+=============+=================+ | |||
| Edition 1 | true | X | | | Edition 1 | true | X | | |||
+-----------+-------------+-----------------+ | +-----------+-------------+-----------------+ | |||
| Edition 2 | true | | | | Edition 2 | true | | | |||
+-----------+-------------+-----------------+ | +-----------+-------------+-----------------+ | |||
| Edition 3 | true | | | | Edition 3 | true | | | |||
+-----------+-------------+-----------------+ | +-----------+-------------+-----------------+ | |||
Table 47: Default Edition, All Default | Table 48: Default Edition, All Default | |||
+===========+=============+=================+ | +===========+=============+=================+ | |||
| Edition | FlagDefault | Default Edition | | | Edition | FlagDefault | Default Edition | | |||
+===========+=============+=================+ | +===========+=============+=================+ | |||
| Edition 1 | false | X | | | Edition 1 | false | X | | |||
+-----------+-------------+-----------------+ | +-----------+-------------+-----------------+ | |||
| Edition 2 | false | | | | Edition 2 | false | | | |||
+-----------+-------------+-----------------+ | +-----------+-------------+-----------------+ | |||
| Edition 3 | false | | | | Edition 3 | false | | | |||
+-----------+-------------+-----------------+ | +-----------+-------------+-----------------+ | |||
Table 48: Default Edition, No Default | Table 49: Default Edition, No Default | |||
+===========+=============+=================+ | +===========+=============+=================+ | |||
| Edition | FlagDefault | Default Edition | | | Edition | FlagDefault | Default Edition | | |||
+===========+=============+=================+ | +===========+=============+=================+ | |||
| Edition 1 | false | | | | Edition 1 | false | | | |||
+-----------+-------------+-----------------+ | +-----------+-------------+-----------------+ | |||
| Edition 2 | true | X | | | Edition 2 | true | X | | |||
+-----------+-------------+-----------------+ | +-----------+-------------+-----------------+ | |||
| Edition 3 | false | | | | Edition 3 | false | | | |||
+-----------+-------------+-----------------+ | +-----------+-------------+-----------------+ | |||
Table 49: Default Edition, With Default | Table 50: Default Edition, With Default | |||
20.1.3. EditionFlagOrdered | 20.1.3. EditionFlagOrdered | |||
The EditionFlagOrdered flag is a significant feature, as it enables | The EditionFlagOrdered flag is a significant feature, as it enables | |||
an Edition of Ordered Chapters that defines and arranges a virtual | an Edition of Ordered Chapters that defines and arranges a virtual | |||
timeline rather than simply labeling points within the timeline. For | timeline rather than simply labeling points within the timeline. For | |||
example, with Editions of Ordered Chapters, a single Matroska file | example, with Editions of Ordered Chapters, a single Matroska file | |||
can present multiple edits of a film without duplicating content. | can present multiple edits of a film without duplicating content. | |||
Alternatively, if a videotape is digitized in full, one Ordered | Alternatively, if a videotape is digitized in full, one Ordered | |||
Edition could present the full content (including colorbars, | Edition could present the full content (including colorbars, | |||
skipping to change at line 5288 ¶ | skipping to change at line 5335 ¶ | |||
| Chapter 1 | 0 | 1000000000 | 1000000000 | | | Chapter 1 | 0 | 1000000000 | 1000000000 | | |||
+-----------+-----------------+---------------+---------------+ | +-----------+-----------------+---------------+---------------+ | |||
| Chapter 2 | 1000000000 | 5000000000 | 4000000000 | | | Chapter 2 | 1000000000 | 5000000000 | 4000000000 | | |||
+-----------+-----------------+---------------+---------------+ | +-----------+-----------------+---------------+---------------+ | |||
| Chapter 3 | 6000000000 | 6000000000 | 0 | | | Chapter 3 | 6000000000 | 6000000000 | 0 | | |||
+-----------+-----------------+---------------+---------------+ | +-----------+-----------------+---------------+---------------+ | |||
| Chapter 4 | 9000000000 | 8000000000 | Invalid | | | Chapter 4 | 9000000000 | 8000000000 | Invalid | | |||
| | | | (-1000000000) | | | | | | (-1000000000) | | |||
+-----------+-----------------+---------------+---------------+ | +-----------+-----------------+---------------+---------------+ | |||
Table 50: ChapterTimeEnd Usage Possibilities | Table 51: ChapterTimeEnd Usage Possibilities | |||
20.2.3. Nested Chapters | 20.2.3. Nested Chapters | |||
A ChapterAtom element can contain other ChapterAtom elements. That | A ChapterAtom element can contain other ChapterAtom elements. That | |||
element is a Parent Chapter, and the ChapterAtom elements it contains | element is a Parent Chapter, and the ChapterAtom elements it contains | |||
are Nested Chapters. | are Nested Chapters. | |||
Nested Chapters can be useful to tag small parts of a Segment that | Nested Chapters can be useful to tag small parts of a Segment that | |||
already have tags or add Chapter Codec commands on smaller parts of a | already have tags or add Chapter Codec commands on smaller parts of a | |||
Segment that already have Chapter Codec commands. | Segment that already have Chapter Codec commands. | |||
skipping to change at line 5340 ¶ | skipping to change at line 5387 ¶ | |||
+--------------------------+-------------------+---------+ | +--------------------------+-------------------+---------+ | |||
| Nested Chapter 1.2 | 1 | no | | | Nested Chapter 1.2 | 1 | no | | |||
+--------------------------+-------------------+---------+ | +--------------------------+-------------------+---------+ | |||
| Chapter 2 | 1 | no | | | Chapter 2 | 1 | no | | |||
+--------------------------+-------------------+---------+ | +--------------------------+-------------------+---------+ | |||
| Nested Chapter 2.1 | 0 | yes | | | Nested Chapter 2.1 | 0 | yes | | |||
+--------------------------+-------------------+---------+ | +--------------------------+-------------------+---------+ | |||
| Nested Chapter 2.2 | 1 | no | | | Nested Chapter 2.2 | 1 | no | | |||
+--------------------------+-------------------+---------+ | +--------------------------+-------------------+---------+ | |||
Table 51: ChapterFlagHidden Nested Visibility | Table 52: ChapterFlagHidden Nested Visibility | |||
20.3. Menu Features | 20.3. Menu Features | |||
The menu features are handled like a chapter codec. That means each | The menu features are handled like a chapter codec. That means each | |||
codec has a type, some private data, and some data in the chapters. | codec has a type, some private data, and some data in the chapters. | |||
The type of the menu system is defined by the ChapProcessCodecID | The type of the menu system is defined by the ChapProcessCodecID | |||
parameter. For now, only two values are supported: 0 (Matroska | parameter. For now, only two values are supported: 0 (Matroska | |||
Script) and 1 (menu borrowed from the DVD [DVD-Video]). The private | Script) and 1 (menu borrowed from the DVD [DVD-Video]). The private | |||
data stored in ChapProcessPrivate and ChapProcessData depends on the | data stored in ChapProcessPrivate and ChapProcessData depends on the | |||
skipping to change at line 5395 ¶ | skipping to change at line 5442 ¶ | |||
| | | | DVDs | | | | | | DVDs | | |||
+-------+-----------------------+-------------+---------------------+ | +-------+-----------------------+-------------+---------------------+ | |||
| 20 | TRACK | - | as found on audio | | | 20 | TRACK | - | as found on audio | | |||
| | | | CDs | | | | | | CDs | | |||
+-------+-----------------------+-------------+---------------------+ | +-------+-----------------------+-------------+---------------------+ | |||
| 10 | INDEX | - | the first logical | | | 10 | INDEX | - | the first logical | | |||
| | | | level of the side/ | | | | | | level of the side/ | | |||
| | | | medium | | | | | | medium | | |||
+-------+-----------------------+-------------+---------------------+ | +-------+-----------------------+-------------+---------------------+ | |||
Table 52: ChapterPhysicalEquiv Meaning per Track Type | Table 53: ChapterPhysicalEquiv Meaning per Track Type | |||
20.5. Chapter Examples | 20.5. Chapter Examples | |||
20.5.1. Example 1: Basic Chaptering | 20.5.1. Example 1: Basic Chaptering | |||
In this example, a movie is split in different chapters. It could | In this example, a movie is split in different chapters. It could | |||
also just be an audio file (album) in which each track corresponds to | also just be an audio file (album) in which each track corresponds to | |||
a chapter. | a chapter. | |||
* 00000 ms - 05000 ms: Intro | * 00000 ms - 05000 ms: Intro | |||
skipping to change at line 5644 ¶ | skipping to change at line 5691 ¶ | |||
| | square | | | | | square | | | |||
+----------------------+-------------------+-----------------+ | +----------------------+-------------------+-----------------+ | |||
| small_cover.png | Portrait or | 120 | | | small_cover.png | Portrait or | 120 | | |||
| | square | | | | | square | | | |||
+----------------------+-------------------+-----------------+ | +----------------------+-------------------+-----------------+ | |||
| cover_land.png | Landscape | 600 | | | cover_land.png | Landscape | 600 | | |||
+----------------------+-------------------+-----------------+ | +----------------------+-------------------+-----------------+ | |||
| small_cover_land.jpg | Landscape | 120 | | | small_cover_land.jpg | Landscape | 120 | | |||
+----------------------+-------------------+-----------------+ | +----------------------+-------------------+-----------------+ | |||
Table 53: Cover Art Filenames | Table 54: Cover Art Filenames | |||
21.2. Font Files | 21.2. Font Files | |||
Font files MAY be added to a Matroska file as Attachments so that the | Font files MAY be added to a Matroska file as Attachments so that the | |||
font file may be used to display an associated subtitle track. This | font file may be used to display an associated subtitle track. This | |||
allows the presentation of a Matroska file to be consistent in | allows the presentation of a Matroska file to be consistent in | |||
various environments where the needed fonts might not be available on | various environments where the needed fonts might not be available on | |||
the local system. | the local system. | |||
Depending on the font format in question, each font file can contain | Depending on the font format in question, each font file can contain | |||
skipping to change at line 6081 ¶ | skipping to change at line 6128 ¶ | |||
mostly for synchronization of large elements. They should only be | mostly for synchronization of large elements. They should only be | |||
used for such high-level elements. Elements that are not expected to | used for such high-level elements. Elements that are not expected to | |||
be used often should use three-octet Element IDs. | be used often should use three-octet Element IDs. | |||
Elements found in Appendix A have an assigned Matroska Element ID for | Elements found in Appendix A have an assigned Matroska Element ID for | |||
historical reasons. These elements are not in use and SHOULD NOT be | historical reasons. These elements are not in use and SHOULD NOT be | |||
reused unless there are no other IDs available with the desired size. | reused unless there are no other IDs available with the desired size. | |||
Such IDs are marked as "Reclaimed" in the "Matroska Element IDs" | Such IDs are marked as "Reclaimed" in the "Matroska Element IDs" | |||
registry, as they could be used for other things in the future. | registry, as they could be used for other things in the future. | |||
Table 54 shows the initial contents of the "Matroska Element IDs" | Table 55 shows the initial contents of the "Matroska Element IDs" | |||
registry. Note that the Change Controller for all entries in | registry. The Change Controller for the initial entries is the IETF. | |||
Table 54 is "IETF". | ||||
+============+=============================+======================+ | +============+=============================+======================+ | |||
| Element ID | Element Name | Reference | | | Element ID | Element Name | Reference | | |||
+============+=============================+======================+ | +============+=============================+======================+ | |||
| 0x80 | ChapterDisplay | RFC 9559, | | | 0x80 | ChapterDisplay | RFC 9559, | | |||
| | | Section 5.1.7.1.4.9 | | | | | Section 5.1.7.1.4.9 | | |||
+------------+-----------------------------+----------------------+ | +------------+-----------------------------+----------------------+ | |||
| 0x83 | TrackType | RFC 9559, | | | 0x83 | TrackType | RFC 9559, | | |||
| | | Section 5.1.4.1.3 | | | | | Section 5.1.4.1.3 | | |||
+------------+-----------------------------+----------------------+ | +------------+-----------------------------+----------------------+ | |||
skipping to change at line 6847 ¶ | skipping to change at line 6893 ¶ | |||
+------------+-----------------------------+----------------------+ | +------------+-----------------------------+----------------------+ | |||
| 0x1C53BB6B | Cues | RFC 9559, | | | 0x1C53BB6B | Cues | RFC 9559, | | |||
| | | Section 5.1.5 | | | | | Section 5.1.5 | | |||
+------------+-----------------------------+----------------------+ | +------------+-----------------------------+----------------------+ | |||
| 0x1F43B675 | Cluster | RFC 9559, | | | 0x1F43B675 | Cluster | RFC 9559, | | |||
| | | Section 5.1.3 | | | | | Section 5.1.3 | | |||
+------------+-----------------------------+----------------------+ | +------------+-----------------------------+----------------------+ | |||
| 0x1FFFFFFF | Reserved | RFC 9559 | | | 0x1FFFFFFF | Reserved | RFC 9559 | | |||
+------------+-----------------------------+----------------------+ | +------------+-----------------------------+----------------------+ | |||
Table 54: Initial Contents of "Matroska Element IDs" Registry | Table 55: Initial Contents of "Matroska Element IDs" Registry | |||
27.2. Chapter Codec IDs Registry | 27.2. Chapter Codec IDs Registry | |||
IANA has created a new registry called the "Matroska Chapter Codec | IANA has created a new registry called the "Matroska Chapter Codec | |||
IDs" registry. The values correspond to the unsigned integer | IDs" registry. The values correspond to the unsigned integer | |||
ChapProcessCodecID value described in Section 5.1.7.1.4.15. | ChapProcessCodecID, ChapterTranslateCodec, and TrackTranslateCodec | |||
values described in Section 5.1.7.1.4.15, Section 5.1.2.8.2, and | ||||
Section 5.1.4.1.27.2, respectively. | ||||
To register a new Chapter Codec ID in this registry, one needs a | To register a new Chapter Codec ID in this registry, one needs a | |||
Chapter Codec ID, description, a Change Controller (IETF or email of | Chapter Codec ID, a description, a Change Controller (IETF or email | |||
of registrant), and an optional Reference to a document describing | ||||
the Chapter Codec ID. | ||||
The Chapter Codec IDs are to be allocated according to the | ||||
"Specification Required" policy [RFC8126]. | ||||
Table 56 shows the initial contents of the "Chapter Codec IDs" | ||||
registry. The Change Controller for the initial entries is the IETF. | ||||
+==================+=================+===================+ | ||||
| Chapter Codec ID | Description | Reference | | ||||
+==================+=================+===================+ | ||||
| 0 | Matroska Script | RFC 9559, Section | | ||||
| | | 5.1.7.1.4.15 | | ||||
+------------------+-----------------+-------------------+ | ||||
| 1 | DVD-Menu | RFC 9559, Section | | ||||
| | | 5.1.7.1.4.15 | | ||||
+------------------+-----------------+-------------------+ | ||||
Table 56: Initial Contents of "Chapter Codec IDs" Registry | ||||
27.3. Track Types Registry | ||||
IANA has created a new registry called the "Track Types" registry. | ||||
The values correspond to the unsigned integer TrackType value | ||||
described in Section 5.1.4.1.3. | ||||
To register a new Track Type in this registry, one needs a Track Type | ||||
value, a description, a Change Controller (IETF or email of | ||||
registrant), and an optional Reference to a document describing the | registrant), and an optional Reference to a document describing the | |||
Chapter Codec ID. | Track Type. | |||
The Chapter Codec IDs are to be allocated according to the "First | The Track Types are to be allocated according to the "Specification | |||
Required" policy [RFC8126]. | ||||
Table 57 shows the initial contents of the "Track Types" registry. | ||||
The Change Controller for the initial entries is the IETF. | ||||
+============+=============+=============================+ | ||||
| Track Type | Description | Reference | | ||||
+============+=============+=============================+ | ||||
| 1 | video | RFC 9559, Section 5.1.4.1.3 | | ||||
+------------+-------------+-----------------------------+ | ||||
| 2 | audio | RFC 9559, Section 5.1.4.1.3 | | ||||
+------------+-------------+-----------------------------+ | ||||
| 3 | complex | RFC 9559, Section 5.1.4.1.3 | | ||||
+------------+-------------+-----------------------------+ | ||||
| 16 | logo | RFC 9559, Section 5.1.4.1.3 | | ||||
+------------+-------------+-----------------------------+ | ||||
| 17 | subtitle | RFC 9559, Section 5.1.4.1.3 | | ||||
+------------+-------------+-----------------------------+ | ||||
| 18 | buttons | RFC 9559, Section 5.1.4.1.3 | | ||||
+------------+-------------+-----------------------------+ | ||||
| 32 | control | RFC 9559, Section 5.1.4.1.3 | | ||||
+------------+-------------+-----------------------------+ | ||||
| 33 | metadata | RFC 9559, Section 5.1.4.1.3 | | ||||
+------------+-------------+-----------------------------+ | ||||
Table 57: Initial Contents of "Track Types" Registry | ||||
27.4. Tags Target Types Registry | ||||
IANA has created a new registry called the "Tags Target Types" | ||||
registry. The values correspond to the unsigned integer | ||||
TargetTypeValue value described in Section 5.1.8.1.1.1. | ||||
To register a new Tags Target Type in this registry, one needs a Tags | ||||
Target Type value, a description, a Change Controller (IETF or email | ||||
of registrant), and an optional Reference to a document describing | ||||
the Tags Target Type. | ||||
The Tags Track Types are to be allocated according to the | ||||
"Specification Required" policy [RFC8126]. | ||||
Table 58 shows the initial contents of the "Tags Target Types" | ||||
registry. The Change Controller for the initial entries is the IETF. | ||||
+==================+==========================+===================+ | ||||
| Tags Target Type | Description | Reference | | ||||
+==================+==========================+===================+ | ||||
| 70 | COLLECTION | RFC 9559, Section | | ||||
| | | 5.1.8.1.1.1 | | ||||
+------------------+--------------------------+-------------------+ | ||||
| 60 | EDITION / ISSUE / VOLUME | RFC 9559, Section | | ||||
| | / OPUS / SEASON / SEQUEL | 5.1.8.1.1.1 | | ||||
+------------------+--------------------------+-------------------+ | ||||
| 50 | ALBUM / OPERA / CONCERT | RFC 9559, Section | | ||||
| | / MOVIE / EPISODE | 5.1.8.1.1.1 | | ||||
+------------------+--------------------------+-------------------+ | ||||
| 40 | PART / SESSION | RFC 9559, Section | | ||||
| | | 5.1.8.1.1.1 | | ||||
+------------------+--------------------------+-------------------+ | ||||
| 30 | TRACK / SONG / CHAPTER | RFC 9559, Section | | ||||
| | | 5.1.8.1.1.1 | | ||||
+------------------+--------------------------+-------------------+ | ||||
| 20 | SUBTRACK / MOVEMENT / | RFC 9559, Section | | ||||
| | SCENE | 5.1.8.1.1.1 | | ||||
+------------------+--------------------------+-------------------+ | ||||
| 10 | SHOT | RFC 9559, Section | | ||||
| | | 5.1.8.1.1.1 | | ||||
+------------------+--------------------------+-------------------+ | ||||
Table 58: Initial Contents of "Tags Target Types" Registry | ||||
27.5. Alpha Modes Registry | ||||
IANA has created a new registry called the "Alpha Modes" registry. | ||||
The values correspond to the unsigned integer AlphaMode value | ||||
described in Section 5.1.4.1.28.4. | ||||
To register a new Alpha Mode in this registry, one needs an Alpha | ||||
Mode value, a description, a Change Controller (IETF or email of | ||||
registrant), and an optional Reference to a document describing the | ||||
Alpha Mode. | ||||
The Alpha Modes are to be allocated according to the "First Come | ||||
First Served" policy [RFC8126]. | ||||
Table 59 shows the initial contents of the "Alpha Modes" registry. | ||||
The Change Controller for the initial entries is the IETF. | ||||
+============+=============+================================+ | ||||
| Alpha Mode | Description | Reference | | ||||
+============+=============+================================+ | ||||
| 0 | none | RFC 9559, Section 5.1.4.1.28.4 | | ||||
+------------+-------------+--------------------------------+ | ||||
| 1 | present | RFC 9559, Section 5.1.4.1.28.4 | | ||||
+------------+-------------+--------------------------------+ | ||||
Table 59: Initial Contents of "Alpha Modes" Registry | ||||
27.6. Content Encoding Scopes Registry | ||||
IANA has created a new registry called the "Content Encoding Scopes" | ||||
registry. The values correspond to the unsigned integer | ||||
ContentEncodingScope value described in Section 5.1.4.1.31.3. | ||||
To register a new Content Encoding Scope in this registry, one needs | ||||
a Content Encoding Scope value, a description, a Change Controller | ||||
(IETF or email of registrant), and an optional Reference to a | ||||
document describing the Content Encoding Scope. | ||||
The Content Encoding Scopes are to be allocated according to the | ||||
"Specification Required" policy [RFC8126]. | ||||
Table 60 shows the initial contents of the "Content Encoding Scopes" | ||||
registry. The Change Controller for the initial entries is the IETF. | ||||
+========================+=============+===================+ | ||||
| Content Encoding Scope | Description | Reference | | ||||
+========================+=============+===================+ | ||||
| 1 | Block | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.3 | | ||||
+------------------------+-------------+-------------------+ | ||||
| 2 | Private | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.3 | | ||||
+------------------------+-------------+-------------------+ | ||||
| 4 | Next | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.3 | | ||||
+------------------------+-------------+-------------------+ | ||||
Table 60: Initial Contents of "Content Encoding Scopes" | ||||
Registry | ||||
27.7. Content Encoding Types Registry | ||||
IANA has created a new registry called the "Content Encoding Types" | ||||
registry. The values correspond to the unsigned integer | ||||
ContentEncodingType value described in Section 5.1.4.1.31.4. | ||||
To register a new Content Encoding Type in this registry, one needs a | ||||
Content Encoding Type value, a description, a Change Controller (IETF | ||||
or email of registrant), and an optional Reference to a document | ||||
describing the Content Encoding Type. | ||||
The Content Encoding Types are to be allocated according to the | ||||
"Specification Required" policy [RFC8126]. | ||||
Table 61 shows the initial contents of the "Content Encoding Types" | ||||
registry. The Change Controller for the initial entries is the IETF. | ||||
+=======================+=============+===================+ | ||||
| Content Encoding Type | Description | Reference | | ||||
+=======================+=============+===================+ | ||||
| 0 | Compression | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.4 | | ||||
+-----------------------+-------------+-------------------+ | ||||
| 1 | Encryption | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.4 | | ||||
+-----------------------+-------------+-------------------+ | ||||
Table 61: Initial Contents of "Content Encoding Types" | ||||
Registry | ||||
27.8. Compression Algorithms Registry | ||||
IANA has created a new registry called the "Compression Algorithms" | ||||
registry. The values correspond to the unsigned integer | ||||
ContentCompAlgo value described in Section 5.1.4.1.31.6. | ||||
To register a new Compression Algorithm in this registry, one needs a | ||||
Compression Algorithm value, a description, a Change Controller (IETF | ||||
or email of registrant), and an optional Reference to a document | ||||
describing the Compression Algorithm. | ||||
The Compression Algorithms are to be allocated according to the | ||||
"Specification Required" policy [RFC8126]. | ||||
Table 62 shows the initial contents of the "Compression Algorithms" | ||||
registry. The Change Controller for the initial entries is the IETF. | ||||
+=======================+=============+===================+ | ||||
| Compression Algorithm | Description | Reference | | ||||
+=======================+=============+===================+ | ||||
| 0 | zlib | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.6 | | ||||
+-----------------------+-------------+-------------------+ | ||||
| 1 | bzlib | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.6 | | ||||
+-----------------------+-------------+-------------------+ | ||||
| 2 | lzo1x | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.6 | | ||||
+-----------------------+-------------+-------------------+ | ||||
| 3 | Header | RFC 9559, Section | | ||||
| | Stripping | 5.1.4.1.31.6 | | ||||
+-----------------------+-------------+-------------------+ | ||||
Table 62: Initial Contents of "Compression Algorithms" | ||||
Registry | ||||
27.9. Encryption Algorithms Registry | ||||
IANA has created a new registry called the "Encryption Algorithms" | ||||
registry. The values correspond to the unsigned integer | ||||
ContentEncAlgo value described in Section 5.1.4.1.31.9. | ||||
To register a new Encryption Algorithm in this registry, one needs an | ||||
Encryption Algorithm value, a description, a Change Controller (IETF | ||||
or email of registrant), and an optional Reference to a document | ||||
describing the Encryption Algorithm. | ||||
The Encryption Algorithms are to be allocated according to the "First | ||||
Come First Served" policy [RFC8126]. | Come First Served" policy [RFC8126]. | |||
Values of "0" and "1" are reserved for future use (with the IETF as | Table 63 shows the initial contents of the "Encryption Algorithms" | |||
the Change Controller). | registry. The Change Controller for the initial entries is the IETF. | |||
27.3. Media Types | +======================+===============+===================+ | |||
| Encryption Algorithm | Description | Reference | | ||||
+======================+===============+===================+ | ||||
| 0 | Not encrypted | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.9 | | ||||
+----------------------+---------------+-------------------+ | ||||
| 1 | DES | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.9 | | ||||
+----------------------+---------------+-------------------+ | ||||
| 2 | 3DES | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.9 | | ||||
+----------------------+---------------+-------------------+ | ||||
| 3 | Twofish | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.9 | | ||||
+----------------------+---------------+-------------------+ | ||||
| 4 | Blowfish | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.9 | | ||||
+----------------------+---------------+-------------------+ | ||||
| 5 | AES | RFC 9559, Section | | ||||
| | | 5.1.4.1.31.9 | | ||||
+----------------------+---------------+-------------------+ | ||||
Table 63: Initial Contents of "Encryption Algorithms" | ||||
Registry | ||||
27.10. AES Cipher Modes Registry | ||||
IANA has created a new registry called the "AES Cipher Modes" | ||||
registry. The values correspond to the unsigned integer | ||||
AESSettingsCipherMode value described in Section 5.1.4.1.31.12. | ||||
To register a new AES Cipher Mode in this registry, one needs an AES | ||||
Cipher Mode value, a description, a Change Controller (IETF or email | ||||
of registrant), and an optional Reference to a document describing | ||||
the AES Cipher Mode. | ||||
The AES Cipher Modes are to be allocated according to the "First Come | ||||
First Served" policy [RFC8126]. | ||||
Table 64 shows the initial contents of the "AES Cipher Modes" | ||||
registry. The Change Controller for the initial entries is the IETF. | ||||
+=================+=============+=================================+ | ||||
| AES Cipher Mode | Description | Reference | | ||||
+=================+=============+=================================+ | ||||
| 1 | AES-CTR | RFC 9559, Section 5.1.4.1.31.12 | | ||||
+-----------------+-------------+---------------------------------+ | ||||
| 2 | AES-CBC | RFC 9559, Section 5.1.4.1.31.12 | | ||||
+-----------------+-------------+---------------------------------+ | ||||
Table 64: Initial Contents of "AES Cipher Modes" Registry | ||||
27.11. Stereo Modes Registry | ||||
IANA has created a new registry called the "Stereo Modes" registry. | ||||
The values correspond to the unsigned integer StereoMode value | ||||
described in Section 5.1.4.1.28.3. | ||||
To register a new Stereo Mode in this registry, one needs a Stereo | ||||
Mode value, a description, a Change Controller (IETF or email of | ||||
registrant), and an optional Reference to a document describing the | ||||
Stereo Mode. | ||||
The Stereo Modes are to be allocated according to the "Specification | ||||
Required" policy [RFC8126]. | ||||
Table 65 shows the initial contents of the "Stereo Modes" registry. | ||||
The Change Controller for the initial entries is the IETF. | ||||
+=============+====================+================================+ | ||||
| Stereo Mode | Description | Reference | | ||||
+=============+====================+================================+ | ||||
| 0 | mono | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 1 | Side By Side (left | RFC 9559, Section | | ||||
| | first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 2 | Top Bottom (right | RFC 9559, Section | | ||||
| | first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 3 | Top Bottom (left | RFC 9559, Section | | ||||
| | first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 4 | Checkboard (right | RFC 9559, Section | | ||||
| | first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 5 | Checkboard (left | RFC 9559, Section | | ||||
| | first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 6 | Row Interleaved | RFC 9559, Section | | ||||
| | (right first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 7 | Row Interleaved | RFC 9559, Section | | ||||
| | (left first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 8 | Column Interleaved | RFC 9559, Section | | ||||
| | (right first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 9 | Column Interleaved | RFC 9559, Section | | ||||
| | (left first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 10 | Anaglyph (cyan/ | RFC 9559, Section | | ||||
| | red) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 11 | Side By Side | RFC 9559, Section | | ||||
| | (right first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 12 | Anaglyph (green/ | RFC 9559, Section | | ||||
| | magenta) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 13 | Both in Block | RFC 9559, Section | | ||||
| | (left first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
| 14 | Both in Block | RFC 9559, Section | | ||||
| | (right first) | 5.1.4.1.28.3 | | ||||
+-------------+--------------------+--------------------------------+ | ||||
Table 65: Initial Contents of "Stereo Modes" Registry | ||||
27.12. Display Units Registry | ||||
IANA has created a new registry called the "Display Units" registry. | ||||
The values correspond to the unsigned integer DisplayUnit value | ||||
described in Section 5.1.4.1.28.14. | ||||
To register a new Display Unit in this registry, one needs a Display | ||||
Unit value, a description, a Change Controller (IETF or email of | ||||
registrant), and an optional Reference to a document describing the | ||||
Display Unit. | ||||
The Display Units are to be allocated according to the "Specification | ||||
Required" policy [RFC8126]. | ||||
Table 66 shows the initial contents of the "Display Units" registry. | ||||
The Change Controller for the initial entries is the IETF. | ||||
+==============+===============+=================================+ | ||||
| Display Unit | Description | Reference | | ||||
+==============+===============+=================================+ | ||||
| 0 | Pixels | RFC 9559, Section 5.1.4.1.28.14 | | ||||
+--------------+---------------+---------------------------------+ | ||||
| 1 | Centimeters | RFC 9559, Section 5.1.4.1.28.14 | | ||||
+--------------+---------------+---------------------------------+ | ||||
| 2 | Inches | RFC 9559, Section 5.1.4.1.28.14 | | ||||
+--------------+---------------+---------------------------------+ | ||||
| 3 | Display | RFC 9559, Section 5.1.4.1.28.14 | | ||||
| | Aspect Ration | | | ||||
+--------------+---------------+---------------------------------+ | ||||
| 4 | Unknown | RFC 9559, Section 5.1.4.1.28.14 | | ||||
+--------------+---------------+---------------------------------+ | ||||
Table 66: Initial Contents of "Display Units" Registry | ||||
27.13. Projection Types Registry | ||||
IANA has created a new registry called the "Projection Types" | ||||
registry. The values correspond to the unsigned integer | ||||
ProjectionType value described in Section 5.1.4.1.28.42. | ||||
To register a new Projection Type in this registry, one needs a | ||||
Projection Type value, a description, a Change Controller (IETF or | ||||
email of registrant), and an optional Reference to a document | ||||
describing the Projection Type. | ||||
The Projection Types are to be allocated according to the "First Come | ||||
First Served" policy [RFC8126]. | ||||
Table 67 shows the initial contents of the "Projection Types" | ||||
registry. The Change Controller for the initial entries is the IETF. | ||||
+=================+=================+===================+ | ||||
| Projection Type | Description | Reference | | ||||
+=================+=================+===================+ | ||||
| 0 | Rectangular | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.42 | | ||||
+-----------------+-----------------+-------------------+ | ||||
| 1 | Equirectangular | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.42 | | ||||
+-----------------+-----------------+-------------------+ | ||||
| 2 | Cubemap | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.42 | | ||||
+-----------------+-----------------+-------------------+ | ||||
| 3 | Mesh | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.42 | | ||||
+-----------------+-----------------+-------------------+ | ||||
Table 67: Initial Contents of "Projection Types" Registry | ||||
27.14. Track Plane Types Registry | ||||
IANA has created a new registry called the "Track Plane Types" | ||||
registry. The values correspond to the unsigned integer | ||||
TrackPlaneType value described in Section 5.1.4.1.30.4. | ||||
To register a new Track Plane Type in this registry, one needs a | ||||
Track Plane Type value, a description, a Change Controller (IETF or | ||||
email of registrant), and an optional Reference to a document | ||||
describing the Track Plane Type. | ||||
The Track Plane Types are to be allocated according to the "First | ||||
Come First Served" policy [RFC8126]. | ||||
Table 68 shows the initial contents of the "Track Plane Types" | ||||
registry. The Change Controller for the initial entries is the IETF. | ||||
+==================+=============+================================+ | ||||
| Track Plane Type | Description | Reference | | ||||
+==================+=============+================================+ | ||||
| 0 | Left Eye | RFC 9559, Section 5.1.4.1.30.4 | | ||||
+------------------+-------------+--------------------------------+ | ||||
| 1 | Right Eye | RFC 9559, Section 5.1.4.1.30.4 | | ||||
+------------------+-------------+--------------------------------+ | ||||
| 2 | Background | RFC 9559, Section 5.1.4.1.30.4 | | ||||
+------------------+-------------+--------------------------------+ | ||||
Table 68: Initial Contents of "Track Plane Types" Registry | ||||
27.15. Horizontal Chroma Sitings Registry | ||||
IANA has created a new registry called the "Horizontal Chroma | ||||
Sitings" registry. The values correspond to the unsigned integer | ||||
ChromaSitingHorz value described in Section 5.1.4.1.28.23. | ||||
To register a new Horizontal Chroma Siting in this registry, one | ||||
needs a Horizontal Chroma Siting value, a description, a Change | ||||
Controller (IETF or email of registrant), and an optional Reference | ||||
to a document describing the Horizontal Chroma Siting. | ||||
The Horizontal Chroma Sitings are to be allocated according to the | ||||
"First Come First Served" policy [RFC8126]. | ||||
Table 69 shows the initial contents of the "Horizontal Chroma | ||||
Sitings" registry. The Change Controller for the initial entries is | ||||
the IETF. | ||||
+==========================+=============+===================+ | ||||
| Horizontal Chroma Siting | Description | Reference | | ||||
+==========================+=============+===================+ | ||||
| 0 | unspecified | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.23 | | ||||
+--------------------------+-------------+-------------------+ | ||||
| 1 | left | RFC 9559, Section | | ||||
| | collocated | 5.1.4.1.28.23 | | ||||
+--------------------------+-------------+-------------------+ | ||||
| 2 | half | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.23 | | ||||
+--------------------------+-------------+-------------------+ | ||||
Table 69: Initial Contents of "Horizontal Chroma Sitings" | ||||
Registry | ||||
27.16. Vertical Chroma Sitings Registry | ||||
IANA has created a new registry called the "Vertical Chroma Sitings" | ||||
registry. The values correspond to the unsigned integer | ||||
ChromaSitingVert value described in Section 5.1.4.1.28.24. | ||||
To register a new Vertical Chroma Siting in this registry, one needs | ||||
a Vertical Chroma Siting value, a description, a Change Controller | ||||
(IETF or email of registrant), and an optional Reference to a | ||||
document describing the Vertical Chroma Siting. | ||||
The Vertical Chroma Sitings are to be allocated according to the | ||||
"First Come First Served" policy [RFC8126]. | ||||
Table 70 shows the initial contents of the "Vertical Chroma Sitings" | ||||
registry. The Change Controller for the initial entries is the IETF. | ||||
+========================+=============+===================+ | ||||
| Vertical Chroma Siting | Description | Reference | | ||||
+========================+=============+===================+ | ||||
| 0 | unspecified | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.24 | | ||||
+------------------------+-------------+-------------------+ | ||||
| 1 | top | RFC 9559, Section | | ||||
| | collocated | 5.1.4.1.28.24 | | ||||
+------------------------+-------------+-------------------+ | ||||
| 2 | half | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.24 | | ||||
+------------------------+-------------+-------------------+ | ||||
Table 70: Initial Contents of "Vertical Chroma Sitings" | ||||
Registry | ||||
27.17. Color Ranges Registry | ||||
IANA has created a new registry called the "Color Ranges" registry. | ||||
The values correspond to the unsigned integer Range value described | ||||
in Section 5.1.4.1.28.25. | ||||
To register a new Color Range in this registry, one needs a Color | ||||
Range value, a description, a Change Controller (IETF or email of | ||||
registrant), and an optional Reference to a document describing the | ||||
Color Range. | ||||
The Color Ranges are to be allocated according to the "Specification | ||||
Required" policy [RFC8126]. | ||||
Table 71 shows the initial contents of the "Color Ranges" registry. | ||||
The Change Controller for the initial entries is the IETF. | ||||
+=============+===============================+===================+ | ||||
| Color Range | Description | Reference | | ||||
+=============+===============================+===================+ | ||||
| 0 | unspecified | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.25 | | ||||
+-------------+-------------------------------+-------------------+ | ||||
| 1 | broadcast range | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.25 | | ||||
+-------------+-------------------------------+-------------------+ | ||||
| 2 | full range | RFC 9559, Section | | ||||
| | | 5.1.4.1.28.25 | | ||||
+-------------+-------------------------------+-------------------+ | ||||
| 3 | defined by MatrixCoefficients | RFC 9559, Section | | ||||
| | / TransferCharacteristics | 5.1.4.1.28.25 | | ||||
+-------------+-------------------------------+-------------------+ | ||||
Table 71: Initial Contents of "Color Ranges" Registry | ||||
27.18. Media Types | ||||
Matroska files and streams are found in three main forms: audio- | Matroska files and streams are found in three main forms: audio- | |||
video, audio-only, and (occasionally) stereoscopic video. | video, audio-only, and (occasionally) stereoscopic video. | |||
Historically, Matroska files and streams have used the following | Historically, Matroska files and streams have used the following | |||
media types with an "x-" prefix. For better compatibility, a system | media types with an "x-" prefix. For better compatibility, a system | |||
SHOULD be able to handle both formats. Newer systems SHOULD NOT use | SHOULD be able to handle both formats. Newer systems SHOULD NOT use | |||
the historic format and use the format that follows the format in | the historic format and use the format that follows the format in | |||
[RFC6838] instead. | [RFC6838] instead. | |||
IANA has registered three media types per the templates (see | IANA has registered three media types per the templates (see | |||
[RFC6838]) in the following subsections. | [RFC6838]) in the following subsections. | |||
27.3.1. For Files Containing Video Tracks | 27.18.1. For Files Containing Video Tracks | |||
Type name: video | Type name: video | |||
Subtype name: matroska | Subtype name: matroska | |||
Required parameters: N/A | Required parameters: N/A | |||
Optional parameters: N/A | Optional parameters: N/A | |||
Encoding considerations: As per RFCs 9559 and 8794 | Encoding considerations: As per RFCs 9559 and 8794 | |||
Security considerations: See Section 26 of RFC 9559. | Security considerations: See Section 26 of RFC 9559. | |||
Interoperability considerations: Due to the extensibility of | Interoperability considerations: Due to the extensibility of | |||
Matroska, it is possible to encounter files with unknown but valid | Matroska, it is possible to encounter files with unknown but valid | |||
EBML Elements. Readers should be ready to handle this case. The | EBML Elements. Readers should be ready to handle this case. The | |||
fixed byte order, octet boundaries, and UTF-8 usage allow for | fixed byte order, octet boundaries, and UTF-8 usage allow for | |||
broad interoperability. | broad interoperability. | |||
Published specification: RFC 9559 | Published specification: RFC 9559 | |||
Applications that use this media type: FFmpeg, VLC, etc. | Applications that use this media type: FFmpeg, VLC, etc. | |||
Fragment identifier considerations: N/A | Fragment identifier considerations: N/A | |||
Additional information: | Additional information: | |||
Deprecated alias names for this type: video/x-matroska | Deprecated alias names for this type: video/x-matroska | |||
Magic number(s): N/A | Magic number(s): N/A | |||
File extension(s): mkv | File extension(s): mkv | |||
Macintosh file type code(s): N/A | Macintosh file type code(s): N/A | |||
Person & email address to contact for further information: IETF | Person & email address to contact for further information: IETF | |||
CELLAR WG (cellar@ietf.org) | CELLAR WG (cellar@ietf.org) | |||
Intended usage: COMMON | Intended usage: COMMON | |||
Restrictions on usage: None | Restrictions on usage: None | |||
Author: IETF CELLAR WG | Author: IETF CELLAR WG | |||
Change controller: IETF | Change controller: IETF | |||
27.3.2. For Files Containing Audio Tracks with No Video Tracks | 27.18.2. For Files Containing Audio Tracks with No Video Tracks | |||
Type name: audio | Type name: audio | |||
Subtype name: matroska | Subtype name: matroska | |||
Required parameters: N/A | Required parameters: N/A | |||
Optional parameters: N/A | Optional parameters: N/A | |||
Encoding considerations: As per RFCs 9559 and 8794 | Encoding considerations: As per RFCs 9559 and 8794 | |||
Security considerations: See Section 26 of RFC 9559. | Security considerations: See Section 26 of RFC 9559. | |||
Interoperability considerations: Due to the extensibility of | Interoperability considerations: Due to the extensibility of | |||
Matroska, it is possible to encounter files with unknown but valid | Matroska, it is possible to encounter files with unknown but valid | |||
EBML Elements. Readers should be ready to handle this case. The | EBML Elements. Readers should be ready to handle this case. The | |||
fixed byte order, octet boundaries, and UTF-8 usage allow for | fixed byte order, octet boundaries, and UTF-8 usage allow for | |||
broad interoperability. | broad interoperability. | |||
Published specification: RFC 9559 | Published specification: RFC 9559 | |||
Applications that use this media type: FFmpeg, VLC, etc. | Applications that use this media type: FFmpeg, VLC, etc. | |||
Fragment identifier considerations: N/A | Fragment identifier considerations: N/A | |||
Additional information: | Additional information: | |||
Deprecated alias names for this type: audio/x-matroska | Deprecated alias names for this type: audio/x-matroska | |||
Magic number(s): N/A | Magic number(s): N/A | |||
File extension(s): mka | File extension(s): mka | |||
Macintosh file type code(s): N/A | Macintosh file type code(s): N/A | |||
Person & email address to contact for further information: IETF | Person & email address to contact for further information: IETF | |||
CELLAR WG (cellar@ietf.org) | CELLAR WG (cellar@ietf.org) | |||
Intended usage: COMMON | Intended usage: COMMON | |||
Restrictions on usage: None | Restrictions on usage: None | |||
Author: IETF CELLAR WG | Author: IETF CELLAR WG | |||
Change controller: IETF | Change controller: IETF | |||
27.3.3. For Files Containing a Stereoscopic Video Track | 27.18.3. For Files Containing a Stereoscopic Video Track | |||
Type name: video | Type name: video | |||
Subtype name: matroska-3d | Subtype name: matroska-3d | |||
Required parameters: N/A | Required parameters: N/A | |||
Optional parameters: N/A | Optional parameters: N/A | |||
Encoding considerations: As per RFCs 9559 and 8794 | Encoding considerations: As per RFCs 9559 and 8794 | |||
Security considerations: See Section 26 of RFC 9559. | Security considerations: See Section 26 of RFC 9559. | |||
Interoperability considerations: Due to the extensibility of | Interoperability considerations: Due to the extensibility of | |||
Matroska, it is possible to encounter files with unknown but valid | Matroska, it is possible to encounter files with unknown but valid | |||
EBML Elements. Readers should be ready to handle this case. The | EBML Elements. Readers should be ready to handle this case. The | |||
fixed byte order, octet boundaries, and UTF-8 usage allow for | fixed byte order, octet boundaries, and UTF-8 usage allow for | |||
broad interoperability. | broad interoperability. | |||
Published specification: RFC 9559 | Published specification: RFC 9559 | |||
Applications that use this media type: FFmpeg, VLC, etc. | Applications that use this media type: FFmpeg, VLC, etc. | |||
Fragment identifier considerations: N/A | Fragment identifier considerations: N/A | |||
Additional information: | Additional information: | |||
Deprecated alias names for this type: video/x-matroska-3d | Deprecated alias names for this type: video/x-matroska-3d | |||
Magic number(s): N/A | Magic number(s): N/A | |||
File extension(s): mk3d | File extension(s): mk3d | |||
Macintosh file type code(s): N/A | Macintosh file type code(s): N/A | |||
Person & email address to contact for further information: IETF | Person & email address to contact for further information: IETF | |||
CELLAR WG (cellar@ietf.org) | CELLAR WG (cellar@ietf.org) | |||
Intended usage: COMMON | Intended usage: COMMON | |||
Restrictions on usage: None | Restrictions on usage: None | |||
Author: IETF CELLAR WG | Author: IETF CELLAR WG | |||
Change controller: IETF | Change controller: IETF | |||
28. References | 28. References | |||
28.1. Normative References | 28.1. Normative References | |||
[CIE-1931] Wikipedia, "CIE 1931 color space", | [CIE-1931] Wikipedia, "CIE 1931 color space", | |||
<https://en.wikipedia.org/wiki/CIE_1931_color_space>. | <https://en.wikipedia.org/wiki/CIE_1931_color_space>. | |||
[ISO639-2] International Organization for Standardization, "Codes for | [ISO639-2] International Organization for Standardization, "Codes for | |||
End of changes. 98 change blocks. | ||||
77 lines changed or deleted | 725 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |