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.