draft-ietf-cellar-matroska-00.txt   draft-ietf-cellar-matroska-01.txt 
cellar S. Lhomme cellar S. Lhomme
Internet-Draft Internet-Draft
Intended status: Standards Track M. Bunkus Intended status: Standards Track M. Bunkus
Expires: January 18, 2019 Expires: January 27, 2019
D. Rice D. Rice
July 17, 2018 July 26, 2018
Matroska Specifications Matroska Specifications
draft-ietf-cellar-matroska-00 draft-ietf-cellar-matroska-01
Abstract Abstract
This document defines the Matroska audiovisual container, including This document defines the Matroska audiovisual container, including
definitions of its structural elements, as well as its terminology, definitions of its structural elements, as well as its terminology,
vocabulary, and application. vocabulary, and application.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
skipping to change at page 1, line 34 skipping to change at page 1, line 34
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 18, 2019. This Internet-Draft will expire on January 27, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 18 skipping to change at page 2, line 18
2. Status of this document . . . . . . . . . . . . . . . . . . . 10 2. Status of this document . . . . . . . . . . . . . . . . . . . 10
3. Security Considerations . . . . . . . . . . . . . . . . . . . 10 3. Security Considerations . . . . . . . . . . . . . . . . . . . 10
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
5. Notation and Conventions . . . . . . . . . . . . . . . . . . 10 5. Notation and Conventions . . . . . . . . . . . . . . . . . . 10
6. Basis in EBML . . . . . . . . . . . . . . . . . . . . . . . . 11 6. Basis in EBML . . . . . . . . . . . . . . . . . . . . . . . . 11
6.1. Added Constraints on EBML . . . . . . . . . . . . . . . . 11 6.1. Added Constraints on EBML . . . . . . . . . . . . . . . . 11
6.2. Matroska Design . . . . . . . . . . . . . . . . . . . . . 11 6.2. Matroska Design . . . . . . . . . . . . . . . . . . . . . 11
6.2.1. Language Codes . . . . . . . . . . . . . . . . . . . 11 6.2.1. Language Codes . . . . . . . . . . . . . . . . . . . 11
6.2.2. Physical Types . . . . . . . . . . . . . . . . . . . 12 6.2.2. Physical Types . . . . . . . . . . . . . . . . . . . 12
6.2.3. Block Structure . . . . . . . . . . . . . . . . . . . 12 6.2.3. Block Structure . . . . . . . . . . . . . . . . . . . 12
6.2.4. Lacing . . . . . . . . . . . . . . . . . . . . . . . 14 6.2.3.1. Block Header . . . . . . . . . . . . . . . . . . 13
7. Matroska Structure . . . . . . . . . . . . . . . . . . . . . 18 6.2.3.2. Block Header Flags . . . . . . . . . . . . . . . 13
8. Matroska Schema . . . . . . . . . . . . . . . . . . . . . . . 26 6.2.4. Lacing . . . . . . . . . . . . . . . . . . . . . . . 13
8.1. Matroska Additions to Schema Element Attributes . . . . . 26 6.2.4.1. Xiph lacing . . . . . . . . . . . . . . . . . . . 14
8.2. Matroska Schema . . . . . . . . . . . . . . . . . . . . . 27 6.2.4.2. EBML lacing . . . . . . . . . . . . . . . . . . . 14
8.2.1. EBMLMaxIDLength Element . . . . . . . . . . . . . . . 27 6.2.4.3. Fixed-size lacing . . . . . . . . . . . . . . . . 15
8.2.2. EBMLMaxSizeLength Element . . . . . . . . . . . . . . 27 6.2.4.4. SimpleBlock Structure . . . . . . . . . . . . . . 16
8.2.3. Segment Element . . . . . . . . . . . . . . . . . . . 28 6.2.4.4.1. SimpleBlock Header . . . . . . . . . . . . . 16
8.2.4. SeekHead Element . . . . . . . . . . . . . . . . . . 28 6.2.4.4.2. SimpleBlock Header Flags . . . . . . . . . . 16
8.2.5. Seek Element . . . . . . . . . . . . . . . . . . . . 28 6.2.4.5. Laced Data . . . . . . . . . . . . . . . . . . . 17
8.2.6. SeekID Element . . . . . . . . . . . . . . . . . . . 29 7. Matroska Structure . . . . . . . . . . . . . . . . . . . . . 17
8.2.7. SeekPosition Element . . . . . . . . . . . . . . . . 29 8. Matroska Additions to Schema Element Attributes . . . . . . . 26
8.2.8. Info Element . . . . . . . . . . . . . . . . . . . . 30 9. Matroska Schema . . . . . . . . . . . . . . . . . . . . . . . 27
8.2.9. SegmentUID Element . . . . . . . . . . . . . . . . . 30 9.1. EBMLMaxIDLength Element . . . . . . . . . . . . . . . . . 27
8.2.10. SegmentFilename Element . . . . . . . . . . . . . . . 30 9.2. EBMLMaxSizeLength Element . . . . . . . . . . . . . . . . 27
8.2.11. PrevUID Element . . . . . . . . . . . . . . . . . . . 31 9.3. Segment Element . . . . . . . . . . . . . . . . . . . . . 28
8.2.12. PrevFilename Element . . . . . . . . . . . . . . . . 31 9.3.1. SeekHead Element . . . . . . . . . . . . . . . . . . 28
8.2.13. NextUID Element . . . . . . . . . . . . . . . . . . . 32 9.3.1.1. Seek Element . . . . . . . . . . . . . . . . . . 28
8.2.14. NextFilename Element . . . . . . . . . . . . . . . . 32 9.3.1.1.1. SeekID Element . . . . . . . . . . . . . . . 29
8.2.15. SegmentFamily Element . . . . . . . . . . . . . . . . 33 9.3.1.1.2. SeekPosition Element . . . . . . . . . . . . 29
8.2.16. ChapterTranslate Element . . . . . . . . . . . . . . 33 9.3.2. Info Element . . . . . . . . . . . . . . . . . . . . 29
8.2.17. ChapterTranslateEditionUID Element . . . . . . . . . 33 9.3.2.1. SegmentUID Element . . . . . . . . . . . . . . . 30
8.2.18. ChapterTranslateCodec Element . . . . . . . . . . . . 34 9.3.2.2. SegmentFilename Element . . . . . . . . . . . . . 30
8.2.19. ChapterTranslateID Element . . . . . . . . . . . . . 34 9.3.2.3. PrevUID Element . . . . . . . . . . . . . . . . . 31
8.2.20. TimecodeScale Element . . . . . . . . . . . . . . . . 35 9.3.2.4. PrevFilename Element . . . . . . . . . . . . . . 31
8.2.21. Duration Element . . . . . . . . . . . . . . . . . . 35 9.3.2.5. NextUID Element . . . . . . . . . . . . . . . . . 32
8.2.22. DateUTC Element . . . . . . . . . . . . . . . . . . . 35 9.3.2.6. NextFilename Element . . . . . . . . . . . . . . 32
8.2.23. Title Element . . . . . . . . . . . . . . . . . . . . 36 9.3.2.7. SegmentFamily Element . . . . . . . . . . . . . . 33
8.2.24. MuxingApp Element . . . . . . . . . . . . . . . . . . 36 9.3.2.8. ChapterTranslate Element . . . . . . . . . . . . 33
8.2.25. WritingApp Element . . . . . . . . . . . . . . . . . 37 9.3.2.8.1. ChapterTranslateEditionUID Element . . . . . 33
8.2.26. Cluster Element . . . . . . . . . . . . . . . . . . . 37 9.3.2.8.2. ChapterTranslateCodec Element . . . . . . . . 34
8.2.27. Timecode Element . . . . . . . . . . . . . . . . . . 37 9.3.2.8.3. ChapterTranslateID Element . . . . . . . . . 34
8.2.28. SilentTracks Element . . . . . . . . . . . . . . . . 38 9.3.2.9. TimestampScale Element . . . . . . . . . . . . . 35
8.2.29. SilentTrackNumber Element . . . . . . . . . . . . . . 38 9.3.2.10. Duration Element . . . . . . . . . . . . . . . . 35
8.2.30. Position Element . . . . . . . . . . . . . . . . . . 38 9.3.2.11. DateUTC Element . . . . . . . . . . . . . . . . . 36
8.2.31. PrevSize Element . . . . . . . . . . . . . . . . . . 39 9.3.2.12. Title Element . . . . . . . . . . . . . . . . . . 36
8.2.32. SimpleBlock Element . . . . . . . . . . . . . . . . . 39 9.3.2.13. MuxingApp Element . . . . . . . . . . . . . . . . 36
8.2.33. BlockGroup Element . . . . . . . . . . . . . . . . . 40 9.3.2.14. WritingApp Element . . . . . . . . . . . . . . . 37
8.2.34. Block Element . . . . . . . . . . . . . . . . . . . . 40 9.3.3. Cluster Element . . . . . . . . . . . . . . . . . . . 37
8.2.35. BlockVirtual Element . . . . . . . . . . . . . . . . 40 9.3.3.1. Timestamp Element . . . . . . . . . . . . . . . . 38
8.2.36. BlockAdditions Element . . . . . . . . . . . . . . . 41 9.3.3.2. SilentTracks Element . . . . . . . . . . . . . . 38
8.2.37. BlockMore Element . . . . . . . . . . . . . . . . . . 41 9.3.3.2.1. SilentTrackNumber Element . . . . . . . . . . 38
8.2.38. BlockAddID Element . . . . . . . . . . . . . . . . . 41 9.3.3.3. Position Element . . . . . . . . . . . . . . . . 39
8.2.39. BlockAdditional Element . . . . . . . . . . . . . . . 42 9.3.3.4. PrevSize Element . . . . . . . . . . . . . . . . 39
8.2.40. BlockDuration Element . . . . . . . . . . . . . . . . 42 9.3.3.5. SimpleBlock Element . . . . . . . . . . . . . . . 39
8.2.41. ReferencePriority Element . . . . . . . . . . . . . . 43 9.3.3.6. BlockGroup Element . . . . . . . . . . . . . . . 40
8.2.42. ReferenceBlock Element . . . . . . . . . . . . . . . 43 9.3.3.6.1. Block Element . . . . . . . . . . . . . . . . 40
8.2.43. ReferenceVirtual Element . . . . . . . . . . . . . . 44 9.3.3.6.2. BlockVirtual Element . . . . . . . . . . . . 40
8.2.44. CodecState Element . . . . . . . . . . . . . . . . . 44 9.3.3.6.3. BlockAdditions Element . . . . . . . . . . . 41
8.2.45. DiscardPadding Element . . . . . . . . . . . . . . . 44 9.3.3.6.3.1. BlockMore Element . . . . . . . . . . . . 41
8.2.46. Slices Element . . . . . . . . . . . . . . . . . . . 45 9.3.3.6.3.2. BlockAddID Element . . . . . . . . . . . 42
8.2.47. TimeSlice Element . . . . . . . . . . . . . . . . . . 45 9.3.3.6.3.3. BlockAdditional Element . . . . . . . . . 42
8.2.48. LaceNumber Element . . . . . . . . . . . . . . . . . 45 9.3.3.6.4. BlockDuration Element . . . . . . . . . . . . 42
8.2.49. FrameNumber Element . . . . . . . . . . . . . . . . . 46 9.3.3.6.5. ReferencePriority Element . . . . . . . . . . 43
8.2.50. BlockAdditionID Element . . . . . . . . . . . . . . . 46 9.3.3.6.6. ReferenceBlock Element . . . . . . . . . . . 43
8.2.51. Delay Element . . . . . . . . . . . . . . . . . . . . 47 9.3.3.6.7. ReferenceVirtual Element . . . . . . . . . . 44
8.2.52. SliceDuration Element . . . . . . . . . . . . . . . . 47 9.3.3.6.8. CodecState Element . . . . . . . . . . . . . 44
8.2.53. ReferenceFrame Element . . . . . . . . . . . . . . . 48 9.3.3.6.9. DiscardPadding Element . . . . . . . . . . . 45
8.2.54. ReferenceOffset Element . . . . . . . . . . . . . . . 48 9.3.3.6.10. Slices Element . . . . . . . . . . . . . . . 45
8.2.55. ReferenceTimeCode Element . . . . . . . . . . . . . . 48 9.3.3.6.10.1. TimeSlice Element . . . . . . . . . . . 45
8.2.56. EncryptedBlock Element . . . . . . . . . . . . . . . 49 9.3.3.6.10.2. LaceNumber Element . . . . . . . . . . . 46
8.2.57. Tracks Element . . . . . . . . . . . . . . . . . . . 49 9.3.3.6.10.3. FrameNumber Element . . . . . . . . . . 46
8.2.58. TrackEntry Element . . . . . . . . . . . . . . . . . 50 9.3.3.6.10.4. BlockAdditionID Element . . . . . . . . 47
8.2.59. TrackNumber Element . . . . . . . . . . . . . . . . . 50 9.3.3.6.10.5. Delay Element . . . . . . . . . . . . . 47
8.2.60. TrackUID Element . . . . . . . . . . . . . . . . . . 50 9.3.3.6.10.6. SliceDuration Element . . . . . . . . . 48
8.2.61. TrackType Element . . . . . . . . . . . . . . . . . . 51 9.3.3.6.11. ReferenceFrame Element . . . . . . . . . . . 48
8.2.62. FlagEnabled Element . . . . . . . . . . . . . . . . . 51 9.3.3.6.11.1. ReferenceOffset Element . . . . . . . . 48
8.2.63. FlagDefault Element . . . . . . . . . . . . . . . . . 52 9.3.3.6.11.2. ReferenceTimestamp Element . . . . . . . 49
8.2.64. FlagForced Element . . . . . . . . . . . . . . . . . 52 9.3.3.7. EncryptedBlock Element . . . . . . . . . . . . . 49
8.2.65. FlagLacing Element . . . . . . . . . . . . . . . . . 53 9.3.4. Tracks Element . . . . . . . . . . . . . . . . . . . 50
8.2.66. MinCache Element . . . . . . . . . . . . . . . . . . 53 9.3.4.1. TrackEntry Element . . . . . . . . . . . . . . . 50
8.2.67. MaxCache Element . . . . . . . . . . . . . . . . . . 54 9.3.4.1.1. TrackNumber Element . . . . . . . . . . . . . 50
8.2.68. DefaultDuration Element . . . . . . . . . . . . . . . 54 9.3.4.1.2. TrackUID Element . . . . . . . . . . . . . . 51
8.2.69. DefaultDecodedFieldDuration Element . . . . . . . . . 54 9.3.4.1.3. TrackType Element . . . . . . . . . . . . . . 51
8.2.70. TrackTimecodeScale Element . . . . . . . . . . . . . 55 9.3.4.1.4. FlagEnabled Element . . . . . . . . . . . . . 52
8.2.71. TrackOffset Element . . . . . . . . . . . . . . . . . 55 9.3.4.1.5. FlagDefault Element . . . . . . . . . . . . . 52
8.2.72. MaxBlockAdditionID Element . . . . . . . . . . . . . 56 9.3.4.1.6. FlagForced Element . . . . . . . . . . . . . 53
8.2.73. Name Element . . . . . . . . . . . . . . . . . . . . 56 9.3.4.1.7. FlagLacing Element . . . . . . . . . . . . . 53
8.2.74. Language Element . . . . . . . . . . . . . . . . . . 57 9.3.4.1.8. MinCache Element . . . . . . . . . . . . . . 54
8.2.75. LanguageIETF Element . . . . . . . . . . . . . . . . 57 9.3.4.1.9. MaxCache Element . . . . . . . . . . . . . . 54
8.2.76. CodecID Element . . . . . . . . . . . . . . . . . . . 57 9.3.4.1.10. DefaultDuration Element . . . . . . . . . . . 55
8.2.77. CodecPrivate Element . . . . . . . . . . . . . . . . 58 9.3.4.1.11. DefaultDecodedFieldDuration Element . . . . . 55
8.2.78. CodecName Element . . . . . . . . . . . . . . . . . . 58 9.3.4.1.12. TrackTimestampScale Element . . . . . . . . . 55
8.2.79. AttachmentLink Element . . . . . . . . . . . . . . . 58 9.3.4.1.13. TrackOffset Element . . . . . . . . . . . . . 56
8.2.80. CodecSettings Element . . . . . . . . . . . . . . . . 59 9.3.4.1.14. MaxBlockAdditionID Element . . . . . . . . . 56
8.2.81. CodecInfoURL Element . . . . . . . . . . . . . . . . 59 9.3.4.1.15. Name Element . . . . . . . . . . . . . . . . 57
8.2.82. CodecDownloadURL Element . . . . . . . . . . . . . . 60 9.3.4.1.16. Language Element . . . . . . . . . . . . . . 57
8.2.83. CodecDecodeAll Element . . . . . . . . . . . . . . . 60 9.3.4.1.17. LanguageIETF Element . . . . . . . . . . . . 58
8.2.84. TrackOverlay Element . . . . . . . . . . . . . . . . 60 9.3.4.1.18. CodecID Element . . . . . . . . . . . . . . . 58
8.2.85. CodecDelay Element . . . . . . . . . . . . . . . . . 61 9.3.4.1.19. CodecPrivate Element . . . . . . . . . . . . 58
8.2.86. SeekPreRoll Element . . . . . . . . . . . . . . . . . 61 9.3.4.1.20. CodecName Element . . . . . . . . . . . . . . 59
8.2.87. TrackTranslate Element . . . . . . . . . . . . . . . 62 9.3.4.1.21. AttachmentLink Element . . . . . . . . . . . 59
8.2.88. TrackTranslateEditionUID Element . . . . . . . . . . 62 9.3.4.1.22. CodecSettings Element . . . . . . . . . . . . 59
8.2.89. TrackTranslateCodec Element . . . . . . . . . . . . . 62 9.3.4.1.23. CodecInfoURL Element . . . . . . . . . . . . 60
8.2.90. TrackTranslateTrackID Element . . . . . . . . . . . . 63 9.3.4.1.24. CodecDownloadURL Element . . . . . . . . . . 60
8.2.91. Video Element . . . . . . . . . . . . . . . . . . . . 63 9.3.4.1.25. CodecDecodeAll Element . . . . . . . . . . . 61
8.2.92. FlagInterlaced Element . . . . . . . . . . . . . . . 63 9.3.4.1.26. TrackOverlay Element . . . . . . . . . . . . 61
8.2.93. FieldOrder Element . . . . . . . . . . . . . . . . . 64 9.3.4.1.27. CodecDelay Element . . . . . . . . . . . . . 61
8.2.94. StereoMode Element . . . . . . . . . . . . . . . . . 64 9.3.4.1.28. SeekPreRoll Element . . . . . . . . . . . . . 62
8.2.95. AlphaMode Element . . . . . . . . . . . . . . . . . . 65 9.3.4.1.29. TrackTranslate Element . . . . . . . . . . . 62
8.2.96. OldStereoMode Element . . . . . . . . . . . . . . . . 65 9.3.4.1.29.1. TrackTranslateEditionUID Element . . . . 63
8.2.97. PixelWidth Element . . . . . . . . . . . . . . . . . 66 9.3.4.1.29.2. TrackTranslateCodec Element . . . . . . 63
8.2.98. PixelHeight Element . . . . . . . . . . . . . . . . . 66 9.3.4.1.29.3. TrackTranslateTrackID Element . . . . . 64
8.2.99. PixelCropBottom Element . . . . . . . . . . . . . . . 66 9.3.4.1.30. Video Element . . . . . . . . . . . . . . . . 64
8.2.100. PixelCropTop Element . . . . . . . . . . . . . . . . 67 9.3.4.1.30.1. FlagInterlaced Element . . . . . . . . . 64
8.2.101. PixelCropLeft Element . . . . . . . . . . . . . . . 67 9.3.4.1.30.2. FieldOrder Element . . . . . . . . . . . 65
8.2.102. PixelCropRight Element . . . . . . . . . . . . . . . 68 9.3.4.1.30.3. StereoMode Element . . . . . . . . . . . 66
8.2.103. DisplayWidth Element . . . . . . . . . . . . . . . . 68 9.3.4.1.30.4. AlphaMode Element . . . . . . . . . . . 67
8.2.104. DisplayHeight Element . . . . . . . . . . . . . . . 68 9.3.4.1.30.5. OldStereoMode Element . . . . . . . . . 67
8.2.105. DisplayUnit Element . . . . . . . . . . . . . . . . 69 9.3.4.1.30.6. PixelWidth Element . . . . . . . . . . . 68
8.2.106. AspectRatioType Element . . . . . . . . . . . . . . 69 9.3.4.1.30.7. PixelHeight Element . . . . . . . . . . 68
8.2.107. ColourSpace Element . . . . . . . . . . . . . . . . 70 9.3.4.1.30.8. PixelCropBottom Element . . . . . . . . 69
8.2.108. GammaValue Element . . . . . . . . . . . . . . . . . 70 9.3.4.1.30.9. PixelCropTop Element . . . . . . . . . . 69
8.2.109. FrameRate Element . . . . . . . . . . . . . . . . . 71 9.3.4.1.30.10. PixelCropLeft Element . . . . . . . . . 70
8.2.110. Colour Element . . . . . . . . . . . . . . . . . . . 71 9.3.4.1.30.11. PixelCropRight Element . . . . . . . . . 70
8.2.111. MatrixCoefficients Element . . . . . . . . . . . . . 71 9.3.4.1.30.12. DisplayWidth Element . . . . . . . . . . 70
8.2.112. BitsPerChannel Element . . . . . . . . . . . . . . . 72 9.3.4.1.30.13. DisplayHeight Element . . . . . . . . . 71
8.2.113. ChromaSubsamplingHorz Element . . . . . . . . . . . 72 9.3.4.1.30.14. DisplayUnit Element . . . . . . . . . . 71
8.2.114. ChromaSubsamplingVert Element . . . . . . . . . . . 73 9.3.4.1.30.15. AspectRatioType Element . . . . . . . . 72
8.2.115. CbSubsamplingHorz Element . . . . . . . . . . . . . 73 9.3.4.1.30.16. ColourSpace Element . . . . . . . . . . 73
8.2.116. CbSubsamplingVert Element . . . . . . . . . . . . . 73 9.3.4.1.30.17. GammaValue Element . . . . . . . . . . . 73
8.2.117. ChromaSitingHorz Element . . . . . . . . . . . . . . 74 9.3.4.1.30.18. FrameRate Element . . . . . . . . . . . 73
8.2.118. ChromaSitingVert Element . . . . . . . . . . . . . . 74 9.3.4.1.30.19. Colour Element . . . . . . . . . . . . . 74
8.2.119. Range Element . . . . . . . . . . . . . . . . . . . 75 9.3.4.1.30.20. MatrixCoefficients Element . . . . . . . 74
8.2.120. TransferCharacteristics Element . . . . . . . . . . 75 9.3.4.1.30.21. BitsPerChannel Element . . . . . . . . . 75
8.2.121. Primaries Element . . . . . . . . . . . . . . . . . 75 9.3.4.1.30.22. ChromaSubsamplingHorz Element . . . . . 75
8.2.122. MaxCLL Element . . . . . . . . . . . . . . . . . . . 76 9.3.4.1.30.23. ChromaSubsamplingVert Element . . . . . 76
8.2.123. MaxFALL Element . . . . . . . . . . . . . . . . . . 76 9.3.4.1.30.24. CbSubsamplingHorz Element . . . . . . . 76
8.2.124. MasteringMetadata Element . . . . . . . . . . . . . 77 9.3.4.1.30.25. CbSubsamplingVert Element . . . . . . . 77
8.2.125. PrimaryRChromaticityX Element . . . . . . . . . . . 77 9.3.4.1.30.26. ChromaSitingHorz Element . . . . . . . . 77
8.2.126. PrimaryRChromaticityY Element . . . . . . . . . . . 77 9.3.4.1.30.27. ChromaSitingVert Element . . . . . . . . 78
8.2.127. PrimaryGChromaticityX Element . . . . . . . . . . . 78 9.3.4.1.30.28. Range Element . . . . . . . . . . . . . 78
8.2.128. PrimaryGChromaticityY Element . . . . . . . . . . . 78 9.3.4.1.30.29. TransferCharacteristics Element . . . . 79
8.2.129. PrimaryBChromaticityX Element . . . . . . . . . . . 79 9.3.4.1.30.30. Primaries Element . . . . . . . . . . . 80
8.2.130. PrimaryBChromaticityY Element . . . . . . . . . . . 79 9.3.4.1.30.31. MaxCLL Element . . . . . . . . . . . . . 81
8.2.131. WhitePointChromaticityX Element . . . . . . . . . . 79 9.3.4.1.30.32. MaxFALL Element . . . . . . . . . . . . 81
8.2.132. WhitePointChromaticityY Element . . . . . . . . . . 80 9.3.4.1.30.33. MasteringMetadata Element . . . . . . . 82
8.2.133. LuminanceMax Element . . . . . . . . . . . . . . . . 80 9.3.4.1.30.34. PrimaryRChromaticityX Element . . . . . 82
8.2.134. LuminanceMin Element . . . . . . . . . . . . . . . . 81 9.3.4.1.30.35. PrimaryRChromaticityY Element . . . . . 82
8.2.135. Projection Element . . . . . . . . . . . . . . . . . 81 9.3.4.1.30.36. PrimaryGChromaticityX Element . . . . . 83
8.2.136. ProjectionType Element . . . . . . . . . . . . . . . 81 9.3.4.1.30.37. PrimaryGChromaticityY Element . . . . . 83
8.2.137. ProjectionPrivate Element . . . . . . . . . . . . . 82 9.3.4.1.30.38. PrimaryBChromaticityX Element . . . . . 84
8.2.138. ProjectionPoseYaw Element . . . . . . . . . . . . . 82 9.3.4.1.30.39. PrimaryBChromaticityY Element . . . . . 84
8.2.139. ProjectionPosePitch Element . . . . . . . . . . . . 83 9.3.4.1.30.40. WhitePointChromaticityX Element . . . . 84
8.2.140. ProjectionPoseRoll Element . . . . . . . . . . . . . 84 9.3.4.1.30.41. WhitePointChromaticityY Element . . . . 85
8.2.141. Audio Element . . . . . . . . . . . . . . . . . . . 84 9.3.4.1.30.42. LuminanceMax Element . . . . . . . . . . 85
8.2.142. SamplingFrequency Element . . . . . . . . . . . . . 84 9.3.4.1.30.43. LuminanceMin Element . . . . . . . . . . 86
8.2.143. OutputSamplingFrequency Element . . . . . . . . . . 85 9.3.4.1.30.44. Projection Element . . . . . . . . . . . 86
8.2.144. Channels Element . . . . . . . . . . . . . . . . . . 85 9.3.4.1.30.45. ProjectionType Element . . . . . . . . . 86
8.2.145. ChannelPositions Element . . . . . . . . . . . . . . 86 9.3.4.1.30.46. ProjectionPrivate Element . . . . . . . 87
8.2.146. BitDepth Element . . . . . . . . . . . . . . . . . . 86 9.3.4.1.30.47. ProjectionPoseYaw Element . . . . . . . 88
8.2.147. TrackOperation Element . . . . . . . . . . . . . . . 87 9.3.4.1.30.48. ProjectionPosePitch Element . . . . . . 88
8.2.148. TrackCombinePlanes Element . . . . . . . . . . . . . 87 9.3.4.1.30.49. ProjectionPoseRoll Element . . . . . . . 89
8.2.149. TrackPlane Element . . . . . . . . . . . . . . . . . 87 9.3.4.1.31. Audio Element . . . . . . . . . . . . . . . . 89
8.2.150. TrackPlaneUID Element . . . . . . . . . . . . . . . 88 9.3.4.1.31.1. SamplingFrequency Element . . . . . . . 90
8.2.151. TrackPlaneType Element . . . . . . . . . . . . . . . 88 9.3.4.1.31.2. OutputSamplingFrequency Element . . . . 90
8.2.152. TrackJoinBlocks Element . . . . . . . . . . . . . . 89 9.3.4.1.31.3. Channels Element . . . . . . . . . . . . 91
8.2.153. TrackJoinUID Element . . . . . . . . . . . . . . . . 89 9.3.4.1.31.4. ChannelPositions Element . . . . . . . . 91
8.2.154. TrickTrackUID Element . . . . . . . . . . . . . . . 89 9.3.4.1.31.5. BitDepth Element . . . . . . . . . . . . 91
8.2.155. TrickTrackSegmentUID Element . . . . . . . . . . . . 90 9.3.4.1.32. TrackOperation Element . . . . . . . . . . . 92
8.2.156. TrickTrackFlag Element . . . . . . . . . . . . . . . 90 9.3.4.1.32.1. TrackCombinePlanes Element . . . . . . . 92
8.2.157. TrickMasterTrackUID Element . . . . . . . . . . . . 91 9.3.4.1.32.2. TrackPlane Element . . . . . . . . . . . 93
8.2.158. TrickMasterTrackSegmentUID Element . . . . . . . . . 91 9.3.4.1.32.3. TrackPlaneUID Element . . . . . . . . . 93
8.2.159. ContentEncodings Element . . . . . . . . . . . . . . 91 9.3.4.1.32.4. TrackPlaneType Element . . . . . . . . . 93
8.2.160. ContentEncoding Element . . . . . . . . . . . . . . 92 9.3.4.1.32.5. TrackJoinBlocks Element . . . . . . . . 94
8.2.161. ContentEncodingOrder Element . . . . . . . . . . . . 92 9.3.4.1.32.6. TrackJoinUID Element . . . . . . . . . . 94
8.2.162. ContentEncodingScope Element . . . . . . . . . . . . 93 9.3.4.1.33. TrickTrackUID Element . . . . . . . . . . . . 95
8.2.163. ContentEncodingType Element . . . . . . . . . . . . 93 9.3.4.1.34. TrickTrackSegmentUID Element . . . . . . . . 95
8.2.164. ContentCompression Element . . . . . . . . . . . . . 94 9.3.4.1.35. TrickTrackFlag Element . . . . . . . . . . . 96
8.2.165. ContentCompAlgo Element . . . . . . . . . . . . . . 94 9.3.4.1.36. TrickMasterTrackUID Element . . . . . . . . . 96
8.2.166. ContentCompSettings Element . . . . . . . . . . . . 95 9.3.4.1.37. TrickMasterTrackSegmentUID Element . . . . . 96
8.2.167. ContentEncryption Element . . . . . . . . . . . . . 95 9.3.4.1.38. ContentEncodings Element . . . . . . . . . . 97
8.2.168. ContentEncAlgo Element . . . . . . . . . . . . . . . 95 9.3.4.1.38.1. ContentEncoding Element . . . . . . . . 97
8.2.169. ContentEncKeyID Element . . . . . . . . . . . . . . 96 9.3.4.1.38.2. ContentEncodingOrder Element . . . . . . 98
8.2.170. ContentSignature Element . . . . . . . . . . . . . . 96 9.3.4.1.38.3. ContentEncodingScope Element . . . . . . 98
8.2.171. ContentSigKeyID Element . . . . . . . . . . . . . . 97 9.3.4.1.38.4. ContentEncodingType Element . . . . . . 99
8.2.172. ContentSigAlgo Element . . . . . . . . . . . . . . . 97 9.3.4.1.38.5. ContentCompression Element . . . . . . . 99
8.2.173. ContentSigHashAlgo Element . . . . . . . . . . . . . 97 9.3.4.1.38.6. ContentCompAlgo Element . . . . . . . . 100
8.2.174. Cues Element . . . . . . . . . . . . . . . . . . . . 98 9.3.4.1.38.7. ContentCompSettings Element . . . . . . 100
8.2.175. CuePoint Element . . . . . . . . . . . . . . . . . . 98 9.3.4.1.38.8. ContentEncryption Element . . . . . . . 100
8.2.176. CueTime Element . . . . . . . . . . . . . . . . . . 99 9.3.4.1.38.9. ContentEncAlgo Element . . . . . . . . . 101
8.2.177. CueTrackPositions Element . . . . . . . . . . . . . 99 9.3.4.1.38.10. ContentEncKeyID Element . . . . . . . . 101
8.2.178. CueTrack Element . . . . . . . . . . . . . . . . . . 99 9.3.4.1.38.11. ContentSignature Element . . . . . . . . 102
8.2.179. CueClusterPosition Element . . . . . . . . . . . . . 100 9.3.4.1.38.12. ContentSigKeyID Element . . . . . . . . 102
8.2.180. CueRelativePosition Element . . . . . . . . . . . . 100 9.3.4.1.38.13. ContentSigAlgo Element . . . . . . . . . 102
8.2.181. CueDuration Element . . . . . . . . . . . . . . . . 101 9.3.4.1.38.14. ContentSigHashAlgo Element . . . . . . . 103
8.2.182. CueBlockNumber Element . . . . . . . . . . . . . . . 101 9.3.5. Cues Element . . . . . . . . . . . . . . . . . . . . 103
8.2.183. CueCodecState Element . . . . . . . . . . . . . . . 101 9.3.5.1. CuePoint Element . . . . . . . . . . . . . . . . 104
8.2.184. CueReference Element . . . . . . . . . . . . . . . . 102 9.3.5.1.1. CueTime Element . . . . . . . . . . . . . . . 104
8.2.185. CueRefTime Element . . . . . . . . . . . . . . . . . 102 9.3.5.1.2. CueTrackPositions Element . . . . . . . . . . 104
8.2.186. CueRefCluster Element . . . . . . . . . . . . . . . 102 9.3.5.1.2.1. CueTrack Element . . . . . . . . . . . . 105
8.2.187. CueRefNumber Element . . . . . . . . . . . . . . . . 103 9.3.5.1.2.2. CueClusterPosition Element . . . . . . . 105
8.2.188. CueRefCodecState Element . . . . . . . . . . . . . . 103 9.3.5.1.2.3. CueRelativePosition Element . . . . . . . 105
8.2.189. Attachments Element . . . . . . . . . . . . . . . . 104 9.3.5.1.2.4. CueDuration Element . . . . . . . . . . . 106
8.2.190. AttachedFile Element . . . . . . . . . . . . . . . . 104 9.3.5.1.2.5. CueBlockNumber Element . . . . . . . . . 106
8.2.191. FileDescription Element . . . . . . . . . . . . . . 105 9.3.5.1.2.6. CueCodecState Element . . . . . . . . . . 107
8.2.192. FileName Element . . . . . . . . . . . . . . . . . . 105 9.3.5.1.2.7. CueReference Element . . . . . . . . . . 107
8.2.193. FileMimeType Element . . . . . . . . . . . . . . . . 105 9.3.5.1.2.8. CueRefTime Element . . . . . . . . . . . 107
8.2.194. FileData Element . . . . . . . . . . . . . . . . . . 106 9.3.5.1.2.9. CueRefCluster Element . . . . . . . . . . 108
8.2.195. FileUID Element . . . . . . . . . . . . . . . . . . 106 9.3.5.1.2.10. CueRefNumber Element . . . . . . . . . . 108
8.2.196. FileReferral Element . . . . . . . . . . . . . . . . 106 9.3.5.1.2.11. CueRefCodecState Element . . . . . . . . 109
8.2.197. FileUsedStartTime Element . . . . . . . . . . . . . 107 9.3.6. Attachments Element . . . . . . . . . . . . . . . . . 109
8.2.198. FileUsedEndTime Element . . . . . . . . . . . . . . 107 9.3.6.1. AttachedFile Element . . . . . . . . . . . . . . 110
8.2.199. Chapters Element . . . . . . . . . . . . . . . . . . 108 9.3.6.1.1. FileDescription Element . . . . . . . . . . . 110
8.2.200. EditionEntry Element . . . . . . . . . . . . . . . . 108 9.3.6.1.2. FileName Element . . . . . . . . . . . . . . 110
8.2.201. EditionUID Element . . . . . . . . . . . . . . . . . 108 9.3.6.1.3. FileMimeType Element . . . . . . . . . . . . 111
8.2.202. EditionFlagHidden Element . . . . . . . . . . . . . 109 9.3.6.1.4. FileData Element . . . . . . . . . . . . . . 111
8.2.203. EditionFlagDefault Element . . . . . . . . . . . . . 109 9.3.6.1.5. FileUID Element . . . . . . . . . . . . . . . 111
8.2.204. EditionFlagOrdered Element . . . . . . . . . . . . . 110 9.3.6.1.6. FileReferral Element . . . . . . . . . . . . 112
8.2.205. ChapterAtom Element . . . . . . . . . . . . . . . . 110 9.3.6.1.7. FileUsedStartTime Element . . . . . . . . . . 112
8.2.206. ChapterUID Element . . . . . . . . . . . . . . . . . 110 9.3.6.1.8. FileUsedEndTime Element . . . . . . . . . . . 113
8.2.207. ChapterStringUID Element . . . . . . . . . . . . . . 111 9.3.7. Chapters Element . . . . . . . . . . . . . . . . . . 113
8.2.208. ChapterTimeStart Element . . . . . . . . . . . . . . 111 9.3.7.1. EditionEntry Element . . . . . . . . . . . . . . 113
8.2.209. ChapterTimeEnd Element . . . . . . . . . . . . . . . 112 9.3.7.1.1. EditionUID Element . . . . . . . . . . . . . 114
8.2.210. ChapterFlagHidden Element . . . . . . . . . . . . . 112 9.3.7.1.2. EditionFlagHidden Element . . . . . . . . . . 114
8.2.211. ChapterFlagEnabled Element . . . . . . . . . . . . . 113 9.3.7.1.3. EditionFlagDefault Element . . . . . . . . . 115
8.2.212. ChapterSegmentUID Element . . . . . . . . . . . . . 113 9.3.7.1.4. EditionFlagOrdered Element . . . . . . . . . 115
8.2.213. ChapterSegmentEditionUID Element . . . . . . . . . . 114 9.3.7.1.5. ChapterAtom Element . . . . . . . . . . . . . 116
8.2.214. ChapterPhysicalEquiv Element . . . . . . . . . . . . 114 9.3.7.1.5.1. ChapterUID Element . . . . . . . . . . . 116
8.2.215. ChapterTrack Element . . . . . . . . . . . . . . . . 114 9.3.7.1.5.2. ChapterStringUID Element . . . . . . . . 116
8.2.216. ChapterTrackNumber Element . . . . . . . . . . . . . 115 9.3.7.1.5.3. ChapterTimeStart Element . . . . . . . . 117
8.2.217. ChapterDisplay Element . . . . . . . . . . . . . . . 115 9.3.7.1.5.4. ChapterTimeEnd Element . . . . . . . . . 117
8.2.218. ChapString Element . . . . . . . . . . . . . . . . . 116 9.3.7.1.5.5. ChapterFlagHidden Element . . . . . . . . 118
8.2.219. ChapLanguage Element . . . . . . . . . . . . . . . . 116 9.3.7.1.5.6. ChapterFlagEnabled Element . . . . . . . 118
8.2.220. ChapLanguageIETF Element . . . . . . . . . . . . . . 116 9.3.7.1.5.7. ChapterSegmentUID Element . . . . . . . . 119
8.2.221. ChapCountry Element . . . . . . . . . . . . . . . . 117 9.3.7.1.5.8. ChapterSegmentEditionUID Element . . . . 119
8.2.222. ChapProcess Element . . . . . . . . . . . . . . . . 117 9.3.7.1.5.9. ChapterPhysicalEquiv Element . . . . . . 120
8.2.223. ChapProcessCodecID Element . . . . . . . . . . . . . 118 9.3.7.1.5.10. ChapterTrack Element . . . . . . . . . . 120
8.2.224. ChapProcessPrivate Element . . . . . . . . . . . . . 118 9.3.7.1.5.11. ChapterTrackNumber Element . . . . . . . 120
8.2.225. ChapProcessCommand Element . . . . . . . . . . . . . 118 9.3.7.1.5.12. ChapterDisplay Element . . . . . . . . . 121
8.2.226. ChapProcessTime Element . . . . . . . . . . . . . . 119 9.3.7.1.5.13. ChapString Element . . . . . . . . . . . 121
8.2.227. ChapProcessData Element . . . . . . . . . . . . . . 119 9.3.7.1.5.14. ChapLanguage Element . . . . . . . . . . 122
8.2.228. Tags Element . . . . . . . . . . . . . . . . . . . . 120 9.3.7.1.5.15. ChapLanguageIETF Element . . . . . . . . 122
8.2.229. Tag Element . . . . . . . . . . . . . . . . . . . . 120 9.3.7.1.5.16. ChapCountry Element . . . . . . . . . . . 122
8.2.230. Targets Element . . . . . . . . . . . . . . . . . . 120 9.3.7.1.5.17. ChapProcess Element . . . . . . . . . . . 123
8.2.231. TargetTypeValue Element . . . . . . . . . . . . . . 121 9.3.7.1.5.18. ChapProcessCodecID Element . . . . . . . 123
8.2.232. TargetType Element . . . . . . . . . . . . . . . . . 121 9.3.7.1.5.19. ChapProcessPrivate Element . . . . . . . 124
8.2.233. TagTrackUID Element . . . . . . . . . . . . . . . . 122 9.3.7.1.5.20. ChapProcessCommand Element . . . . . . . 124
8.2.234. TagEditionUID Element . . . . . . . . . . . . . . . 122 9.3.7.1.5.21. ChapProcessTime Element . . . . . . . . . 124
8.2.235. TagChapterUID Element . . . . . . . . . . . . . . . 122 9.3.7.1.5.22. ChapProcessData Element . . . . . . . . . 125
8.2.236. TagAttachmentUID Element . . . . . . . . . . . . . . 123 9.3.8. Tags Element . . . . . . . . . . . . . . . . . . . . 125
8.2.237. SimpleTag Element . . . . . . . . . . . . . . . . . 123 9.3.8.1. Tag Element . . . . . . . . . . . . . . . . . . . 126
8.2.238. TagName Element . . . . . . . . . . . . . . . . . . 123 9.3.8.1.1. Targets Element . . . . . . . . . . . . . . . 126
8.2.239. TagLanguage Element . . . . . . . . . . . . . . . . 124 9.3.8.1.1.1. TargetTypeValue Element . . . . . . . . . 126
8.2.240. TagLanguageIETF Element . . . . . . . . . . . . . . 124 9.3.8.1.1.2. TargetType Element . . . . . . . . . . . 127
8.2.241. TagDefault Element . . . . . . . . . . . . . . . . . 125 9.3.8.1.1.3. TagTrackUID Element . . . . . . . . . . . 128
8.2.242. TagString Element . . . . . . . . . . . . . . . . . 125 9.3.8.1.1.4. TagEditionUID Element . . . . . . . . . . 129
8.2.243. TagBinary Element . . . . . . . . . . . . . . . . . 126 9.3.8.1.1.5. TagChapterUID Element . . . . . . . . . . 129
9. Matroska Element Ordering Guidelines . . . . . . . . . . . . 126 9.3.8.1.1.6. TagAttachmentUID Element . . . . . . . . 129
9.1. Top-Level Elements . . . . . . . . . . . . . . . . . . . 126 9.3.8.1.2. SimpleTag Element . . . . . . . . . . . . . . 130
9.2. CRC-32 . . . . . . . . . . . . . . . . . . . . . . . . . 127 9.3.8.1.2.1. TagName Element . . . . . . . . . . . . . 130
9.3. SeekHead . . . . . . . . . . . . . . . . . . . . . . . . 127 9.3.8.1.2.2. TagLanguage Element . . . . . . . . . . . 131
9.4. Cues (index) . . . . . . . . . . . . . . . . . . . . . . 127 9.3.8.1.2.3. TagLanguageIETF Element . . . . . . . . . 131
9.5. Info . . . . . . . . . . . . . . . . . . . . . . . . . . 127 9.3.8.1.2.4. TagDefault Element . . . . . . . . . . . 131
9.6. Chapters . . . . . . . . . . . . . . . . . . . . . . . . 128 9.3.8.1.2.5. TagString Element . . . . . . . . . . . . 132
9.7. Attachments . . . . . . . . . . . . . . . . . . . . . . . 128 9.3.8.1.2.6. TagBinary Element . . . . . . . . . . . . 132
9.8. Tags . . . . . . . . . . . . . . . . . . . . . . . . . . 128 10. Matroska Element Ordering . . . . . . . . . . . . . . . . . . 133
9.9. Optimum layout from a muxer . . . . . . . . . . . . . . . 128 10.1. Top-Level Elements . . . . . . . . . . . . . . . . . . . 133
9.10. Optimum layout after editing tags . . . . . . . . . . . . 129 10.2. CRC-32 . . . . . . . . . . . . . . . . . . . . . . . . . 133
9.11. Optimum layout with Cues at the front . . . . . . . . . . 129 10.3. SeekHead . . . . . . . . . . . . . . . . . . . . . . . . 133
9.12. Cluster Timecode . . . . . . . . . . . . . . . . . . . . 129 10.4. Cues (index) . . . . . . . . . . . . . . . . . . . . . . 134
10. Chapters . . . . . . . . . . . . . . . . . . . . . . . . . . 130 10.5. Info . . . . . . . . . . . . . . . . . . . . . . . . . . 134
10.1. Edition and Chapter Flags . . . . . . . . . . . . . . . 130 10.6. Chapters Element . . . . . . . . . . . . . . . . . . . . 134
10.1.1. Chapter Flags . . . . . . . . . . . . . . . . . . . 130 10.7. Attachments . . . . . . . . . . . . . . . . . . . . . . 134
10.1.2. Edition Flags . . . . . . . . . . . . . . . . . . . 130 10.8. Tags . . . . . . . . . . . . . . . . . . . . . . . . . . 135
10.2. Menu features . . . . . . . . . . . . . . . . . . . . . 132 10.9. Optimum layout from a muxer . . . . . . . . . . . . . . 135
10.2.1. Matroska Script (0) . . . . . . . . . . . . . . . . 132 10.10. Optimum layout after editing tags . . . . . . . . . . . 135
10.2.2. DVD menu (1) . . . . . . . . . . . . . . . . . . . . 133 10.11. Optimum layout with Cues at the front . . . . . . . . . 136
10.3. Example 1 : basic chaptering . . . . . . . . . . . . . . 134 10.12. Cluster Timestamp . . . . . . . . . . . . . . . . . . . 136
10.4. Example 2 : nested chapters . . . . . . . . . . . . . . 136 11. Chapters . . . . . . . . . . . . . . . . . . . . . . . . . . 136
10.4.1. The Micronauts "Bleep To Bleep" . . . . . . . . . . 136 11.1. Edition and Chapter Flags . . . . . . . . . . . . . . . 136
11. Attachments . . . . . . . . . . . . . . . . . . . . . . . . . 139 11.1.1. Chapter Flags . . . . . . . . . . . . . . . . . . . 136
11.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 139 11.1.2. Edition Flags . . . . . . . . . . . . . . . . . . . 137
11.2. Cover Art . . . . . . . . . . . . . . . . . . . . . . . 139 11.1.2.1. EditionFlagHidden . . . . . . . . . . . . . . . 137
12. Cues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 11.1.2.2. EditionFlagDefault . . . . . . . . . . . . . . . 137
12.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 140 11.1.2.3. EditionFlagOrdered . . . . . . . . . . . . . . . 137
12.2. Recommendations . . . . . . . . . . . . . . . . . . . . 140 11.1.2.3.1. Ordered-Edition and Matroska Segment-Linking 138
13. Matroska Streaming . . . . . . . . . . . . . . . . . . . . . 141 11.2. Menu features . . . . . . . . . . . . . . . . . . . . . 139
13.1. File Access . . . . . . . . . . . . . . . . . . . . . . 141 11.2.1. Matroska Script (0) . . . . . . . . . . . . . . . . 139
13.2. Livestreaming . . . . . . . . . . . . . . . . . . . . . 142 11.2.2. DVD menu (1) . . . . . . . . . . . . . . . . . . . . 139
14. Menu Specifications . . . . . . . . . . . . . . . . . . . . . 142 11.3. Example 1 : basic chaptering . . . . . . . . . . . . . . 141
14.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 142 11.4. Example 2 : nested chapters . . . . . . . . . . . . . . 143
14.2. Requirements . . . . . . . . . . . . . . . . . . . . . . 143 11.4.1. The Micronauts "Bleep To Bleep" . . . . . . . . . . 143
14.2.1. Highlights/Hotspots . . . . . . . . . . . . . . . . 143 12. Attachments . . . . . . . . . . . . . . . . . . . . . . . . . 146
14.2.2. Playback features . . . . . . . . . . . . . . . . . 144 12.1. Cover Art . . . . . . . . . . . . . . . . . . . . . . . 146
14.2.3. Player requirements . . . . . . . . . . . . . . . . 144 13. Cues . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
14.3. Working Graph . . . . . . . . . . . . . . . . . . . . . 144 13.1. Recommendations . . . . . . . . . . . . . . . . . . . . 147
14.4. Ideas . . . . . . . . . . . . . . . . . . . . . . . . . 145 14. Matroska Streaming . . . . . . . . . . . . . . . . . . . . . 148
14.5. Data Structure . . . . . . . . . . . . . . . . . . . . . 145 14.1. File Access . . . . . . . . . . . . . . . . . . . . . . 148
15. Unknown elements . . . . . . . . . . . . . . . . . . . . . . 145 14.2. Livestreaming . . . . . . . . . . . . . . . . . . . . . 148
16. Default Values . . . . . . . . . . . . . . . . . . . . . . . 145 15. Menu Specifications . . . . . . . . . . . . . . . . . . . . . 149
17. DefaultDecodedFieldDuration . . . . . . . . . . . . . . . . . 145 15.1. Requirements . . . . . . . . . . . . . . . . . . . . . . 149
18. Encryption . . . . . . . . . . . . . . . . . . . . . . . . . 146 15.1.1. Highlights/Hotspots . . . . . . . . . . . . . . . . 149
19. Image cropping . . . . . . . . . . . . . . . . . . . . . . . 147 15.1.2. Playback features . . . . . . . . . . . . . . . . . 150
20. Matroska versioning . . . . . . . . . . . . . . . . . . . . . 147 15.1.3. Player requirements . . . . . . . . . . . . . . . . 151
21. MIME Types . . . . . . . . . . . . . . . . . . . . . . . . . 148 15.2. Working Graph . . . . . . . . . . . . . . . . . . . . . 151
22. Segment Position . . . . . . . . . . . . . . . . . . . . . . 148 16. Unknown elements . . . . . . . . . . . . . . . . . . . . . . 151
22.1. Segment Position Exception . . . . . . . . . . . . . . . 148 17. Default Values . . . . . . . . . . . . . . . . . . . . . . . 151
22.2. Example of Segment Position . . . . . . . . . . . . . . 148 18. DefaultDecodedFieldDuration . . . . . . . . . . . . . . . . . 152
23. Linked Segments . . . . . . . . . . . . . . . . . . . . . . . 149 19. Encryption . . . . . . . . . . . . . . . . . . . . . . . . . 152
23.1. Hard Linking . . . . . . . . . . . . . . . . . . . . . . 149 20. Image cropping . . . . . . . . . . . . . . . . . . . . . . . 153
23.2. Medium Linking . . . . . . . . . . . . . . . . . . . . . 150 21. Matroska versioning . . . . . . . . . . . . . . . . . . . . . 153
23.3. Soft Linking . . . . . . . . . . . . . . . . . . . . . . 150 22. MIME Types . . . . . . . . . . . . . . . . . . . . . . . . . 154
24. Track Flags . . . . . . . . . . . . . . . . . . . . . . . . . 151 23. Segment Position . . . . . . . . . . . . . . . . . . . . . . 154
24.1. Default flag . . . . . . . . . . . . . . . . . . . . . . 151 23.1. Segment Position Exception . . . . . . . . . . . . . . . 154
24.2. Forced flag . . . . . . . . . . . . . . . . . . . . . . 151 23.2. Example of Segment Position . . . . . . . . . . . . . . 154
24.3. Track Operation . . . . . . . . . . . . . . . . . . . . 151 24. Linked Segments . . . . . . . . . . . . . . . . . . . . . . . 155
24.4. Overlay Track . . . . . . . . . . . . . . . . . . . . . 152 24.1. Hard Linking . . . . . . . . . . . . . . . . . . . . . . 155
24.5. Multi-planar and 3D videos . . . . . . . . . . . . . . . 152 24.2. Medium Linking . . . . . . . . . . . . . . . . . . . . . 156
25. Timecodes . . . . . . . . . . . . . . . . . . . . . . . . . . 153 24.3. Soft Linking . . . . . . . . . . . . . . . . . . . . . . 156
25.1. Timecode Types . . . . . . . . . . . . . . . . . . . . . 153 25. Track Flags . . . . . . . . . . . . . . . . . . . . . . . . . 157
25.2. Block Timecodes . . . . . . . . . . . . . . . . . . . . 153 25.1. Default flag . . . . . . . . . . . . . . . . . . . . . . 157
25.3. Raw Timecode . . . . . . . . . . . . . . . . . . . . . . 153 25.2. Forced flag . . . . . . . . . . . . . . . . . . . . . . 157
25.4. TimecodeScale . . . . . . . . . . . . . . . . . . . . . 153 25.3. Track Operation . . . . . . . . . . . . . . . . . . . . 157
25.5. TimecodeScale Rounding . . . . . . . . . . . . . . . . . 154 25.4. Overlay Track . . . . . . . . . . . . . . . . . . . . . 158
25.6. TrackTimecodeScale . . . . . . . . . . . . . . . . . . . 156 25.5. Multi-planar and 3D videos . . . . . . . . . . . . . . . 158
26.1. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 157 26. Timestamps . . . . . . . . . . . . . . . . . . . . . . . . . 159
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 158 26.1. Timestamp Types . . . . . . . . . . . . . . . . . . . . 159
26.2. Block Timestamps . . . . . . . . . . . . . . . . . . . . 159
26.3. Raw Timestamp . . . . . . . . . . . . . . . . . . . . . 159
26.4. TimestampScale . . . . . . . . . . . . . . . . . . . . . 159
26.5. TimestampScale Rounding . . . . . . . . . . . . . . . . 160
26.6. TrackTimestampScale . . . . . . . . . . . . . . . . . . 162
27.1. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 164
1. Introduction 1. Introduction
Matroska aims to become THE standard of multimedia container formats. Matroska aims to become THE standard of multimedia container formats.
It was derived from a project called MCF [1], but differentiates from It was derived from a project called MCF [1], but differentiates from
it significantly because it is based on EBML [2] (Extensible Binary it significantly because it is based on EBML [2] (Extensible Binary
Meta Language), a binary derivative of XML. EBML enables significant Meta Language), a binary derivative of XML. EBML enables significant
advantages in terms of future format extensibility, without breaking advantages in terms of future format extensibility, without breaking
file support in old parsers. file support in old parsers.
skipping to change at page 12, line 48 skipping to change at page 12, line 48
| 20 | TRACK | - | as found on | | 20 | TRACK | - | as found on |
| | | | audio CDs | | | | | audio CDs |
| 10 | INDEX | - | the first | | 10 | INDEX | - | the first |
| | | | logical level | | | | | logical level |
| | | | of the | | | | | of the |
| | | | side/medium | | | | | side/medium |
+----------------------+--------------+-----------+-----------------+ +----------------------+--------------+-----------+-----------------+
6.2.3. Block Structure 6.2.3. Block Structure
Size = 1 + (1-8) + 4 + (4 + (4)) octets. So from 6 to 21 octets.
Bit 0 is the most significant bit. Bit 0 is the most significant bit.
Frames using references SHOULD be stored in "coding order". That Frames using references SHOULD be stored in "coding order". That
means the references first and then the frames referencing them. A means the references first and then the frames referencing them. A
consequence is that timecodes MAY NOT be consecutive. But a frame consequence is that timestamps MAY NOT be consecutive. But a frame
with a past timecode MUST reference a frame already known, otherwise with a past timestamp MUST reference a frame already known, otherwise
it's considered bad/void. it's considered bad/void.
There can be many Blocks in a BlockGroup provided they all have the There can be many Blocks in a BlockGroup provided they all have the
same timecode. It is used with different parts of a frame with same timestamp. It is used with different parts of a frame with
different priorities. different priorities.
6.2.3.1. Block Header 6.2.3.1. Block Header
+--------+--------+-------------------------------------------------+ +--------+--------+-------------------------------------------------+
| Offset | Player | Description | | Offset | Player | Description |
+--------+--------+-------------------------------------------------+ +--------+--------+-------------------------------------------------+
| 0x00+ | MUST | Track Number (Track Entry). It is coded in EBML | | 0x00+ | MUST | Track Number (Track Entry). It is coded in EBML |
| | | like form (1 octet if the value is < 0x80, 2 if | | | | like form (1 octet if the value is < 0x80, 2 if |
| | | < 0x4000, etc) (most significant bits set to | | | | < 0x4000, etc) (most significant bits set to |
| | | increase the range). | | | | increase the range). |
| 0x01+ | MUST | Timecode (relative to Cluster timecode, signed | | 0x01+ | MUST | Timestamp (relative to Cluster timestamp, |
| | | int16) | | | | signed int16) |
+--------+--------+-------------------------------------------------+ +--------+--------+-------------------------------------------------+
6.2.3.2. Block Header Flags 6.2.3.2. Block Header Flags
+--------+-----+--------+-------------------------------------------+ +--------+-----+--------+-------------------------------------------+
| Offset | Bit | Player | Description | | Offset | Bit | Player | Description |
+--------+-----+--------+-------------------------------------------+ +--------+-----+--------+-------------------------------------------+
| 0x03+ | 0-3 | - | Reserved, set to 0 | | 0x03+ | 0-3 | - | Reserved, set to 0 |
| 0x03+ | 4 | - | Invisible, the codec SHOULD decode this | | 0x03+ | 4 | - | Invisible, the codec SHOULD decode this |
| | | | frame but not display it | | | | | frame but not display it |
| 0x03+ | 5-6 | MUST | Lacing | | 0x03+ | 5-6 | MUST | Lacing |
| | | | * 00 : no lacing | | | | | * 00 : no lacing |
| | | | * 01 : Xiph lacing | | | | | * 01 : Xiph lacing |
| | | | * 11 : EBML lacing | | | | | * 11 : EBML lacing |
| | | | * 10 : fixed-size lacing | | | | | * 10 : fixed-size lacing |
| 0x03+ | 7 | - | not used | | 0x03+ | 7 | - | not used |
+--------+-----+--------+-------------------------------------------+ +--------+-----+--------+-------------------------------------------+
6.2.3.3. Laced Data
When lacing bit is set.
+--------+--------+-------------------------------------------------+
| Offset | Player | Description |
+--------+--------+-------------------------------------------------+
| 0x00 | MUST | Number of frames in the lace-1 (uint8) |
| 0x01 / | MUST* | Lace-coded size of each frame of the lace, |
| 0xXX | | except for the last one (multiple uint8). *This |
| | | is not used with Fixed-size lacing as it is |
| | | calculated automatically from (total size of |
| | | lace) / (number of frames in lace). |
+--------+--------+-------------------------------------------------+
For (possibly) Laced Data
+--------+--------+--------------------------+
| Offset | Player | Description |
+--------+--------+--------------------------+
| 0x00 | MUST | Consecutive laced frames |
+--------+--------+--------------------------+
6.2.4. Lacing 6.2.4. Lacing
Lacing is a mechanism to save space when storing data. It is Lacing is a mechanism to save space when storing data. It is
typically used for small blocks of data (referred to as frames in typically used for small blocks of data (referred to as frames in
Matroska). There are 3 types of lacing: Matroska). There are 3 types of lacing:
1. Xiph, inspired by what is found in the Ogg container 1. Xiph, inspired by what is found in the Ogg container
2. EBML, which is the same with sizes coded differently 2. EBML, which is the same with sizes coded differently
skipping to change at page 15, line 43 skipping to change at page 15, line 27
| 0000 01xx xxxx xxxx xxxx xxxx | value -(2^41-1) to 2^41-1 | | 0000 01xx xxxx xxxx xxxx xxxx | value -(2^41-1) to 2^41-1 |
| xxxx xxxx xxxx xxxx xxxx xxxx | | | xxxx xxxx xxxx xxxx xxxx xxxx | |
| 0000 001x xxxx xxxx xxxx xxxx | value -(2^48-1) to 2^48-1 | | 0000 001x xxxx xxxx xxxx xxxx | value -(2^48-1) to 2^48-1 |
| xxxx xxxx xxxx xxxx xxxx xxxx | | | xxxx xxxx xxxx xxxx xxxx xxxx | |
| xxxx xxxx | | | xxxx xxxx | |
+----------------------------------+--------------------------------+ +----------------------------------+--------------------------------+
o Block head (with lacing bits set to 11) o Block head (with lacing bits set to 11)
o Lacing head: Number of frames in the lace -1, i.e. 2 (the 800 and o Lacing head: Number of frames in the lace -1, i.e. 2 (the 800 and
400 octets one) 500 octets one)
o Lacing sizes: only the 2 first ones will be coded, 800 gives 0x320 o Lacing sizes: only the 2 first ones will be coded, 800 gives 0x320
0x4000 = 0x4320, 500 is coded as -300 : - 0x12C + 0x1FFF + 0x4000 0x4000 = 0x4320, 500 is coded as -300 : - 0x12C + 0x1FFF + 0x4000
= 0x5ED3. The size of the last frame is deduced from the total = 0x5ED3. The size of the last frame is deduced from the total
size of the Block. size of the Block.
o Data in frame 1 o Data in frame 1
o Data in frame 2 o Data in frame 2
o Data in frame 3 o Data in frame 3
6.2.4.3. Fixed-size lacing 6.2.4.3. Fixed-size lacing
In this case, only the number of frames in the lace is saved, the In this case, only the number of frames in the lace is saved, the
size of each frame is deduced from the total size of the Block. For size of each frame is deduced from the total size of the Block. For
example, for 3 frames of 800 octets each: example, for 3 frames of 800 octets each:
o Block head (with lacing bits set to 10) o Block head (with lacing bits set to 10)
skipping to change at page 16, line 19 skipping to change at page 16, line 4
size of each frame is deduced from the total size of the Block. For size of each frame is deduced from the total size of the Block. For
example, for 3 frames of 800 octets each: example, for 3 frames of 800 octets each:
o Block head (with lacing bits set to 10) o Block head (with lacing bits set to 10)
o Lacing head: Number of frames in the lace -1, i.e. 2 o Lacing head: Number of frames in the lace -1, i.e. 2
o Data in frame 1 o Data in frame 1
o Data in frame 2 o Data in frame 2
o Data in frame 3 o Data in frame 3
6.2.4.4. SimpleBlock Structure 6.2.4.4. SimpleBlock Structure
The "SimpleBlock" is inspired by the Section 6.2.3. The main The "SimpleBlock" is inspired by the Section 6.2.3. The main
differences are the added Keyframe flag and Discardable flag. differences are the added Keyframe flag and Discardable flag.
Otherwise everything is the same. Otherwise everything is the same.
Size = 1 + (1-8) + 4 + (4 + (4)) octets. So from 6 to 21 octets.
Bit 0 is the most significant bit. Bit 0 is the most significant bit.
Frames using references SHOULD be stored in "coding order". That Frames using references SHOULD be stored in "coding order". That
means the references first and then the frames referencing them. A means the references first and then the frames referencing them. A
consequence is that timecodes MAY NOT be consecutive. But a frame consequence is that timestamps MAY NOT be consecutive. But a frame
with a past timecode MUST reference a frame already known, otherwise with a past timestamp MUST reference a frame already known, otherwise
it's considered bad/void. it's considered bad/void.
There can be many "Block Elements" in a "BlockGroup" provided they There can be many "Block Elements" in a "BlockGroup" provided they
all have the same timecode. It is used with different parts of a all have the same timestamp. It is used with different parts of a
frame with different priorities. frame with different priorities.
6.2.4.4.1. SimpleBlock Header 6.2.4.4.1. SimpleBlock Header
+--------+--------+-------------------------------------------------+ +--------+--------+-------------------------------------------------+
| Offset | Player | Description | | Offset | Player | Description |
+--------+--------+-------------------------------------------------+ +--------+--------+-------------------------------------------------+
| 0x00+ | MUST | Track Number (Track Entry). It is coded in EBML | | 0x00+ | MUST | Track Number (Track Entry). It is coded in EBML |
| | | like form (1 octet if the value is < 0x80, 2 if | | | | like form (1 octet if the value is < 0x80, 2 if |
| | | < 0x4000, etc) (most significant bits set to | | | | < 0x4000, etc) (most significant bits set to |
| | | increase the range). | | | | increase the range). |
| 0x01+ | MUST | Timecode (relative to Cluster timecode, signed | | 0x01+ | MUST | Timestamp (relative to Cluster timestamp, |
| | | int16) | | | | signed int16) |
+--------+--------+-------------------------------------------------+ +--------+--------+-------------------------------------------------+
6.2.4.4.2. SimpleBlock Header Flags 6.2.4.4.2. SimpleBlock Header Flags
+--------+-----+--------+-------------------------------------------+ +--------+-----+--------+-------------------------------------------+
| Offset | Bit | Player | Description | | Offset | Bit | Player | Description |
+--------+-----+--------+-------------------------------------------+ +--------+-----+--------+-------------------------------------------+
| 0x03+ | 0 | - | Keyframe, set when the Block contains | | 0x03+ | 0 | - | Keyframe, set when the Block contains |
| | | | only keyframes | | | | | only keyframes |
| 0x03+ | 1-3 | - | Reserved, set to 0 | | 0x03+ | 1-3 | - | Reserved, set to 0 |
| 0x03+ | 4 | - | Invisible, the codec SHOULD decode this | | 0x03+ | 4 | - | Invisible, the codec SHOULD decode this |
| | | | frame but not display it | | | | | frame but not display it |
| 0x03+ | 5-6 | MUST | Lacing | | 0x03+ | 5-6 | MUST | Lacing |
| | | | * 00 : no lacing | | | | | * 00 : no lacing |
skipping to change at page 20, line 22 skipping to change at page 20, line 22
| | PrevFilename | | | PrevFilename |
| |------------------| | |------------------|
| | NextUID | | | NextUID |
| |------------------| | |------------------|
| | NextFilename | | | NextFilename |
| |------------------| | |------------------|
| | SegmentFamily | | | SegmentFamily |
| |------------------| | |------------------|
| | ChapterTranslate | | | ChapterTranslate |
| |------------------| | |------------------|
| | TimecodeScale | | | TimestampScale |
| |------------------| | |------------------|
| | Duration | | | Duration |
| |------------------| | |------------------|
| | DateUTC | | | DateUTC |
| |------------------| | |------------------|
| | Title | | | Title |
| |------------------| | |------------------|
| | MuxingApp | | | MuxingApp |
| |------------------| | |------------------|
| | WritingApp | | | WritingApp |
skipping to change at page 22, line 41 skipping to change at page 22, line 41
Representation of the Chapters Element and a selection of its Representation of the Chapters Element and a selection of its
Descendant Elements. Descendant Elements.
"Cluster Elements" contain the content for each track, e.g. video "Cluster Elements" contain the content for each track, e.g. video
frames. A Matroska file SHOULD contain at least one "Cluster frames. A Matroska file SHOULD contain at least one "Cluster
Element". The "Cluster Element" helps to break up "SimpleBlock" or Element". The "Cluster Element" helps to break up "SimpleBlock" or
"BlockGroup Elements" and helps with seeking and error protection. "BlockGroup Elements" and helps with seeking and error protection.
It is RECOMMENDED that the size of each individual "Cluster Element" It is RECOMMENDED that the size of each individual "Cluster Element"
be limited to store no more than 5 seconds or 5 megabytes. Every be limited to store no more than 5 seconds or 5 megabytes. Every
"Cluster Element" MUST contain a "Timecode Element". This SHOULD be "Cluster Element" MUST contain a "Timestamp Element". This SHOULD be
the "Timecode Element" used to play the first "Block" in the "Cluster the "Timestamp Element" used to play the first "Block" in the
Element". There SHOULD be one or more "BlockGroup" or "SimpleBlock "Cluster Element". There SHOULD be one or more "BlockGroup" or
Element" in each "Cluster Element". A "BlockGroup Element" MAY "SimpleBlock Element" in each "Cluster Element". A "BlockGroup
contain a "Block" of data and any information relating directly to Element" MAY contain a "Block" of data and any information relating
that "Block". directly to that "Block".
+--------------------------+ +--------------------------+
| Cluster | Timecode | | Cluster | Timestamp |
| |----------------| | |----------------|
| | SilentTracks | | | SilentTracks |
| |----------------| | |----------------|
| | Position | | | Position |
| |----------------| | |----------------|
| | PrevSize | | | PrevSize |
| |----------------| | |----------------|
| | SimpleBlock | | | SimpleBlock |
| |----------------| | |----------------|
| | BlockGroup | | | BlockGroup |
skipping to change at page 23, line 29 skipping to change at page 23, line 29
+--------------------------+ +--------------------------+
Representation of a Cluster Element and its immediate Child Elements. Representation of a Cluster Element and its immediate Child Elements.
+----------------------------------+ +----------------------------------+
| Block | Portion of | Data Type | | Block | Portion of | Data Type |
| | a Block | - Bit Flag | | | a Block | - Bit Flag |
| |--------------------------+ | |--------------------------+
| | Header | TrackNumber | | | Header | TrackNumber |
| | |-------------| | | |-------------|
| | | Timecode | | | | Timestamp |
| | |-------------| | | |-------------|
| | | Flags | | | | Flags |
| | | - Gap | | | | - Gap |
| | | - Lacing | | | | - Lacing |
| | | - Reserved | | | | - Reserved |
| |--------------------------| | |--------------------------|
| | Optional | FrameSize | | | Optional | FrameSize |
| |--------------------------| | |--------------------------|
| | Data | Frame | | | Data | Frame |
+----------------------------------+ +----------------------------------+
Representation of the Block Element structure. Representation of the Block Element structure.
Each "Cluster" MUST contain exactly one "Timecode Element". The Each "Cluster" MUST contain exactly one "Timestamp Element". The
"Timecode Element" value MUST be stored once per "Cluster". The "Timestamp Element" value MUST be stored once per "Cluster". The
"Timecode Element" in the "Cluster" is relative to the entire "Timestamp Element" in the "Cluster" is relative to the entire
"Segment". The "Timecode Element" SHOULD be the first "Element" in "Segment". The "Timestamp Element" SHOULD be the first "Element" in
the "Cluster". the "Cluster".
Additionally, the "Block" contains an offset that, when added to the Additionally, the "Block" contains an offset that, when added to the
"Cluster"'s "Timecode Element" value, yields the "Block"'s effective "Cluster"'s "Timestamp Element" value, yields the "Block"'s effective
timecode. Therefore, timecode in the "Block" itself is relative to timestamp. Therefore, timestamp in the "Block" itself is relative to
the "Timecode Element" in the "Cluster". For example, if the the "Timestamp Element" in the "Cluster". For example, if the
"Timecode Element" in the "Cluster" is set to 10 seconds and a "Timestamp Element" in the "Cluster" is set to 10 seconds and a
"Block" in that "Cluster" is supposed to be played 12 seconds into "Block" in that "Cluster" is supposed to be played 12 seconds into
the clip, the timecode in the "Block" would be set to 2 seconds. the clip, the timestamp in the "Block" would be set to 2 seconds.
The "ReferenceBlock" in the "BlockGroup" is used instead of the basic The "ReferenceBlock" in the "BlockGroup" is used instead of the basic
"P-frame"/"B-frame" description. Instead of simply saying that this "P-frame"/"B-frame" description. Instead of simply saying that this
"Block" depends on the "Block" directly before, or directly "Block" depends on the "Block" directly before, or directly
afterwards, the "Timecode" of the necessary "Block" is used. Because afterwards, the "Timestamp" of the necessary "Block" is used.
there can be as many "ReferenceBlock Elements" as necessary for a Because there can be as many "ReferenceBlock Elements" as necessary
"Block", it allows for some extremely complex referencing. for a "Block", it allows for some extremely complex referencing.
The "Cues Element" is used to seek when playing back a file by The "Cues Element" is used to seek when playing back a file by
providing a temporal index for some of the "Tracks". It is similar providing a temporal index for some of the "Tracks". It is similar
to the "SeekHead Element", but used for seeking to a specific time to the "SeekHead Element", but used for seeking to a specific time
when playing back the file. It is possible to seek without this when playing back the file. It is possible to seek without this
element, but it is much more difficult because a "Matroska Reader" element, but it is much more difficult because a "Matroska Reader"
would have to 'hunt and peck' through the file looking for the would have to 'hunt and peck' through the file looking for the
correct timecode. correct timestamp.
The "Cues Element" SHOULD contain at least one "CuePoint Element". The "Cues Element" SHOULD contain at least one "CuePoint Element".
Each "CuePoint Element" stores the position of the "Cluster" that Each "CuePoint Element" stores the position of the "Cluster" that
contains the "BlockGroup" or "SimpleBlock Element". The timecode is contains the "BlockGroup" or "SimpleBlock Element". The timestamp is
stored in the "CueTime Element" and location is stored in the stored in the "CueTime Element" and location is stored in the
"CueTrackPositions Element". "CueTrackPositions Element".
The "Cues Element" is flexible. For instance, "Cues Element" can be The "Cues Element" is flexible. For instance, "Cues Element" can be
used to index every single timecode of every "Block" or they can be used to index every single timestamp of every "Block" or they can be
indexed selectively. For video files, it is RECOMMENDED to index at indexed selectively. For video files, it is RECOMMENDED to index at
least the keyframes of the video track. least the keyframes of the video track.
+-------------------------------------+ +-------------------------------------+
| Cues | CuePoint | CueTime | | Cues | CuePoint | CueTime |
| | |-------------------| | | |-------------------|
| | | CueTrackPositions | | | | CueTrackPositions |
| |------------------------------| | |------------------------------|
| | CuePoint | CueTime | | | CuePoint | CueTime |
| | |-------------------| | | |-------------------|
skipping to change at page 26, line 34 skipping to change at page 26, line 34
| | | | TagString | | | | | TagString |
| | | |------------------| | | | |------------------|
| | | | TagBinary | | | | | TagBinary |
| | | |------------------| | | | |------------------|
| | | | SimpleTag | | | | | SimpleTag |
+-------------------------------------------+ +-------------------------------------------+
Representation of a Tags Element and three levels of its Children Representation of a Tags Element and three levels of its Children
Elements. Elements.
8. Matroska Schema 8. Matroska Additions to Schema Element Attributes
This specification includes an "EBML Schema" which defines the
Elements and structure of Matroska as an EBML Document Type. The
EBML Schema defines every valid Matroska element in a manner defined
by the EBML specification.
8.1. Matroska Additions to Schema Element Attributes
In addition to the EBML Schema definition provided by the EBML In addition to the EBML Schema definition provided by the EBML
Specification, Matroska adds the following additional attributes: Specification, Matroska adds the following additional attributes:
+-----------+----------+--------------------------------------------+ +-----------+----------+--------------------------------------------+
| attribute | required | definition | | attribute | required | definition |
| name | | | | name | | |
+-----------+----------+--------------------------------------------+ +-----------+----------+--------------------------------------------+
| webm | No | A boolean to express if the Matroska | | webm | No | A boolean to express if the Matroska |
| | | Element is also supported within version 2 | | | | Element is also supported within version 2 |
| | | of the "webm" specification. Please | | | | of the "webm" specification. Please |
| | | consider the webm specification [16] as | | | | consider the webm specification [16] as |
| | | the authoritative on "webm". | | | | the authoritative on "webm". |
+-----------+----------+--------------------------------------------+ +-----------+----------+--------------------------------------------+
8.2. Matroska Schema 9. Matroska Schema
Here the definition of each Matroska Element is provided. This specification includes an "EBML Schema" which defines the
Elements and structure of Matroska as an EBML Document Type. The
EBML Schema defines every valid Matroska element in a manner defined
by the EBML specification.
% concatenate with Matroska EBML Schema converted to markdown % Here the definition of each Matroska Element is provided.
8.2.1. EBMLMaxIDLength Element 9.1. EBMLMaxIDLength Element
name: "EBMLMaxIDLength" name: "EBMLMaxIDLength"
path: "1*1(\EBML\EBMLMaxIDLength)" path: "1*1(\EBML\EBMLMaxIDLength)"
id: "0x42F2" id: "0x42F2"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "4" range: "4"
default: "4" default: "4"
type: "uinteger" type: "uinteger"
8.2.2. EBMLMaxSizeLength Element 9.2. EBMLMaxSizeLength Element
name: "EBMLMaxSizeLength" name: "EBMLMaxSizeLength"
path: "1*1(\EBML\EBMLMaxSizeLength)" path: "1*1(\EBML\EBMLMaxSizeLength)"
id: "0x42F3" id: "0x42F3"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 28, line 4 skipping to change at page 27, line 45
path: "1*1(\EBML\EBMLMaxSizeLength)" path: "1*1(\EBML\EBMLMaxSizeLength)"
id: "0x42F3" id: "0x42F3"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "1-8" range: "1-8"
default: "8" default: "8"
type: "uinteger" type: "uinteger"
8.2.3. Segment Element 9.3. Segment Element
name: "Segment" name: "Segment"
path: "1*1(\Segment)" path: "1*1(\Segment)"
id: "0x18538067" id: "0x18538067"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 28, line 30 skipping to change at page 28, line 27
type: "master" type: "master"
unknownsizeallowed: "1" unknownsizeallowed: "1"
minver: "1" minver: "1"
documentation: The Root Element that contains all other Top-Level documentation: The Root Element that contains all other Top-Level
Elements (Elements defined only at Level 1). A Matroska file is Elements (Elements defined only at Level 1). A Matroska file is
composed of 1 Segment. composed of 1 Segment.
8.2.4. SeekHead Element 9.3.1. SeekHead Element
name: "SeekHead" name: "SeekHead"
path: "0*2(\Segment\SeekHead)" path: "0*2(\Segment\SeekHead)"
id: "0x114D9B74" id: "0x114D9B74"
maxOccurs: "2" maxOccurs: "2"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Contains the Segment Position of other Top-Level documentation: Contains the Segment Position of other Top-Level
Elements. Elements.
8.2.5. Seek Element 9.3.1.1. Seek Element
name: "Seek" name: "Seek"
path: "1*(\Segment\SeekHead\Seek)" path: "1*(\Segment\SeekHead\Seek)"
id: "0x4DBB" id: "0x4DBB"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Contains a single seek entry to an EBML Element. documentation: Contains a single seek entry to an EBML Element.
8.2.6. SeekID Element 9.3.1.1.1. SeekID Element
name: "SeekID" name: "SeekID"
path: "1*1(\Segment\SeekHead\Seek\SeekID)" path: "1*1(\Segment\SeekHead\Seek\SeekID)"
id: "0x53AB" id: "0x53AB"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: The binary ID corresponding to the Element name. documentation: The binary ID corresponding to the Element name.
8.2.7. SeekPosition Element 9.3.1.1.2. SeekPosition Element
name: "SeekPosition" name: "SeekPosition"
path: "1*1(\Segment\SeekHead\Seek\SeekPosition)" path: "1*1(\Segment\SeekHead\Seek\SeekPosition)"
id: "0x53AC" id: "0x53AC"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The Segment Position of the Element. documentation: The Segment Position of the Element.
8.2.8. Info Element 9.3.2. Info Element
name: "Info" name: "Info"
path: "1*(\Segment\Info)" path: "1*(\Segment\Info)"
id: "0x1549A966" id: "0x1549A966"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
definition: Contains general information about the Segment. definition: Contains general information about the Segment.
skipping to change at page 30, line 21 skipping to change at page 30, line 14
id: "0x1549A966" id: "0x1549A966"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
definition: Contains general information about the Segment. definition: Contains general information about the Segment.
8.2.9. SegmentUID Element 9.3.2.1. SegmentUID Element
name: "SegmentUID" name: "SegmentUID"
path: "0*1(\Segment\Info\SegmentUID)" path: "0*1(\Segment\Info\SegmentUID)"
id: "0x73A4" id: "0x73A4"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
skipping to change at page 30, line 45 skipping to change at page 30, line 38
type: "binary" type: "binary"
minver: "1" minver: "1"
definition: A randomly generated unique ID to identify the Segment definition: A randomly generated unique ID to identify the Segment
amongst many others (128 bits). amongst many others (128 bits).
usage notes: If the Segment is a part of a Linked Segment then this usage notes: If the Segment is a part of a Linked Segment then this
Element is REQUIRED. Element is REQUIRED.
8.2.10. SegmentFilename Element 9.3.2.2. SegmentFilename Element
name: "SegmentFilename" name: "SegmentFilename"
path: "0*1(\Segment\Info\SegmentFilename)" path: "0*1(\Segment\Info\SegmentFilename)"
id: "0x7384" id: "0x7384"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "1" minver: "1"
definition: A filename corresponding to this Segment. definition: A filename corresponding to this Segment.
8.2.11. PrevUID Element 9.3.2.3. PrevUID Element
name: "PrevUID" name: "PrevUID"
path: "0*1(\Segment\Info\PrevUID)" path: "0*1(\Segment\Info\PrevUID)"
id: "0x3CB923" id: "0x3CB923"
maxOccurs: "1" maxOccurs: "1"
size: "16" size: "16"
skipping to change at page 31, line 37 skipping to change at page 31, line 31
definition: A unique ID to identify the previous Segment of a Linked definition: A unique ID to identify the previous Segment of a Linked
Segment (128 bits). Segment (128 bits).
usage notes: If the Segment is a part of a Linked Segment that uses usage notes: If the Segment is a part of a Linked Segment that uses
Hard Linking then either the PrevUID or the NextUID Element is Hard Linking then either the PrevUID or the NextUID Element is
REQUIRED. If a Segment contains a PrevUID but not a NextUID then it REQUIRED. If a Segment contains a PrevUID but not a NextUID then it
MAY be considered as the last Segment of the Linked Segment. The MAY be considered as the last Segment of the Linked Segment. The
PrevUID MUST NOT be equal to the SegmentUID. PrevUID MUST NOT be equal to the SegmentUID.
8.2.12. PrevFilename Element 9.3.2.4. PrevFilename Element
name: "PrevFilename" name: "PrevFilename"
path: "0*1(\Segment\Info\PrevFilename)" path: "0*1(\Segment\Info\PrevFilename)"
id: "0x3C83AB" id: "0x3C83AB"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
skipping to change at page 32, line 4 skipping to change at page 31, line 44
path: "0*1(\Segment\Info\PrevFilename)" path: "0*1(\Segment\Info\PrevFilename)"
id: "0x3C83AB" id: "0x3C83AB"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "1" minver: "1"
definition: A filename corresponding to the file of the previous definition: A filename corresponding to the file of the previous
Linked Segment. Linked Segment.
usage notes: Provision of the previous filename is for display usage notes: Provision of the previous filename is for display
convenience, but PrevUID SHOULD be considered authoritative for convenience, but PrevUID SHOULD be considered authoritative for
identifying the previous Segment in a Linked Segment. identifying the previous Segment in a Linked Segment.
8.2.13. NextUID Element 9.3.2.5. NextUID Element
name: "NextUID" name: "NextUID"
path: "0*1(\Segment\Info\NextUID)" path: "0*1(\Segment\Info\NextUID)"
id: "0x3EB923" id: "0x3EB923"
maxOccurs: "1" maxOccurs: "1"
size: "16" size: "16"
skipping to change at page 32, line 36 skipping to change at page 32, line 30
definition: A unique ID to identify the next Segment of a Linked definition: A unique ID to identify the next Segment of a Linked
Segment (128 bits). Segment (128 bits).
usage notes: If the Segment is a part of a Linked Segment that uses usage notes: If the Segment is a part of a Linked Segment that uses
Hard Linking then either the PrevUID or the NextUID Element is Hard Linking then either the PrevUID or the NextUID Element is
REQUIRED. If a Segment contains a NextUID but not a PrevUID then it REQUIRED. If a Segment contains a NextUID but not a PrevUID then it
MAY be considered as the first Segment of the Linked Segment. The MAY be considered as the first Segment of the Linked Segment. The
NextUID MUST NOT be equal to the SegmentUID. NextUID MUST NOT be equal to the SegmentUID.
8.2.14. NextFilename Element 9.3.2.6. NextFilename Element
name: "NextFilename" name: "NextFilename"
path: "0*1(\Segment\Info\NextFilename)" path: "0*1(\Segment\Info\NextFilename)"
id: "0x3E83BB" id: "0x3E83BB"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "1" minver: "1"
definition: A filename corresponding to the file of the next Linked definition: A filename corresponding to the file of the next Linked
Segment. Segment.
usage notes: Provision of the next filename is for display usage notes: Provision of the next filename is for display
convenience, but NextUID SHOULD be considered authoritative for convenience, but NextUID SHOULD be considered authoritative for
identifying the Next Segment. identifying the Next Segment.
8.2.15. SegmentFamily Element 9.3.2.7. SegmentFamily Element
name: "SegmentFamily" name: "SegmentFamily"
path: "0*(\Segment\Info\SegmentFamily)" path: "0*(\Segment\Info\SegmentFamily)"
id: "0x4444" id: "0x4444"
size: "16" size: "16"
type: "binary" type: "binary"
minver: "1" minver: "1"
definition: A randomly generated unique ID that all Segments of a definition: A randomly generated unique ID that all Segments of a
Linked Segment MUST share (128 bits). Linked Segment MUST share (128 bits).
usage notes: If the Segment is a part of a Linked Segment that uses usage notes: If the Segment is a part of a Linked Segment that uses
Soft Linking then this Element is REQUIRED. Soft Linking then this Element is REQUIRED.
8.2.16. ChapterTranslate Element 9.3.2.8. ChapterTranslate Element
name: "ChapterTranslate" name: "ChapterTranslate"
path: "0*(\Segment\Info\ChapterTranslate)" path: "0*(\Segment\Info\ChapterTranslate)"
id: "0x6924" id: "0x6924"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: A tuple of corresponding ID used by chapter codecs to documentation: A tuple of corresponding ID used by chapter codecs to
represent this Segment. represent this Segment.
8.2.17. ChapterTranslateEditionUID Element 9.3.2.8.1. ChapterTranslateEditionUID Element
name: "ChapterTranslateEditionUID" name: "ChapterTranslateEditionUID"
path: "0*(\Segment\Info\ChapterTranslate\ChapterTranslateEditionUID)" path: "0*(\Segment\Info\ChapterTranslate\ChapterTranslateEditionUID)"
id: "0x69FC" id: "0x69FC"
type: "uinteger" type: "uinteger"
minver: "1"
minver: "1"
documentation: Specify an edition UID on which this correspondance documentation: Specify an edition UID on which this correspondance
applies. When not specified, it means for all editions found in the applies. When not specified, it means for all editions found in the
Segment. Segment.
8.2.18. ChapterTranslateCodec Element 9.3.2.8.2. ChapterTranslateCodec Element
name: "ChapterTranslateCodec" name: "ChapterTranslateCodec"
path: "1*1(\Segment\Info\ChapterTranslate\ChapterTranslateCodec)" path: "1*1(\Segment\Info\ChapterTranslate\ChapterTranslateCodec)"
id: "0x69BF" id: "0x69BF"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The chapter codec documentation: The chapter codec
8.2.19. ChapterTranslateID Element restrictions:
+-------+-----------------+
| value | label |
+-------+-----------------+
| "0" | Matroska Script |
| "1" | DVD-menu |
+-------+-----------------+
9.3.2.8.3. ChapterTranslateID Element
name: "ChapterTranslateID" name: "ChapterTranslateID"
path: "1*1(\Segment\Info\ChapterTranslate\ChapterTranslateID)" path: "1*1(\Segment\Info\ChapterTranslate\ChapterTranslateID)"
id: "0x69A5" id: "0x69A5"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 34, line 43 skipping to change at page 35, line 4
id: "0x69A5" id: "0x69A5"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: The binary value used to represent this Segment in the documentation: The binary value used to represent this Segment in the
chapter codec data. The format depends on the ChapProcessCodecID chapter codec data. The format depends on the ChapProcessCodecID
used. used.
8.2.20. TimecodeScale Element 9.3.2.9. TimestampScale Element
name: "TimecodeScale" name: "TimestampScale"
path: "1*1(\Segment\Info\TimecodeScale)" path: "1*1(\Segment\Info\TimestampScale)"
id: "0x2AD7B1" id: "0x2AD7B1"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
default: "1000000" default: "1000000"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Timestamp scale in nanoseconds (1.000.000 means all documentation: Timestamp scale in nanoseconds (1.000.000 means all
timestamps in the Segment are expressed in milliseconds). timestamps in the Segment are expressed in milliseconds).
8.2.21. Duration Element 9.3.2.10. Duration Element
name: "Duration" name: "Duration"
path: "0*1(\Segment\Info\Duration)" path: "0*1(\Segment\Info\Duration)"
id: "0x4489" id: "0x4489"
maxOccurs: "1" maxOccurs: "1"
range: "> 0x0p+0" range: "> 0x0p+0"
type: "float" type: "float"
minver: "1" minver: "1"
definition: Duration of the Segment in nanoseconds based on definition: Duration of the Segment in nanoseconds based on
TimecodeScale. TimestampScale.
8.2.22. DateUTC Element 9.3.2.11. DateUTC Element
name: "DateUTC" name: "DateUTC"
path: "0*1(\Segment\Info\DateUTC)" path: "0*1(\Segment\Info\DateUTC)"
id: "0x4461" id: "0x4461"
maxOccurs: "1" maxOccurs: "1"
type: "date" type: "date"
minver: "1" minver: "1"
documentation: The date and time that the Segment was created by the documentation: The date and time that the Segment was created by the
muxing application or library. muxing application or library.
skipping to change at page 36, line 15 skipping to change at page 36, line 22
maxOccurs: "1" maxOccurs: "1"
type: "date" type: "date"
minver: "1" minver: "1"
documentation: The date and time that the Segment was created by the documentation: The date and time that the Segment was created by the
muxing application or library. muxing application or library.
8.2.23. Title Element 9.3.2.12. Title Element
name: "Title" name: "Title"
path: "0*1(\Segment\Info\Title)" path: "0*1(\Segment\Info\Title)"
id: "0x7BA9" id: "0x7BA9"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "1" minver: "1"
documentation: General name of the Segment. documentation: General name of the Segment.
8.2.24. MuxingApp Element 9.3.2.13. MuxingApp Element
name: "MuxingApp" name: "MuxingApp"
path: "1*1(\Segment\Info\MuxingApp)" path: "1*1(\Segment\Info\MuxingApp)"
id: "0x4D80" id: "0x4D80"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 36, line 46 skipping to change at page 37, line 4
id: "0x4D80" id: "0x4D80"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "1" minver: "1"
definition: Muxing application or library (example: "libmatroska- definition: Muxing application or library (example: "libmatroska-
0.4.3"). 0.4.3").
usage notes: Include the full name of the application or library usage notes: Include the full name of the application or library
followed by the version number. followed by the version number.
8.2.25. WritingApp Element 9.3.2.14. WritingApp Element
name: "WritingApp" name: "WritingApp"
path: "1*1(\Segment\Info\WritingApp)" path: "1*1(\Segment\Info\WritingApp)"
id: "0x5741" id: "0x5741"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "1" minver: "1"
definition: Writing application (example: "mkvmerge-0.3.3"). definition: Writing application (example: "mkvmerge-0.3.3").
usage notes: Include the full name of the application followed by the usage notes: Include the full name of the application followed by the
version number. version number.
8.2.26. Cluster Element 9.3.3. Cluster Element
name: "Cluster" name: "Cluster"
path: "0*(\Segment\Cluster)" path: "0*(\Segment\Cluster)"
id: "0x1F43B675" id: "0x1F43B675"
type: "master" type: "master"
unknownsizeallowed: "1" unknownsizeallowed: "1"
minver: "1" minver: "1"
documentation: The Top-Level Element containing the (monolithic) documentation: The Top-Level Element containing the (monolithic)
Block structure. Block structure.
8.2.27. Timecode Element 9.3.3.1. Timestamp Element
name: "Timecode" name: "Timestamp"
path: "1*1(\Segment\Cluster\Timecode)" path: "1*1(\Segment\Cluster\Timestamp)"
id: "0xE7" id: "0xE7"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Absolute timestamp of the cluster (based on documentation: Absolute timestamp of the cluster (based on
TimecodeScale). TimestampScale).
8.2.28. SilentTracks Element 9.3.3.2. SilentTracks Element
name: "SilentTracks" name: "SilentTracks"
path: "0*1(\Segment\Cluster\SilentTracks)" path: "0*1(\Segment\Cluster\SilentTracks)"
id: "0x5854" id: "0x5854"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: The list of tracks that are not used in that part of documentation: The list of tracks that are not used in that part of
the stream. It is useful when using overlay tracks on seeking or to the stream. It is useful when using overlay tracks on seeking or to
decide what track to use. decide what track to use.
8.2.29. SilentTrackNumber Element 9.3.3.2.1. SilentTrackNumber Element
name: "SilentTrackNumber" name: "SilentTrackNumber"
path: "0*(\Segment\Cluster\SilentTracks\SilentTrackNumber)" path: "0*(\Segment\Cluster\SilentTracks\SilentTrackNumber)"
id: "0x58D7" id: "0x58D7"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
skipping to change at page 38, line 42 skipping to change at page 39, line 4
name: "SilentTrackNumber" name: "SilentTrackNumber"
path: "0*(\Segment\Cluster\SilentTracks\SilentTrackNumber)" path: "0*(\Segment\Cluster\SilentTracks\SilentTrackNumber)"
id: "0x58D7" id: "0x58D7"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: One of the track number that are not used from now on documentation: One of the track number that are not used from now on
in the stream. It could change later if not specified as silent in a in the stream. It could change later if not specified as silent in a
further Cluster. further Cluster.
8.2.30. Position Element 9.3.3.3. Position Element
name: "Position" name: "Position"
path: "0*1(\Segment\Cluster\Position)" path: "0*1(\Segment\Cluster\Position)"
id: "0xA7" id: "0xA7"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The Segment Position of the Cluster in the Segment (0 documentation: The Segment Position of the Cluster in the Segment (0
in live broadcast streams). It might help to resynchronise offset on in live broadcast streams). It might help to resynchronise offset on
skipping to change at page 39, line 16 skipping to change at page 39, line 26
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The Segment Position of the Cluster in the Segment (0 documentation: The Segment Position of the Cluster in the Segment (0
in live broadcast streams). It might help to resynchronise offset on in live broadcast streams). It might help to resynchronise offset on
damaged streams. damaged streams.
8.2.31. PrevSize Element 9.3.3.4. PrevSize Element
name: "PrevSize" name: "PrevSize"
path: "0*1(\Segment\Cluster\PrevSize)" path: "0*1(\Segment\Cluster\PrevSize)"
id: "0xAB" id: "0xAB"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Size of the previous Cluster, in octets. Can be documentation: Size of the previous Cluster, in octets. Can be
useful for backward playing. useful for backward playing.
8.2.32. SimpleBlock Element 9.3.3.5. SimpleBlock Element
name: "SimpleBlock" name: "SimpleBlock"
path: "0*(\Segment\Cluster\SimpleBlock)" path: "0*(\Segment\Cluster\SimpleBlock)"
id: "0xA3" id: "0xA3"
type: "binary" type: "binary"
minver: "2" minver: "2"
documentation: Similar to Block but without all the extra documentation: Similar to Block but without all the extra
information, mostly used to reduced overhead when no extra feature is information, mostly used to reduced overhead when no extra feature is
needed. (see SimpleBlock Structure) needed. (see SimpleBlock Structure)
8.2.33. BlockGroup Element 9.3.3.6. BlockGroup Element
name: "BlockGroup" name: "BlockGroup"
path: "0*(\Segment\Cluster\BlockGroup)" path: "0*(\Segment\Cluster\BlockGroup)"
id: "0xA0" id: "0xA0"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Basic container of information containing a single documentation: Basic container of information containing a single
Block and information specific to that Block. Block and information specific to that Block.
8.2.34. Block Element 9.3.3.6.1. Block Element
name: "Block" name: "Block"
path: "1*1(\Segment\Cluster\BlockGroup\Block)" path: "1*1(\Segment\Cluster\BlockGroup\Block)"
id: "0xA1" id: "0xA1"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: Block containing the actual data to be rendered and a documentation: Block containing the actual data to be rendered and a
timestamp relative to the Cluster Timecode. (see Block Structure) timestamp relative to the Cluster Timestamp. (see Block Structure)
8.2.35. BlockVirtual Element 9.3.3.6.2. BlockVirtual Element
name: "BlockVirtual" name: "BlockVirtual"
path: "0*1(\Segment\Cluster\BlockGroup\BlockVirtual)" path: "0*1(\Segment\Cluster\BlockGroup\BlockVirtual)"
id: "0xA2" id: "0xA2"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: A Block with no data. It MUST be stored in the stream documentation: A Block with no data. It MUST be stored in the stream
at the place the real Block would be in display order. (see Block at the place the real Block would be in display order. (see Block
Virtual) Virtual)
8.2.36. BlockAdditions Element 9.3.3.6.3. BlockAdditions Element
name: "BlockAdditions" name: "BlockAdditions"
path: "0*1(\Segment\Cluster\BlockGroup\BlockAdditions)" path: "0*1(\Segment\Cluster\BlockGroup\BlockAdditions)"
id: "0x75A1" id: "0x75A1"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Contain additional blocks to complete the main one. documentation: Contain additional blocks to complete the main one.
An EBML parser that has no knowledge of the Block structure could An EBML parser that has no knowledge of the Block structure could
still see and use/skip these data. still see and use/skip these data.
8.2.37. BlockMore Element 9.3.3.6.3.1. BlockMore Element
name: "BlockMore" name: "BlockMore"
path: "1*(\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore)" path: "1*(\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore)"
id: "0xA6" id: "0xA6"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Contain the BlockAdditional and some parameters. documentation: Contain the BlockAdditional and some parameters.
8.2.38. BlockAddID Element 9.3.3.6.3.2. BlockAddID Element
name: "BlockAddID" name: "BlockAddID"
path: "1*1(\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore\Block path: "1*1(\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore\Block
AddID)" AddID)"
id: "0xEE" id: "0xEE"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
default: "1" default: "1"
type: "uinteger" type: "uinteger"
skipping to change at page 42, line 18 skipping to change at page 42, line 28
range: "not 0" range: "not 0"
default: "1" default: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: An ID to identify the BlockAdditional level. documentation: An ID to identify the BlockAdditional level.
8.2.39. BlockAdditional Element 9.3.3.6.3.3. BlockAdditional Element
name: "BlockAdditional" name: "BlockAdditional"
path: "1*1(\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore\Block path: "1*1(\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore\Block
Additional)" Additional)"
id: "0xA5" id: "0xA5"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: Interpreted by the codec as it wishes (using the documentation: Interpreted by the codec as it wishes (using the
BlockAddID). BlockAddID).
8.2.40. BlockDuration Element 9.3.3.6.4. BlockDuration Element
name: "BlockDuration" name: "BlockDuration"
path: "0*1(\Segment\Cluster\BlockGroup\BlockDuration)" path: "0*1(\Segment\Cluster\BlockGroup\BlockDuration)"
id: "0x9B" id: "0x9B"
maxOccurs: "1" maxOccurs: "1"
default: "DefaultDuration" default: "DefaultDuration"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The duration of the Block (based on TimecodeScale). documentation: The duration of the Block (based on TimestampScale).
This Element is mandatory when DefaultDuration is set for the track This Element is mandatory when DefaultDuration is set for the track
(but can be omitted as other default values). When not written and (but can be omitted as other default values). When not written and
with no DefaultDuration, the value is assumed to be the difference with no DefaultDuration, the value is assumed to be the difference
between the timestamp of this Block and the timestamp of the next between the timestamp of this Block and the timestamp of the next
Block in "display" order (not coding order). This Element can be Block in "display" order (not coding order). This Element can be
useful at the end of a Track (as there is not other Block available), useful at the end of a Track (as there is not other Block available),
or when there is a break in a track like for subtitle tracks. or when there is a break in a track like for subtitle tracks.
8.2.41. ReferencePriority Element 9.3.3.6.5. ReferencePriority Element
name: "ReferencePriority" name: "ReferencePriority"
path: "1*1(\Segment\Cluster\BlockGroup\ReferencePriority)" path: "1*1(\Segment\Cluster\BlockGroup\ReferencePriority)"
id: "0xFA" id: "0xFA"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 43, line 37 skipping to change at page 43, line 45
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: This frame is referenced and has the specified cache documentation: This frame is referenced and has the specified cache
priority. In cache only a frame of the same or higher priority can priority. In cache only a frame of the same or higher priority can
replace this frame. A value of 0 means the frame is not referenced. replace this frame. A value of 0 means the frame is not referenced.
8.2.42. ReferenceBlock Element 9.3.3.6.6. ReferenceBlock Element
name: "ReferenceBlock" name: "ReferenceBlock"
path: "0*(\Segment\Cluster\BlockGroup\ReferenceBlock)" path: "0*(\Segment\Cluster\BlockGroup\ReferenceBlock)"
id: "0xFB" id: "0xFB"
type: "integer" type: "integer"
minver: "1" minver: "1"
documentation: Timestamp of another frame used as a reference (ie: B documentation: Timestamp of another frame used as a reference (ie: B
or P frame). The timestamp is relative to the block it's attached or P frame). The timestamp is relative to the block it's attached
to. to.
8.2.43. ReferenceVirtual Element 9.3.3.6.7. ReferenceVirtual Element
name: "ReferenceVirtual" name: "ReferenceVirtual"
path: "0*1(\Segment\Cluster\BlockGroup\ReferenceVirtual)" path: "0*1(\Segment\Cluster\BlockGroup\ReferenceVirtual)"
id: "0xFD" id: "0xFD"
maxOccurs: "1" maxOccurs: "1"
type: "integer" type: "integer"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: The Segment Position of the data that would otherwise documentation: The Segment Position of the data that would otherwise
be in position of the virtual block. be in position of the virtual block.
8.2.44. CodecState Element 9.3.3.6.8. CodecState Element
name: "CodecState" name: "CodecState"
path: "0*1(\Segment\Cluster\BlockGroup\CodecState)" path: "0*1(\Segment\Cluster\BlockGroup\CodecState)"
id: "0xA4" id: "0xA4"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "2" minver: "2"
documentation: The new codec state to use. Data interpretation is documentation: The new codec state to use. Data interpretation is
private to the codec. This information SHOULD always be referenced private to the codec. This information SHOULD always be referenced
by a seek entry. by a seek entry.
8.2.45. DiscardPadding Element 9.3.3.6.9. DiscardPadding Element
name: "DiscardPadding" name: "DiscardPadding"
path: "0*1(\Segment\Cluster\BlockGroup\DiscardPadding)" path: "0*1(\Segment\Cluster\BlockGroup\DiscardPadding)"
id: "0x75A2" id: "0x75A2"
maxOccurs: "1" maxOccurs: "1"
type: "integer" type: "integer"
skipping to change at page 45, line 4 skipping to change at page 45, line 16
name: "DiscardPadding" name: "DiscardPadding"
path: "0*1(\Segment\Cluster\BlockGroup\DiscardPadding)" path: "0*1(\Segment\Cluster\BlockGroup\DiscardPadding)"
id: "0x75A2" id: "0x75A2"
maxOccurs: "1" maxOccurs: "1"
type: "integer" type: "integer"
minver: "4" minver: "4"
documentation: Duration in nanoseconds of the silent data added to documentation: Duration in nanoseconds of the silent data added to
the Block (padding at the end of the Block for positive value, at the the Block (padding at the end of the Block for positive value, at the
beginning of the Block for negative value). The duration of beginning of the Block for negative value). The duration of
DiscardPadding is not calculated in the duration of the TrackEntry DiscardPadding is not calculated in the duration of the TrackEntry
and SHOULD be discarded during playback. and SHOULD be discarded during playback.
8.2.46. Slices Element 9.3.3.6.10. Slices Element
name: "Slices" name: "Slices"
path: "0*1(\Segment\Cluster\BlockGroup\Slices)" path: "0*1(\Segment\Cluster\BlockGroup\Slices)"
id: "0x8E" id: "0x8E"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Contains slices description. documentation: Contains slices description.
8.2.47. TimeSlice Element 9.3.3.6.10.1. TimeSlice Element
name: "TimeSlice" name: "TimeSlice"
path: "0*(\Segment\Cluster\BlockGroup\Slices\TimeSlice)" path: "0*(\Segment\Cluster\BlockGroup\Slices\TimeSlice)"
id: "0xE8" id: "0xE8"
type: "master" type: "master"
minver: "1" minver: "1"
skipping to change at page 45, line 39 skipping to change at page 46, line 4
name: "TimeSlice" name: "TimeSlice"
path: "0*(\Segment\Cluster\BlockGroup\Slices\TimeSlice)" path: "0*(\Segment\Cluster\BlockGroup\Slices\TimeSlice)"
id: "0xE8" id: "0xE8"
type: "master" type: "master"
minver: "1" minver: "1"
maxver: "1" maxver: "1"
documentation: Contains extra time information about the data documentation: Contains extra time information about the data
contained in the Block. Being able to interpret this Element is not contained in the Block. Being able to interpret this Element is not
REQUIRED for playback. REQUIRED for playback.
8.2.48. LaceNumber Element 9.3.3.6.10.2. LaceNumber Element
name: "LaceNumber" name: "LaceNumber"
path: "0*1(\Segment\Cluster\BlockGroup\Slices\TimeSlice\LaceNumber)" path: "0*1(\Segment\Cluster\BlockGroup\Slices\TimeSlice\LaceNumber)"
id: "0xCC" id: "0xCC"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
skipping to change at page 46, line 20 skipping to change at page 46, line 32
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
maxver: "1" maxver: "1"
documentation: The reverse number of the frame in the lace (0 is the documentation: The reverse number of the frame in the lace (0 is the
last frame, 1 is the next to last, etc). Being able to interpret last frame, 1 is the next to last, etc). Being able to interpret
this Element is not REQUIRED for playback. this Element is not REQUIRED for playback.
8.2.49. FrameNumber Element 9.3.3.6.10.3. FrameNumber Element
name: "FrameNumber" name: "FrameNumber"
path: "0*1(\Segment\Cluster\BlockGroup\Slices\TimeSlice\FrameNumber)" path: "0*1(\Segment\Cluster\BlockGroup\Slices\TimeSlice\FrameNumber)"
id: "0xCD" id: "0xCD"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
skipping to change at page 46, line 37 skipping to change at page 47, line 4
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: The number of the frame to generate from this lace documentation: The number of the frame to generate from this lace
with this delay (allow you to generate many frames from the same with this delay (allow you to generate many frames from the same
Block/Frame). Block/Frame).
8.2.50. BlockAdditionID Element 9.3.3.6.10.4. BlockAdditionID Element
name: "BlockAdditionID" name: "BlockAdditionID"
path: path:
"0*1(\Segment\Cluster\BlockGroup\Slices\TimeSlice\BlockAdditionID)" "0*1(\Segment\Cluster\BlockGroup\Slices\TimeSlice\BlockAdditionID)"
id: "0xCB" id: "0xCB"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: The ID of the BlockAdditional Element (0 is the main documentation: The ID of the BlockAdditional Element (0 is the main
Block). Block).
skipping to change at page 47, line 15 skipping to change at page 47, line 30
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: The ID of the BlockAdditional Element (0 is the main documentation: The ID of the BlockAdditional Element (0 is the main
Block). Block).
8.2.51. Delay Element 9.3.3.6.10.5. Delay Element
name: "Delay" name: "Delay"
path: "0*1(\Segment\Cluster\BlockGroup\Slices\TimeSlice\Delay)" path: "0*1(\Segment\Cluster\BlockGroup\Slices\TimeSlice\Delay)"
id: "0xCE" id: "0xCE"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: The (scaled) delay to apply to the Element. documentation: The (scaled) delay to apply to the Element.
8.2.52. SliceDuration Element 9.3.3.6.10.6. SliceDuration Element
name: "SliceDuration" name: "SliceDuration"
path: path:
"0*1(\Segment\Cluster\BlockGroup\Slices\TimeSlice\SliceDuration)" "0*1(\Segment\Cluster\BlockGroup\Slices\TimeSlice\SliceDuration)"
id: "0xCF" id: "0xCF"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 48, line 4 skipping to change at page 48, line 21
id: "0xCF" id: "0xCF"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: The (scaled) duration to apply to the Element. documentation: The (scaled) duration to apply to the Element.
8.2.53. ReferenceFrame Element 9.3.3.6.11. ReferenceFrame Element
name: "ReferenceFrame" name: "ReferenceFrame"
path: "0*1(\Segment\Cluster\BlockGroup\ReferenceFrame)" path: "0*1(\Segment\Cluster\BlockGroup\ReferenceFrame)"
id: "0xC8" id: "0xC8"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX trick track extensions documentation: DivX trick track extensions
8.2.54. ReferenceOffset Element 9.3.3.6.11.1. ReferenceOffset Element
name: "ReferenceOffset" name: "ReferenceOffset"
path: path:
"1*1(\Segment\Cluster\BlockGroup\ReferenceFrame\ReferenceOffset)" "1*1(\Segment\Cluster\BlockGroup\ReferenceFrame\ReferenceOffset)"
id: "0xC9" id: "0xC9"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
skipping to change at page 48, line 47 skipping to change at page 49, line 16
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX trick track extensions documentation: DivX trick track extensions
8.2.55. ReferenceTimeCode Element 9.3.3.6.11.2. ReferenceTimestamp Element
name: "ReferenceTimestamp"
name: "ReferenceTimeCode"
path: path:
"1*1(\Segment\Cluster\BlockGroup\ReferenceFrame\ReferenceTimeCode)" "1*1(\Segment\Cluster\BlockGroup\ReferenceFrame\ReferenceTimestamp)"
id: "0xCA" id: "0xCA"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX trick track extensions documentation: DivX trick track extensions
8.2.56. EncryptedBlock Element 9.3.3.7. EncryptedBlock Element
name: "EncryptedBlock" name: "EncryptedBlock"
path: "0*(\Segment\Cluster\EncryptedBlock)" path: "0*(\Segment\Cluster\EncryptedBlock)"
id: "0xAF" id: "0xAF"
type: "binary" type: "binary"
minver: "0" minver: "0"
skipping to change at page 49, line 34 skipping to change at page 50, line 4
path: "0*(\Segment\Cluster\EncryptedBlock)" path: "0*(\Segment\Cluster\EncryptedBlock)"
id: "0xAF" id: "0xAF"
type: "binary" type: "binary"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: Similar to SimpleBlock but the data inside the Block documentation: Similar to SimpleBlock but the data inside the Block
are Transformed (encrypt and/or signed). (see EncryptedBlock are Transformed (encrypt and/or signed). (see EncryptedBlock
Structure) Structure)
8.2.57. Tracks Element 9.3.4. Tracks Element
name: "Tracks" name: "Tracks"
path: "0*(\Segment\Tracks)" path: "0*(\Segment\Tracks)"
id: "0x1654AE6B" id: "0x1654AE6B"
type: "master" type: "master"
minver: "1" minver: "1"
skipping to change at page 50, line 4 skipping to change at page 50, line 19
name: "Tracks" name: "Tracks"
path: "0*(\Segment\Tracks)" path: "0*(\Segment\Tracks)"
id: "0x1654AE6B" id: "0x1654AE6B"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: A Top-Level Element of information with many tracks documentation: A Top-Level Element of information with many tracks
described. described.
8.2.58. TrackEntry Element 9.3.4.1. TrackEntry Element
name: "TrackEntry" name: "TrackEntry"
path: "1*(\Segment\Tracks\TrackEntry)" path: "1*(\Segment\Tracks\TrackEntry)"
id: "0xAE" id: "0xAE"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Describes a track with all Elements. documentation: Describes a track with all Elements.
8.2.59. TrackNumber Element 9.3.4.1.1. TrackNumber Element
name: "TrackNumber" name: "TrackNumber"
path: "1*1(\Segment\Tracks\TrackEntry\TrackNumber)" path: "1*1(\Segment\Tracks\TrackEntry\TrackNumber)"
id: "0xD7" id: "0xD7"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 50, line 36 skipping to change at page 51, line 4
path: "1*1(\Segment\Tracks\TrackEntry\TrackNumber)" path: "1*1(\Segment\Tracks\TrackEntry\TrackNumber)"
id: "0xD7" id: "0xD7"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The track number as used in the Block Header (using documentation: The track number as used in the Block Header (using
more than 127 tracks is not encouraged, though the design allows an more than 127 tracks is not encouraged, though the design allows an
unlimited number). unlimited number).
8.2.60. TrackUID Element 9.3.4.1.2. TrackUID Element
name: "TrackUID" name: "TrackUID"
path: "1*1(\Segment\Tracks\TrackEntry\TrackUID)" path: "1*1(\Segment\Tracks\TrackEntry\TrackUID)"
id: "0x73C5" id: "0x73C5"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
skipping to change at page 51, line 18 skipping to change at page 51, line 34
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: A unique ID to identify the Track. This SHOULD be documentation: A unique ID to identify the Track. This SHOULD be
kept the same when making a direct stream copy of the Track to kept the same when making a direct stream copy of the Track to
another file. another file.
8.2.61. TrackType Element 9.3.4.1.3. TrackType Element
name: "TrackType" name: "TrackType"
path: "1*1(\Segment\Tracks\TrackEntry\TrackType)" path: "1*1(\Segment\Tracks\TrackEntry\TrackType)"
id: "0x83" id: "0x83"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 51, line 35 skipping to change at page 52, line 4
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "1-254" range: "1-254"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: A set of track types coded on 8 bits. documentation: A set of track types coded on 8 bits.
8.2.62. FlagEnabled Element restrictions:
+-------+----------+
| value | label |
+-------+----------+
| "1" | video |
| "2" | audio |
| "3" | complex |
| "16" | logo |
| "17" | subtitle |
| "18" | buttons |
| "32" | control |
+-------+----------+
9.3.4.1.4. FlagEnabled Element
name: "FlagEnabled" name: "FlagEnabled"
path: "1*1(\Segment\Tracks\TrackEntry\FlagEnabled)" path: "1*1(\Segment\Tracks\TrackEntry\FlagEnabled)"
id: "0xB9" id: "0xB9"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 52, line 4 skipping to change at page 52, line 33
path: "1*1(\Segment\Tracks\TrackEntry\FlagEnabled)" path: "1*1(\Segment\Tracks\TrackEntry\FlagEnabled)"
id: "0xB9" id: "0xB9"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
default: "1" default: "1"
type: "uinteger" type: "uinteger"
minver: "2" minver: "2"
documentation: Set if the track is usable. (1 bit) documentation: Set if the track is usable. (1 bit)
8.2.63. FlagDefault Element 9.3.4.1.5. FlagDefault Element
name: "FlagDefault" name: "FlagDefault"
path: "1*1(\Segment\Tracks\TrackEntry\FlagDefault)" path: "1*1(\Segment\Tracks\TrackEntry\FlagDefault)"
id: "0x88" id: "0x88"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
default: "1" default: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
skipping to change at page 52, line 35 skipping to change at page 53, line 17
default: "1" default: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Set if that track (audio, video or subs) SHOULD be documentation: Set if that track (audio, video or subs) SHOULD be
active if no language found matches the user preference. (1 bit) active if no language found matches the user preference. (1 bit)
8.2.64. FlagForced Element 9.3.4.1.6. FlagForced Element
name: "FlagForced" name: "FlagForced"
path: "1*1(\Segment\Tracks\TrackEntry\FlagForced)" path: "1*1(\Segment\Tracks\TrackEntry\FlagForced)"
id: "0x55AA" id: "0x55AA"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 53, line 4 skipping to change at page 53, line 34
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Set if that track MUST be active during playback. documentation: Set if that track MUST be active during playback.
There can be many forced track for a kind (audio, video or subs), the There can be many forced track for a kind (audio, video or subs), the
player SHOULD select the one which language matches the user player SHOULD select the one which language matches the user
preference or the default + forced track. Overlay MAY happen between preference or the default + forced track. Overlay MAY happen between
a forced and non-forced track of the same kind. (1 bit) a forced and non-forced track of the same kind. (1 bit)
8.2.65. FlagLacing Element 9.3.4.1.7. FlagLacing Element
name: "FlagLacing" name: "FlagLacing"
path: "1*1(\Segment\Tracks\TrackEntry\FlagLacing)" path: "1*1(\Segment\Tracks\TrackEntry\FlagLacing)"
id: "0x9C" id: "0x9C"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
default: "1" default: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
skipping to change at page 53, line 35 skipping to change at page 54, line 17
default: "1" default: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Set if the track MAY contain blocks using lacing. (1 documentation: Set if the track MAY contain blocks using lacing. (1
bit) bit)
8.2.66. MinCache Element 9.3.4.1.8. MinCache Element
name: "MinCache" name: "MinCache"
path: "1*1(\Segment\Tracks\TrackEntry\MinCache)" path: "1*1(\Segment\Tracks\TrackEntry\MinCache)"
id: "0x6DE7" id: "0x6DE7"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 54, line 4 skipping to change at page 54, line 34
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The minimum number of frames a player SHOULD be able documentation: The minimum number of frames a player SHOULD be able
to cache during playback. If set to 0, the reference pseudo-cache to cache during playback. If set to 0, the reference pseudo-cache
system is not used. system is not used.
8.2.67. MaxCache Element 9.3.4.1.9. MaxCache Element
name: "MaxCache" name: "MaxCache"
path: "0*1(\Segment\Tracks\TrackEntry\MaxCache)" path: "0*1(\Segment\Tracks\TrackEntry\MaxCache)"
id: "0x6DF8" id: "0x6DF8"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
skipping to change at page 54, line 21 skipping to change at page 55, line 4
path: "0*1(\Segment\Tracks\TrackEntry\MaxCache)" path: "0*1(\Segment\Tracks\TrackEntry\MaxCache)"
id: "0x6DF8" id: "0x6DF8"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The maximum cache size necessary to store referenced documentation: The maximum cache size necessary to store referenced
frames in and the current frame. 0 means no cache is needed. frames in and the current frame. 0 means no cache is needed.
8.2.68. DefaultDuration Element 9.3.4.1.10. DefaultDuration Element
name: "DefaultDuration" name: "DefaultDuration"
path: "0*1(\Segment\Tracks\TrackEntry\DefaultDuration)" path: "0*1(\Segment\Tracks\TrackEntry\DefaultDuration)"
id: "0x23E383" id: "0x23E383"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Number of nanoseconds (not scaled via TimecodeScale) documentation: Number of nanoseconds (not scaled via TimestampScale)
per frame ('frame' in the Matroska sense -- one Element put into a per frame ('frame' in the Matroska sense -- one Element put into a
(Simple)Block). (Simple)Block).
8.2.69. DefaultDecodedFieldDuration Element 9.3.4.1.11. DefaultDecodedFieldDuration Element
name: "DefaultDecodedFieldDuration" name: "DefaultDecodedFieldDuration"
path: "0*1(\Segment\Tracks\TrackEntry\DefaultDecodedFieldDuration)" path: "0*1(\Segment\Tracks\TrackEntry\DefaultDecodedFieldDuration)"
id: "0x234E7A" id: "0x234E7A"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The period in nanoseconds (not scaled by documentation: The period in nanoseconds (not scaled by
TimecodeScale) between two successive fields at the output of the TimestampScale) between two successive fields at the output of the
decoding process (see the notes) decoding process (see the notes)
8.2.70. TrackTimecodeScale Element 9.3.4.1.12. TrackTimestampScale Element
name: "TrackTimecodeScale"
path: "1*1(\Segment\Tracks\TrackEntry\TrackTimecodeScale)" name: "TrackTimestampScale"
path: "1*1(\Segment\Tracks\TrackEntry\TrackTimestampScale)"
id: "0x23314F" id: "0x23314F"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "> 0x0p+0" range: "> 0x0p+0"
default: "0x1p+0" default: "0x1p+0"
type: "float" type: "float"
minver: "1" minver: "1"
maxver: "3" maxver: "3"
documentation: DEPRECATED, DO NOT USE. The scale to apply on this documentation: DEPRECATED, DO NOT USE. The scale to apply on this
track to work at normal speed in relation with other tracks (mostly track to work at normal speed in relation with other tracks (mostly
used to adjust video speed when the audio length differs). used to adjust video speed when the audio length differs).
8.2.71. TrackOffset Element 9.3.4.1.13. TrackOffset Element
name: "TrackOffset" name: "TrackOffset"
path: "0*1(\Segment\Tracks\TrackEntry\TrackOffset)" path: "0*1(\Segment\Tracks\TrackEntry\TrackOffset)"
id: "0x537F" id: "0x537F"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "integer" type: "integer"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: A value to add to the Block's Timestamp. This can be documentation: A value to add to the Block's Timestamp. This can be
used to adjust the playback offset of a track. used to adjust the playback offset of a track.
skipping to change at page 56, line 15 skipping to change at page 56, line 45
type: "integer" type: "integer"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: A value to add to the Block's Timestamp. This can be documentation: A value to add to the Block's Timestamp. This can be
used to adjust the playback offset of a track. used to adjust the playback offset of a track.
8.2.72. MaxBlockAdditionID Element 9.3.4.1.14. MaxBlockAdditionID Element
name: "MaxBlockAdditionID" name: "MaxBlockAdditionID"
path: "1*1(\Segment\Tracks\TrackEntry\MaxBlockAdditionID)" path: "1*1(\Segment\Tracks\TrackEntry\MaxBlockAdditionID)"
id: "0x55EE" id: "0x55EE"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
skipping to change at page 56, line 36 skipping to change at page 57, line 17
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The maximum value of BlockAddID. A value 0 means documentation: The maximum value of BlockAddID. A value 0 means
there is no BlockAdditions for this track. there is no BlockAdditions for this track.
8.2.73. Name Element 9.3.4.1.15. Name Element
name: "Name" name: "Name"
path: "0*1(\Segment\Tracks\TrackEntry\Name)" path: "0*1(\Segment\Tracks\TrackEntry\Name)"
id: "0x536E" id: "0x536E"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "1" minver: "1"
documentation: A human-readable track name. documentation: A human-readable track name.
8.2.74. Language Element 9.3.4.1.16. Language Element
name: "Language" name: "Language"
path: "0*1(\Segment\Tracks\TrackEntry\Language)" path: "0*1(\Segment\Tracks\TrackEntry\Language)"
id: "0x22B59C" id: "0x22B59C"
maxOccurs: "1" maxOccurs: "1"
default: "eng" default: "eng"
type: "string" type: "string"
minver: "1" minver: "1"
documentation: Specifies the language of the track in the Matroska documentation: Specifies the language of the track in the Matroska
languages form. This Element MUST be ignored if the LanguageIETF languages form. This Element MUST be ignored if the LanguageIETF
Element is used in the same TrackEntry. Element is used in the same TrackEntry.
8.2.75. LanguageIETF Element 9.3.4.1.17. LanguageIETF Element
name: "LanguageIETF" name: "LanguageIETF"
path: "0*1(\Segment\Tracks\TrackEntry\LanguageIETF)" path: "0*1(\Segment\Tracks\TrackEntry\LanguageIETF)"
id: "0x22B59D" id: "0x22B59D"
maxOccurs: "1" maxOccurs: "1"
type: "string" type: "string"
minver: "4" minver: "4"
documentation: Specifies the language of the track according to BCP documentation: Specifies the language of the track according to BCP
47 and using the IANA Language Subtag Registry. If this Element is 47 and using the IANA Language Subtag Registry. If this Element is
used, then any Language Elements used in the same TrackEntry MUST be used, then any Language Elements used in the same TrackEntry MUST be
ignored. ignored.
8.2.76. CodecID Element 9.3.4.1.18. CodecID Element
name: "CodecID" name: "CodecID"
path: "1*1(\Segment\Tracks\TrackEntry\CodecID)" path: "1*1(\Segment\Tracks\TrackEntry\CodecID)"
id: "0x86" id: "0x86"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "string" type: "string"
minver: "1" minver: "1"
documentation: An ID corresponding to the codec, see the codec page documentation: An ID corresponding to the codec, see the codec page
for more info. for more info.
8.2.77. CodecPrivate Element 9.3.4.1.19. CodecPrivate Element
name: "CodecPrivate" name: "CodecPrivate"
path: "0*1(\Segment\Tracks\TrackEntry\CodecPrivate)" path: "0*1(\Segment\Tracks\TrackEntry\CodecPrivate)"
id: "0x63A2" id: "0x63A2"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: Private data only known to the codec. documentation: Private data only known to the codec.
8.2.78. CodecName Element 9.3.4.1.20. CodecName Element
name: "CodecName" name: "CodecName"
path: "0*1(\Segment\Tracks\TrackEntry\CodecName)" path: "0*1(\Segment\Tracks\TrackEntry\CodecName)"
id: "0x258688" id: "0x258688"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "1" minver: "1"
documentation: A human-readable string specifying the codec. documentation: A human-readable string specifying the codec.
8.2.79. AttachmentLink Element 9.3.4.1.21. AttachmentLink Element
name: "AttachmentLink" name: "AttachmentLink"
path: "0*1(\Segment\Tracks\TrackEntry\AttachmentLink)" path: "0*1(\Segment\Tracks\TrackEntry\AttachmentLink)"
id: "0x7446" id: "0x7446"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
maxver: "3" maxver: "3"
skipping to change at page 59, line 16 skipping to change at page 59, line 46
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
maxver: "3" maxver: "3"
documentation: The UID of an attachment that is used by this codec. documentation: The UID of an attachment that is used by this codec.
8.2.80. CodecSettings Element 9.3.4.1.22. CodecSettings Element
name: "CodecSettings" name: "CodecSettings"
path: "0*1(\Segment\Tracks\TrackEntry\CodecSettings)" path: "0*1(\Segment\Tracks\TrackEntry\CodecSettings)"
id: "0x3A9697" id: "0x3A9697"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
skipping to change at page 59, line 34 skipping to change at page 60, line 16
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: A string describing the encoding setting used. documentation: A string describing the encoding setting used.
8.2.81. CodecInfoURL Element 9.3.4.1.23. CodecInfoURL Element
name: "CodecInfoURL" name: "CodecInfoURL"
path: "0*(\Segment\Tracks\TrackEntry\CodecInfoURL)" path: "0*(\Segment\Tracks\TrackEntry\CodecInfoURL)"
id: "0x3B4040" id: "0x3B4040"
type: "string" type: "string"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: A URL to find information about the codec used. documentation: A URL to find information about the codec used.
8.2.82. CodecDownloadURL Element 9.3.4.1.24. CodecDownloadURL Element
name: "CodecDownloadURL" name: "CodecDownloadURL"
path: "0*(\Segment\Tracks\TrackEntry\CodecDownloadURL)" path: "0*(\Segment\Tracks\TrackEntry\CodecDownloadURL)"
id: "0x26B240" id: "0x26B240"
type: "string" type: "string"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: A URL to download about the codec used. documentation: A URL to download about the codec used.
8.2.83. CodecDecodeAll Element 9.3.4.1.25. CodecDecodeAll Element
name: "CodecDecodeAll" name: "CodecDecodeAll"
path: "1*1(\Segment\Tracks\TrackEntry\CodecDecodeAll)" path: "1*1(\Segment\Tracks\TrackEntry\CodecDecodeAll)"
id: "0xAA" id: "0xAA"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 60, line 43 skipping to change at page 61, line 27
range: "0-1" range: "0-1"
default: "1" default: "1"
type: "uinteger" type: "uinteger"
minver: "2" minver: "2"
documentation: The codec can decode potentially damaged data (1 bit). documentation: The codec can decode potentially damaged data (1 bit).
8.2.84. TrackOverlay Element 9.3.4.1.26. TrackOverlay Element
name: "TrackOverlay" name: "TrackOverlay"
path: "0*(\Segment\Tracks\TrackEntry\TrackOverlay)" path: "0*(\Segment\Tracks\TrackEntry\TrackOverlay)"
id: "0x6FAB" id: "0x6FAB"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Specify that this track is an overlay track for the documentation: Specify that this track is an overlay track for the
Track specified (in the u-integer). That means when this track has a Track specified (in the u-integer). That means when this track has a
gap (see SilentTracks) the overlay track SHOULD be used instead. The gap (see SilentTracks) the overlay track SHOULD be used instead. The
order of multiple TrackOverlay matters, the first one is the one that order of multiple TrackOverlay matters, the first one is the one that
SHOULD be used. If not found it SHOULD be the second, etc. SHOULD be used. If not found it SHOULD be the second, etc.
8.2.85. CodecDelay Element 9.3.4.1.27. CodecDelay Element
name: "CodecDelay" name: "CodecDelay"
path: "0*1(\Segment\Tracks\TrackEntry\CodecDelay)" path: "0*1(\Segment\Tracks\TrackEntry\CodecDelay)"
id: "0x56AA" id: "0x56AA"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: CodecDelay is The codec-built-in delay in nanoseconds. documentation: CodecDelay is The codec-built-in delay in nanoseconds.
This value MUST be subtracted from each block timestamp in order to This value MUST be subtracted from each block timestamp in order to
skipping to change at page 61, line 33 skipping to change at page 62, line 17
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: CodecDelay is The codec-built-in delay in nanoseconds. documentation: CodecDelay is The codec-built-in delay in nanoseconds.
This value MUST be subtracted from each block timestamp in order to This value MUST be subtracted from each block timestamp in order to
get the actual timestamp. The value SHOULD be small so the muxing of get the actual timestamp. The value SHOULD be small so the muxing of
tracks with the same actual timestamp are in the same Cluster. tracks with the same actual timestamp are in the same Cluster.
8.2.86. SeekPreRoll Element 9.3.4.1.28. SeekPreRoll Element
name: "SeekPreRoll" name: "SeekPreRoll"
path: "1*1(\Segment\Tracks\TrackEntry\SeekPreRoll)" path: "1*1(\Segment\Tracks\TrackEntry\SeekPreRoll)"
id: "0x56BB" id: "0x56BB"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 62, line 4 skipping to change at page 62, line 34
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: After a discontinuity, SeekPreRoll is the duration in documentation: After a discontinuity, SeekPreRoll is the duration in
nanoseconds of the data the decoder MUST decode before the decoded nanoseconds of the data the decoder MUST decode before the decoded
data is valid. data is valid.
8.2.87. TrackTranslate Element 9.3.4.1.29. TrackTranslate Element
name: "TrackTranslate" name: "TrackTranslate"
path: "0*(\Segment\Tracks\TrackEntry\TrackTranslate)" path: "0*(\Segment\Tracks\TrackEntry\TrackTranslate)"
id: "0x6624" id: "0x6624"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: The track identification for the given Chapter Codec. documentation: The track identification for the given Chapter Codec.
8.2.88. TrackTranslateEditionUID Element 9.3.4.1.29.1. TrackTranslateEditionUID Element
name: "TrackTranslateEditionUID" name: "TrackTranslateEditionUID"
path: "0*(\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateEdi path: "0*(\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateEdi
tionUID)" tionUID)"
id: "0x66FC" id: "0x66FC"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Specify an edition UID on which this translation documentation: Specify an edition UID on which this translation
applies. When not specified, it means for all editions found in the applies. When not specified, it means for all editions found in the
Segment. Segment.
8.2.89. TrackTranslateCodec Element 9.3.4.1.29.2. TrackTranslateCodec Element
name: "TrackTranslateCodec" name: "TrackTranslateCodec"
path: path:
"1*1(\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateCodec)" "1*1(\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateCodec)"
id: "0x66BF" id: "0x66BF"
minOccurs: "1" minOccurs: "1"
skipping to change at page 63, line 4 skipping to change at page 63, line 34
name: "TrackTranslateCodec" name: "TrackTranslateCodec"
path: path:
"1*1(\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateCodec)" "1*1(\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateCodec)"
id: "0x66BF" id: "0x66BF"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The chapter codec. documentation: The chapter codec.
8.2.90. TrackTranslateTrackID Element restrictions:
+-------+-----------------+
| value | label |
+-------+-----------------+
| "0" | Matroska Script |
| "1" | DVD-menu |
+-------+-----------------+
9.3.4.1.29.3. TrackTranslateTrackID Element
name: "TrackTranslateTrackID" name: "TrackTranslateTrackID"
path: "1*1(\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateTr path: "1*1(\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateTr
ackID)" ackID)"
id: "0x66A5" id: "0x66A5"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: The binary value used to represent this track in the documentation: The binary value used to represent this track in the
chapter codec data. The format depends on the ChapProcessCodecID chapter codec data. The format depends on the ChapProcessCodecID
used. used.
8.2.91. Video Element 9.3.4.1.30. Video Element
name: "Video" name: "Video"
path: "0*1(\Segment\Tracks\TrackEntry\Video)" path: "0*1(\Segment\Tracks\TrackEntry\Video)"
id: "0xE0" id: "0xE0"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Video settings. documentation: Video settings.
8.2.92. FlagInterlaced Element 9.3.4.1.30.1. FlagInterlaced Element
name: "FlagInterlaced" name: "FlagInterlaced"
path: "1*1(\Segment\Tracks\TrackEntry\Video\FlagInterlaced)" path: "1*1(\Segment\Tracks\TrackEntry\Video\FlagInterlaced)"
id: "0x9A" id: "0x9A"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "0-2" range: "0-2"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "2" minver: "2"
documentation: A flag to declare is the video is known to be documentation: A flag to declare if the video is known to be
progressive or interlaced and if applicable to declare details about progressive or interlaced and if applicable to declare details about
the interlacement. the interlacement.
8.2.93. FieldOrder Element restrictions:
+-------+--------------+
| value | label |
+-------+--------------+
| "0" | undetermined |
| "1" | interlaced |
| "2" | progressive |
+-------+--------------+
9.3.4.1.30.2. FieldOrder Element
name: "FieldOrder" name: "FieldOrder"
path: "1*1(\Segment\Tracks\TrackEntry\Video\FieldOrder)" path: "1*1(\Segment\Tracks\TrackEntry\Video\FieldOrder)"
id: "0x9D" id: "0x9D"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 64, line 45 skipping to change at page 65, line 49
default: "2" default: "2"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: Declare the field ordering of the video. If documentation: Declare the field ordering of the video. If
FlagInterlaced is not set to 1, this Element MUST be ignored. FlagInterlaced is not set to 1, this Element MUST be ignored.
8.2.94. StereoMode Element restrictions:
+-------+--------------+--------------------------------------------+
| value | label | documentation |
+-------+--------------+--------------------------------------------+
| "0" | progressive | |
| "1" | tff | Top field displayed first. Top field |
| | | stored first. |
| "2" | undetermined | |
| "6" | bff | Bottom field displayed first. Bottom field |
| | | stored first. |
| "9" | bff(swapped) | Top field displayed first. Fields are |
| | | interleaved in storage with the top line |
| | | of the top field stored first. |
| "14" | tff(swapped) | Bottom field displayed first. Fields are |
| | | interleaved in storage with the top line |
| | | of the top field stored first. |
+-------+--------------+--------------------------------------------+
9.3.4.1.30.3. StereoMode Element
name: "StereoMode" name: "StereoMode"
path: "0*1(\Segment\Tracks\TrackEntry\Video\StereoMode)" path: "0*1(\Segment\Tracks\TrackEntry\Video\StereoMode)"
id: "0x53B8" id: "0x53B8"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "3" minver: "3"
documentation: Stereo-3D video mode. There are some more details on documentation: Stereo-3D video mode. There are some more details on
3D support in the Specification Notes. 3D support in the Specification Notes.
skipping to change at page 65, line 15 skipping to change at page 66, line 41
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "3" minver: "3"
documentation: Stereo-3D video mode. There are some more details on documentation: Stereo-3D video mode. There are some more details on
3D support in the Specification Notes. 3D support in the Specification Notes.
8.2.95. AlphaMode Element restrictions:
+-------+---------------------------------------------------+
| value | label |
+-------+---------------------------------------------------+
| "0" | mono |
| "1" | side by side (left eye first) |
| "2" | top - bottom (right eye is first) |
| "3" | top - bottom (left eye is first) |
| "4" | checkboard (right eye is first) |
| "5" | checkboard (left eye is first) |
| "6" | row interleaved (right eye is first) |
| "7" | row interleaved (left eye is first) |
| "8" | column interleaved (right eye is first) |
| "9" | column interleaved (left eye is first) |
| "10" | anaglyph (cyan/red) |
| "11" | side by side (right eye first) |
| "12" | anaglyph (green/magenta) |
| "13" | both eyes laced in one Block (left eye is first) |
| "14" | both eyes laced in one Block (right eye is first) |
+-------+---------------------------------------------------+
9.3.4.1.30.4. AlphaMode Element
name: "AlphaMode" name: "AlphaMode"
path: "0*1(\Segment\Tracks\TrackEntry\Video\AlphaMode)" path: "0*1(\Segment\Tracks\TrackEntry\Video\AlphaMode)"
id: "0x53C0" id: "0x53C0"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "3" minver: "3"
documentation: Alpha Video Mode. Presence of this Element indicates documentation: Alpha Video Mode. Presence of this Element indicates
that the BlockAdditional Element could contain Alpha data. that the BlockAdditional Element could contain Alpha data.
8.2.96. OldStereoMode Element 9.3.4.1.30.5. OldStereoMode Element
name: "OldStereoMode" name: "OldStereoMode"
path: "0*1(\Segment\Tracks\TrackEntry\Video\OldStereoMode)" path: "0*1(\Segment\Tracks\TrackEntry\Video\OldStereoMode)"
id: "0x53B9" id: "0x53B9"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
maxver: "0" maxver: "0"
documentation: DEPRECATED, DO NOT USE. Bogus StereoMode value used documentation: DEPRECATED, DO NOT USE. Bogus StereoMode value used
in old versions of libmatroska. in old versions of libmatroska.
8.2.97. PixelWidth Element restrictions:
+-------+-----------+
| value | label |
+-------+-----------+
| "0" | mono |
| "1" | right eye |
| "2" | left eye |
| "3" | both eyes |
+-------+-----------+
9.3.4.1.30.6. PixelWidth Element
name: "PixelWidth" name: "PixelWidth"
path: "1*1(\Segment\Tracks\TrackEntry\Video\PixelWidth)" path: "1*1(\Segment\Tracks\TrackEntry\Video\PixelWidth)"
id: "0xB0" id: "0xB0"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Width of the encoded video frames in pixels. documentation: Width of the encoded video frames in pixels.
8.2.98. PixelHeight Element 9.3.4.1.30.7. PixelHeight Element
name: "PixelHeight" name: "PixelHeight"
path: "1*1(\Segment\Tracks\TrackEntry\Video\PixelHeight)" path: "1*1(\Segment\Tracks\TrackEntry\Video\PixelHeight)"
id: "0xBA" id: "0xBA"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Height of the encoded video frames in pixels. documentation: Height of the encoded video frames in pixels.
skipping to change at page 66, line 45 skipping to change at page 69, line 14
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Height of the encoded video frames in pixels. documentation: Height of the encoded video frames in pixels.
8.2.99. PixelCropBottom Element 9.3.4.1.30.8. PixelCropBottom Element
name: "PixelCropBottom" name: "PixelCropBottom"
path: "0*1(\Segment\Tracks\TrackEntry\Video\PixelCropBottom)" path: "0*1(\Segment\Tracks\TrackEntry\Video\PixelCropBottom)"
id: "0x54AA" id: "0x54AA"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The number of video pixels to remove at the bottom of documentation: The number of video pixels to remove at the bottom of
the image (for HDTV content). the image.
8.2.100. PixelCropTop Element 9.3.4.1.30.9. PixelCropTop Element
name: "PixelCropTop" name: "PixelCropTop"
path: "0*1(\Segment\Tracks\TrackEntry\Video\PixelCropTop)" path: "0*1(\Segment\Tracks\TrackEntry\Video\PixelCropTop)"
id: "0x54BB" id: "0x54BB"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The number of video pixels to remove at the top of the documentation: The number of video pixels to remove at the top of the
image. image.
8.2.101. PixelCropLeft Element 9.3.4.1.30.10. PixelCropLeft Element
name: "PixelCropLeft" name: "PixelCropLeft"
path: "0*1(\Segment\Tracks\TrackEntry\Video\PixelCropLeft)" path: "0*1(\Segment\Tracks\TrackEntry\Video\PixelCropLeft)"
id: "0x54CC" id: "0x54CC"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The number of video pixels to remove on the left of documentation: The number of video pixels to remove on the left of
the image. the image.
8.2.102. PixelCropRight Element 9.3.4.1.30.11. PixelCropRight Element
name: "PixelCropRight" name: "PixelCropRight"
path: "0*1(\Segment\Tracks\TrackEntry\Video\PixelCropRight)" path: "0*1(\Segment\Tracks\TrackEntry\Video\PixelCropRight)"
id: "0x54DD" id: "0x54DD"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The number of video pixels to remove on the right of documentation: The number of video pixels to remove on the right of
the image. the image.
8.2.103. DisplayWidth Element 9.3.4.1.30.12. DisplayWidth Element
name: "DisplayWidth" name: "DisplayWidth"
path: "0*1(\Segment\Tracks\TrackEntry\Video\DisplayWidth)" path: "0*1(\Segment\Tracks\TrackEntry\Video\DisplayWidth)"
id: "0x54B0" id: "0x54B0"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
default: "PixelWidth - PixelCropLeft - PixelCropRight" default: "PixelWidth - PixelCropLeft - PixelCropRight"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Width of the video frames to display. Applies to the documentation: Width of the video frames to display. Applies to the
video frame after cropping (PixelCrop* Elements). The default value video frame after cropping (PixelCrop* Elements). The default value
skipping to change at page 68, line 46 skipping to change at page 71, line 16
default: "PixelWidth - PixelCropLeft - PixelCropRight" default: "PixelWidth - PixelCropLeft - PixelCropRight"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Width of the video frames to display. Applies to the documentation: Width of the video frames to display. Applies to the
video frame after cropping (PixelCrop* Elements). The default value video frame after cropping (PixelCrop* Elements). The default value
is only valid when DisplayUnit is 0. is only valid when DisplayUnit is 0.
8.2.104. DisplayHeight Element 9.3.4.1.30.13. DisplayHeight Element
name: "DisplayHeight" name: "DisplayHeight"
path: "0*1(\Segment\Tracks\TrackEntry\Video\DisplayHeight)" path: "0*1(\Segment\Tracks\TrackEntry\Video\DisplayHeight)"
id: "0x54BA" id: "0x54BA"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
default: "PixelHeight - PixelCropTop - PixelCropBottom" default: "PixelHeight - PixelCropTop - PixelCropBottom"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
skipping to change at page 69, line 18 skipping to change at page 71, line 38
default: "PixelHeight - PixelCropTop - PixelCropBottom" default: "PixelHeight - PixelCropTop - PixelCropBottom"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Height of the video frames to display. Applies to the documentation: Height of the video frames to display. Applies to the
video frame after cropping (PixelCrop* Elements). The default value video frame after cropping (PixelCrop* Elements). The default value
is only valid when DisplayUnit is 0. is only valid when DisplayUnit is 0.
8.2.105. DisplayUnit Element 9.3.4.1.30.14. DisplayUnit Element
name: "DisplayUnit" name: "DisplayUnit"
path: "0*1(\Segment\Tracks\TrackEntry\Video\DisplayUnit)" path: "0*1(\Segment\Tracks\TrackEntry\Video\DisplayUnit)"
id: "0x54B2" id: "0x54B2"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
skipping to change at page 69, line 31 skipping to change at page 72, line 4
path: "0*1(\Segment\Tracks\TrackEntry\Video\DisplayUnit)" path: "0*1(\Segment\Tracks\TrackEntry\Video\DisplayUnit)"
id: "0x54B2" id: "0x54B2"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: How DisplayWidth & DisplayHeight are interpreted. documentation: How DisplayWidth & DisplayHeight are interpreted.
8.2.106. AspectRatioType Element restrictions:
+-------+----------------------+
| value | label |
+-------+----------------------+
| "0" | pixels |
| "1" | centimeters |
| "2" | inches |
| "3" | display aspect ratio |
| "4" | unknown |
+-------+----------------------+
9.3.4.1.30.15. AspectRatioType Element
name: "AspectRatioType" name: "AspectRatioType"
path: "0*1(\Segment\Tracks\TrackEntry\Video\AspectRatioType)" path: "0*1(\Segment\Tracks\TrackEntry\Video\AspectRatioType)"
id: "0x54B3" id: "0x54B3"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
skipping to change at page 70, line 4 skipping to change at page 72, line 35
id: "0x54B3" id: "0x54B3"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Specify the possible modifications to the aspect documentation: Specify the possible modifications to the aspect
ratio. ratio.
8.2.107. ColourSpace Element restrictions:
+-------+-------------------+
| value | label |
+-------+-------------------+
| "0" | free resizing |
| "1" | keep aspect ratio |
| "2" | fixed |
+-------+-------------------+
9.3.4.1.30.16. ColourSpace Element
name: "ColourSpace" name: "ColourSpace"
path: "0*1(\Segment\Tracks\TrackEntry\Video\ColourSpace)" path: "0*1(\Segment\Tracks\TrackEntry\Video\ColourSpace)"
id: "0x2EB524" id: "0x2EB524"
maxOccurs: "1" maxOccurs: "1"
size: "4" size: "4"
skipping to change at page 70, line 29 skipping to change at page 73, line 27
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: Specify the pixel format used for the Track's data as documentation: Specify the pixel format used for the Track's data as
a FourCC. This value is similar in scope to the biCompression value a FourCC. This value is similar in scope to the biCompression value
of AVI's BITMAPINFOHEADER. This Element is MANDATORY in TrackEntry of AVI's BITMAPINFOHEADER. This Element is MANDATORY in TrackEntry
when the CodecID Element of the TrackEntry is set to when the CodecID Element of the TrackEntry is set to
"V_UNCOMPRESSED". "V_UNCOMPRESSED".
8.2.108. GammaValue Element 9.3.4.1.30.17. GammaValue Element
name: "GammaValue" name: "GammaValue"
path: "0*1(\Segment\Tracks\TrackEntry\Video\GammaValue)" path: "0*1(\Segment\Tracks\TrackEntry\Video\GammaValue)"
id: "0x2FB523" id: "0x2FB523"
maxOccurs: "1" maxOccurs: "1"
range: "> 0x0p+0" range: "> 0x0p+0"
type: "float" type: "float"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: Gamma Value. documentation: Gamma Value.
8.2.109. FrameRate Element 9.3.4.1.30.18. FrameRate Element
name: "FrameRate" name: "FrameRate"
path: "0*1(\Segment\Tracks\TrackEntry\Video\FrameRate)" path: "0*1(\Segment\Tracks\TrackEntry\Video\FrameRate)"
id: "0x2383E3" id: "0x2383E3"
maxOccurs: "1" maxOccurs: "1"
range: "> 0x0p+0" range: "> 0x0p+0"
type: "float" type: "float"
minver: "0" minver: "0"
skipping to change at page 71, line 25 skipping to change at page 74, line 18
range: "> 0x0p+0" range: "> 0x0p+0"
type: "float" type: "float"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: Number of frames per second. Informational only. documentation: Number of frames per second. Informational only.
8.2.110. Colour Element 9.3.4.1.30.19. Colour Element
name: "Colour" name: "Colour"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour)"
id: "0x55B0" id: "0x55B0"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "4" minver: "4"
documentation: Settings describing the colour format. documentation: Settings describing the colour format.
8.2.111. MatrixCoefficients Element 9.3.4.1.30.20. MatrixCoefficients Element
name: "MatrixCoefficients" name: "MatrixCoefficients"
path: path:
"0*1(\Segment\Tracks\TrackEntry\Video\Colour\MatrixCoefficients)" "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MatrixCoefficients)"
id: "0x55B1" id: "0x55B1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 72, line 4 skipping to change at page 74, line 46
name: "MatrixCoefficients" name: "MatrixCoefficients"
path: path:
"0*1(\Segment\Tracks\TrackEntry\Video\Colour\MatrixCoefficients)" "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MatrixCoefficients)"
id: "0x55B1" id: "0x55B1"
maxOccurs: "1" maxOccurs: "1"
default: "2" default: "2"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The Matrix Coefficients of the video used to derive documentation: The Matrix Coefficients of the video used to derive
luma and chroma values from red, green, and blue color primaries. luma and chroma values from red, green, and blue color primaries.
For clarity, the value and meanings for MatrixCoefficients are For clarity, the value and meanings for MatrixCoefficients are
adopted from Table 4 of ISO/IEC 23001-8:2013/DCOR1. adopted from Table 4 of ISO/IEC 23001-8:2013/DCOR1.
8.2.112. BitsPerChannel Element restrictions:
+-------+-------------------------------+
| value | label |
+-------+-------------------------------+
| "0" | GBR |
| "1" | BT709 |
| "2" | unspecified |
| "3" | reserved |
| "4" | FCC |
| "5" | BT470BG |
| "6" | SMPTE 170M |
| "7" | SMPTE 240M |
| "8" | YCoCg |
| "9" | BT2020 Non-constant Luminance |
| "10" | BT2020 Constant Luminance |
+-------+-------------------------------+
9.3.4.1.30.21. BitsPerChannel Element
name: "BitsPerChannel" name: "BitsPerChannel"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\BitsPerChannel)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\BitsPerChannel)"
id: "0x55B2" id: "0x55B2"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: Number of decoded bits per channel. A value of 0 documentation: Number of decoded bits per channel. A value of 0
indicates that the BitsPerChannel is unspecified. indicates that the BitsPerChannel is unspecified.
8.2.113. ChromaSubsamplingHorz Element 9.3.4.1.30.22. ChromaSubsamplingHorz Element
name: "ChromaSubsamplingHorz" name: "ChromaSubsamplingHorz"
path: path:
"0*1(\Segment\Tracks\TrackEntry\Video\Colour\ChromaSubsamplingHorz)" "0*1(\Segment\Tracks\TrackEntry\Video\Colour\ChromaSubsamplingHorz)"
id: "0x55B3" id: "0x55B3"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The amount of pixels to remove in the Cr and Cb documentation: The amount of pixels to remove in the Cr and Cb
channels for every pixel not removed horizontally. Example: For channels for every pixel not removed horizontally. Example: For
skipping to change at page 73, line 5 skipping to change at page 76, line 17
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The amount of pixels to remove in the Cr and Cb documentation: The amount of pixels to remove in the Cr and Cb
channels for every pixel not removed horizontally. Example: For channels for every pixel not removed horizontally. Example: For
video with 4:2:0 chroma subsampling, the ChromaSubsamplingHorz SHOULD video with 4:2:0 chroma subsampling, the ChromaSubsamplingHorz SHOULD
be set to 1. be set to 1.
8.2.114. ChromaSubsamplingVert Element 9.3.4.1.30.23. ChromaSubsamplingVert Element
name: "ChromaSubsamplingVert" name: "ChromaSubsamplingVert"
path: path:
"0*1(\Segment\Tracks\TrackEntry\Video\Colour\ChromaSubsamplingVert)" "0*1(\Segment\Tracks\TrackEntry\Video\Colour\ChromaSubsamplingVert)"
id: "0x55B4" id: "0x55B4"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The amount of pixels to remove in the Cr and Cb documentation: The amount of pixels to remove in the Cr and Cb
channels for every pixel not removed vertically. Example: For video channels for every pixel not removed vertically. Example: For video
with 4:2:0 chroma subsampling, the ChromaSubsamplingVert SHOULD be with 4:2:0 chroma subsampling, the ChromaSubsamplingVert SHOULD be
set to 1. set to 1.
8.2.115. CbSubsamplingHorz Element 9.3.4.1.30.24. CbSubsamplingHorz Element
name: "CbSubsamplingHorz" name: "CbSubsamplingHorz"
path: path:
"0*1(\Segment\Tracks\TrackEntry\Video\Colour\CbSubsamplingHorz)" "0*1(\Segment\Tracks\TrackEntry\Video\Colour\CbSubsamplingHorz)"
id: "0x55B5" id: "0x55B5"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 73, line 39 skipping to change at page 77, line 4
path: path:
"0*1(\Segment\Tracks\TrackEntry\Video\Colour\CbSubsamplingHorz)" "0*1(\Segment\Tracks\TrackEntry\Video\Colour\CbSubsamplingHorz)"
id: "0x55B5" id: "0x55B5"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The amount of pixels to remove in the Cb channel for documentation: The amount of pixels to remove in the Cb channel for
every pixel not removed horizontally. This is additive with every pixel not removed horizontally. This is additive with
ChromaSubsamplingHorz. Example: For video with 4:2:1 chroma ChromaSubsamplingHorz. Example: For video with 4:2:1 chroma
subsampling, the ChromaSubsamplingHorz SHOULD be set to 1 and subsampling, the ChromaSubsamplingHorz SHOULD be set to 1 and
CbSubsamplingHorz SHOULD be set to 1. CbSubsamplingHorz SHOULD be set to 1.
8.2.116. CbSubsamplingVert Element 9.3.4.1.30.25. CbSubsamplingVert Element
name: "CbSubsamplingVert" name: "CbSubsamplingVert"
path: path:
"0*1(\Segment\Tracks\TrackEntry\Video\Colour\CbSubsamplingVert)" "0*1(\Segment\Tracks\TrackEntry\Video\Colour\CbSubsamplingVert)"
id: "0x55B6" id: "0x55B6"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The amount of pixels to remove in the Cb channel for documentation: The amount of pixels to remove in the Cb channel for
every pixel not removed vertically. This is additive with every pixel not removed vertically. This is additive with
skipping to change at page 74, line 16 skipping to change at page 77, line 29
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The amount of pixels to remove in the Cb channel for documentation: The amount of pixels to remove in the Cb channel for
every pixel not removed vertically. This is additive with every pixel not removed vertically. This is additive with
ChromaSubsamplingVert. ChromaSubsamplingVert.
8.2.117. ChromaSitingHorz Element 9.3.4.1.30.26. ChromaSitingHorz Element
name: "ChromaSitingHorz" name: "ChromaSitingHorz"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingHorz)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingHorz)"
id: "0x55B7" id: "0x55B7"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: How chroma is subsampled horizontally. documentation: How chroma is subsampled horizontally.
8.2.118. ChromaSitingVert Element restrictions:
+-------+-----------------+
| value | label |
+-------+-----------------+
| "0" | unspecified |
| "1" | left collocated |
| "2" | half |
+-------+-----------------+
9.3.4.1.30.27. ChromaSitingVert Element
name: "ChromaSitingVert" name: "ChromaSitingVert"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingVert)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingVert)"
id: "0x55B8" id: "0x55B8"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: How chroma is subsampled vertically. documentation: How chroma is subsampled vertically.
8.2.119. Range Element restrictions:
+-------+----------------+
| value | label |
+-------+----------------+
| "0" | unspecified |
| "1" | top collocated |
| "2" | half |
+-------+----------------+
9.3.4.1.30.28. Range Element
name: "Range" name: "Range"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\Range)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\Range)"
id: "0x55B9" id: "0x55B9"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
skipping to change at page 75, line 16 skipping to change at page 79, line 4
name: "Range" name: "Range"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\Range)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\Range)"
id: "0x55B9" id: "0x55B9"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: Clipping of the color ranges. documentation: Clipping of the color ranges.
8.2.120. TransferCharacteristics Element restrictions:
+-------+-------------------------------------------------------+
| value | label |
+-------+-------------------------------------------------------+
| "0" | unspecified |
| "1" | broadcast range |
| "2" | full range (no clipping) |
| "3" | defined by MatrixCoefficients/TransferCharacteristics |
+-------+-------------------------------------------------------+
9.3.4.1.30.29. TransferCharacteristics Element
name: "TransferCharacteristics" name: "TransferCharacteristics"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\TransferCharacteri path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\TransferCharacteri
stics)" stics)"
id: "0x55BA" id: "0x55BA"
maxOccurs: "1" maxOccurs: "1"
default: "2" default: "2"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The transfer characteristics of the video. For documentation: The transfer characteristics of the video. For
clarity, the value and meanings for TransferCharacteristics 1-15 are clarity, the value and meanings for TransferCharacteristics are
adopted from Table 3 of ISO/IEC 23001-8:2013/DCOR1. adopted from Table 3 of ISO/IEC 23091-4/ITU-T H.273.
TransferCharacteristics 16-18 are proposed values.
8.2.121. Primaries Element restrictions:
+-------+---------------------------------------+
| value | label |
+-------+---------------------------------------+
| "0" | reserved |
| "1" | ITU-R BT.709 |
| "2" | unspecified |
| "3" | reserved |
| "4" | Gamma 2.2 curve - BT.470M |
| "5" | Gamma 2.8 curve - BT.470BG |
| "6" | SMPTE 170M |
| "7" | SMPTE 240M |
| "8" | Linear |
| "9" | Log |
| "10" | Log Sqrt |
| "11" | IEC 61966-2-4 |
| "12" | ITU-R BT.1361 Extended Colour Gamut |
| "13" | IEC 61966-2-1 |
| "14" | ITU-R BT.2020 10 bit |
| "15" | ITU-R BT.2020 12 bit |
| "16" | ITU-R BT.2100 Perceptual Quantization |
| "17" | SMPTE ST 428-1 |
| "18" | ARIB STD-B67 (HLG) |
+-------+---------------------------------------+
9.3.4.1.30.30. Primaries Element
name: "Primaries" name: "Primaries"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\Primaries)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\Primaries)"
id: "0x55BB" id: "0x55BB"
maxOccurs: "1" maxOccurs: "1"
default: "2" default: "2"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The colour primaries of the video. For clarity, the documentation: The colour primaries of the video. For clarity, the
value and meanings for Primaries are adopted from Table 2 of ISO/IEC value and meanings for Primaries are adopted from Table 2 of ISO/IEC
skipping to change at page 76, line 14 skipping to change at page 80, line 47
maxOccurs: "1" maxOccurs: "1"
default: "2" default: "2"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The colour primaries of the video. For clarity, the documentation: The colour primaries of the video. For clarity, the
value and meanings for Primaries are adopted from Table 2 of ISO/IEC value and meanings for Primaries are adopted from Table 2 of ISO/IEC
23001-8:2013/DCOR1. 23091-4/ITU-T H.273.
8.2.122. MaxCLL Element restrictions:
+-------+----------------------------------------+
| value | label |
+-------+----------------------------------------+
| "0" | reserved |
| "1" | ITU-R BT.709 |
| "2" | unspecified |
| "3" | reserved |
| "4" | ITU-R BT.470M |
| "5" | ITU-R BT.470BG - BT.601 625 |
| "6" | ITU-R BT.601 525 - SMPTE 170M |
| "7" | SMPTE 240M |
| "8" | FILM |
| "9" | ITU-R BT.2020 |
| "10" | SMPTE ST 428-1 |
| "11" | SMPTE RP 432-2 |
| "12" | SMPTE EG 432-2 |
| "22" | EBY Tech. 3213-E - JEDEC P22 phosphors |
+-------+----------------------------------------+
9.3.4.1.30.31. MaxCLL Element
name: "MaxCLL" name: "MaxCLL"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MaxCLL)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MaxCLL)"
id: "0x55BC" id: "0x55BC"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: Maximum brightness of a single pixel (Maximum Content documentation: Maximum brightness of a single pixel (Maximum Content
Light Level) in candelas per square meter (cd/m^2). Light Level) in candelas per square meter (cd/m^2).
8.2.123. MaxFALL Element 9.3.4.1.30.32. MaxFALL Element
name: "MaxFALL" name: "MaxFALL"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MaxFALL)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MaxFALL)"
id: "0x55BD" id: "0x55BD"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
skipping to change at page 76, line 44 skipping to change at page 82, line 4
name: "MaxFALL" name: "MaxFALL"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MaxFALL)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MaxFALL)"
id: "0x55BD" id: "0x55BD"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: Maximum brightness of a single full frame (Maximum documentation: Maximum brightness of a single full frame (Maximum
Frame-Average Light Level) in candelas per square meter (cd/m^2). Frame-Average Light Level) in candelas per square meter (cd/m^2).
8.2.124. MasteringMetadata Element 9.3.4.1.30.33. MasteringMetadata Element
name: "MasteringMetadata" name: "MasteringMetadata"
path: path:
"0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata)" "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata)"
id: "0x55D0" id: "0x55D0"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "4" minver: "4"
documentation: SMPTE 2086 mastering data. documentation: SMPTE 2086 mastering data.
8.2.125. PrimaryRChromaticityX Element 9.3.4.1.30.34. PrimaryRChromaticityX Element
name: "PrimaryRChromaticityX" name: "PrimaryRChromaticityX"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
PrimaryRChromaticityX)" PrimaryRChromaticityX)"
id: "0x55D1" id: "0x55D1"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
type: "float" type: "float"
minver: "4" minver: "4"
documentation: Red X chromaticity coordinate as defined by CIE 1931. documentation: Red X chromaticity coordinate as defined by CIE 1931.
8.2.126. PrimaryRChromaticityY Element 9.3.4.1.30.35. PrimaryRChromaticityY Element
name: "PrimaryRChromaticityY" name: "PrimaryRChromaticityY"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
PrimaryRChromaticityY)" PrimaryRChromaticityY)"
id: "0x55D2" id: "0x55D2"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
type: "float" type: "float"
minver: "4" minver: "4"
documentation: Red Y chromaticity coordinate as defined by CIE 1931. documentation: Red Y chromaticity coordinate as defined by CIE 1931.
8.2.127. PrimaryGChromaticityX Element 9.3.4.1.30.36. PrimaryGChromaticityX Element
name: "PrimaryGChromaticityX" name: "PrimaryGChromaticityX"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
PrimaryGChromaticityX)" PrimaryGChromaticityX)"
id: "0x55D3" id: "0x55D3"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
type: "float" type: "float"
minver: "4" minver: "4"
documentation: Green X chromaticity coordinate as defined by CIE documentation: Green X chromaticity coordinate as defined by CIE
1931. 1931.
8.2.128. PrimaryGChromaticityY Element 9.3.4.1.30.37. PrimaryGChromaticityY Element
name: "PrimaryGChromaticityY" name: "PrimaryGChromaticityY"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
PrimaryGChromaticityY)" PrimaryGChromaticityY)"
id: "0x55D4" id: "0x55D4"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 78, line 46 skipping to change at page 84, line 4
id: "0x55D4" id: "0x55D4"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
type: "float" type: "float"
minver: "4" minver: "4"
documentation: Green Y chromaticity coordinate as defined by CIE documentation: Green Y chromaticity coordinate as defined by CIE
1931. 1931.
8.2.129. PrimaryBChromaticityX Element 9.3.4.1.30.38. PrimaryBChromaticityX Element
name: "PrimaryBChromaticityX" name: "PrimaryBChromaticityX"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
PrimaryBChromaticityX)" PrimaryBChromaticityX)"
id: "0x55D5" id: "0x55D5"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
type: "float" type: "float"
minver: "4" minver: "4"
documentation: Blue X chromaticity coordinate as defined by CIE 1931. documentation: Blue X chromaticity coordinate as defined by CIE 1931.
8.2.130. PrimaryBChromaticityY Element 9.3.4.1.30.39. PrimaryBChromaticityY Element
name: "PrimaryBChromaticityY" name: "PrimaryBChromaticityY"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
PrimaryBChromaticityY)" PrimaryBChromaticityY)"
id: "0x55D6" id: "0x55D6"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
type: "float" type: "float"
minver: "4" minver: "4"
documentation: Blue Y chromaticity coordinate as defined by CIE 1931. documentation: Blue Y chromaticity coordinate as defined by CIE 1931.
8.2.131. WhitePointChromaticityX Element 9.3.4.1.30.40. WhitePointChromaticityX Element
name: "WhitePointChromaticityX" name: "WhitePointChromaticityX"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
WhitePointChromaticityX)" WhitePointChromaticityX)"
id: "0x55D7" id: "0x55D7"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
type: "float" type: "float"
minver: "4" minver: "4"
documentation: White X chromaticity coordinate as defined by CIE documentation: White X chromaticity coordinate as defined by CIE
1931. 1931.
8.2.132. WhitePointChromaticityY Element 9.3.4.1.30.41. WhitePointChromaticityY Element
name: "WhitePointChromaticityY" name: "WhitePointChromaticityY"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
WhitePointChromaticityY)" WhitePointChromaticityY)"
id: "0x55D8" id: "0x55D8"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
type: "float" type: "float"
minver: "4" minver: "4"
documentation: White Y chromaticity coordinate as defined by CIE documentation: White Y chromaticity coordinate as defined by CIE
1931. 1931.
8.2.133. LuminanceMax Element 9.3.4.1.30.42. LuminanceMax Element
name: "LuminanceMax" name: "LuminanceMax"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
LuminanceMax)" LuminanceMax)"
id: "0x55D9" id: "0x55D9"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 80, line 47 skipping to change at page 86, line 4
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
LuminanceMax)" LuminanceMax)"
id: "0x55D9" id: "0x55D9"
maxOccurs: "1" maxOccurs: "1"
range: ">= 0x0p+0" range: ">= 0x0p+0"
type: "float" type: "float"
minver: "4" minver: "4"
documentation: Maximum luminance. Represented in candelas per square documentation: Maximum luminance. Represented in candelas per square
meter (cd/m^2). meter (cd/m^2).
8.2.134. LuminanceMin Element 9.3.4.1.30.43. LuminanceMin Element
name: "LuminanceMin" name: "LuminanceMin"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\ path: "0*1(\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\
LuminanceMin)" LuminanceMin)"
id: "0x55DA" id: "0x55DA"
maxOccurs: "1" maxOccurs: "1"
range: ">= 0x0p+0" range: ">= 0x0p+0"
type: "float" type: "float"
minver: "4" minver: "4"
documentation: Mininum luminance. Represented in candelas per square documentation: Mininum luminance. Represented in candelas per square
meter (cd/m^2). meter (cd/m^2).
8.2.135. Projection Element 9.3.4.1.30.44. Projection Element
name: "Projection" name: "Projection"
path: "0*1(\Segment\Tracks\TrackEntry\Video\Projection)" path: "0*1(\Segment\Tracks\TrackEntry\Video\Projection)"
id: "0x7670" id: "0x7670"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "4" minver: "4"
documentation: Describes the video projection details. Used to documentation: Describes the video projection details. Used to
render spherical and VR videos. render spherical and VR videos.
8.2.136. ProjectionType Element 9.3.4.1.30.45. ProjectionType Element
name: "ProjectionType" name: "ProjectionType"
path: path:
"1*1(\Segment\Tracks\TrackEntry\Video\Projection\ProjectionType)" "1*1(\Segment\Tracks\TrackEntry\Video\Projection\ProjectionType)"
id: "0x7671" id: "0x7671"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "0-3" range: "0-3"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
skipping to change at page 82, line 16 skipping to change at page 87, line 20
range: "0-3" range: "0-3"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: Describes the projection used for this video track. documentation: Describes the projection used for this video track.
8.2.137. ProjectionPrivate Element restrictions:
+-------+-----------------+
| value | label |
+-------+-----------------+
| "0" | rectangular |
| "1" | equirectangular |
| "2" | cubemap |
| "3" | mesh |
+-------+-----------------+
9.3.4.1.30.46. ProjectionPrivate Element
name: "ProjectionPrivate" name: "ProjectionPrivate"
path: path:
"0*1(\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPrivate)" "0*1(\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPrivate)"
id: "0x7672" id: "0x7672"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 82, line 47 skipping to change at page 88, line 14
(Cubemap), then this element must be present and contain the same (Cubemap), then this element must be present and contain the same
binary data that would be stored inside an ISOBMFF Cubemap Projection binary data that would be stored inside an ISOBMFF Cubemap Projection
Box ('cbmp').If ProjectionType equals 3 (Mesh), then this element Box ('cbmp').If ProjectionType equals 3 (Mesh), then this element
must be present and contain the same binary data that would be stored must be present and contain the same binary data that would be stored
inside an ISOBMFF Mesh Projection Box ('mshp').Note: ISOBMFF box size inside an ISOBMFF Mesh Projection Box ('mshp').Note: ISOBMFF box size
and fourcc fields are not included in the binary data, but the and fourcc fields are not included in the binary data, but the
FullBox version and flag fields are. This is to avoid redundant FullBox version and flag fields are. This is to avoid redundant
framing information while preserving versioning and semantics between framing information while preserving versioning and semantics between
the two container formats. the two container formats.
8.2.138. ProjectionPoseYaw Element 9.3.4.1.30.47. ProjectionPoseYaw Element
name: "ProjectionPoseYaw" name: "ProjectionPoseYaw"
path: path:
"1*1(\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPoseYaw)" "1*1(\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPoseYaw)"
id: "0x7673" id: "0x7673"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
default: "0x0p+0" default: "0x0p+0"
skipping to change at page 83, line 25 skipping to change at page 88, line 39
type: "float" type: "float"
minver: "4" minver: "4"
documentation: Specifies a yaw rotation to the documentation: Specifies a yaw rotation to the
projection.SemanticsValue represents a clockwise rotation, in projection.SemanticsValue represents a clockwise rotation, in
degrees, around the up vector. This rotation must be applied before degrees, around the up vector. This rotation must be applied before
any ProjectionPosePitch or ProjectionPoseRoll rotations. The value any ProjectionPosePitch or ProjectionPoseRoll rotations. The value
of this field should be in the -180 to 180 degree range. of this field should be in the -180 to 180 degree range.
8.2.139. ProjectionPosePitch Element 9.3.4.1.30.48. ProjectionPosePitch Element
name: "ProjectionPosePitch" name: "ProjectionPosePitch"
path: "1*1(\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPose path: "1*1(\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPose
Pitch)" Pitch)"
id: "0x7674" id: "0x7674"
minOccurs: "1" minOccurs: "1"
skipping to change at page 84, line 5 skipping to change at page 89, line 17
minver: "4" minver: "4"
documentation: Specifies a pitch rotation to the documentation: Specifies a pitch rotation to the
projection.SemanticsValue represents a counter-clockwise rotation, in projection.SemanticsValue represents a counter-clockwise rotation, in
degrees, around the right vector. This rotation must be applied degrees, around the right vector. This rotation must be applied
after the ProjectionPoseYaw rotation and before the after the ProjectionPoseYaw rotation and before the
ProjectionPoseRoll rotation. The value of this field should be in ProjectionPoseRoll rotation. The value of this field should be in
the -90 to 90 degree range. the -90 to 90 degree range.
8.2.140. ProjectionPoseRoll Element 9.3.4.1.30.49. ProjectionPoseRoll Element
name: "ProjectionPoseRoll" name: "ProjectionPoseRoll"
path: path:
"1*1(\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPoseRoll)" "1*1(\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPoseRoll)"
id: "0x7675" id: "0x7675"
minOccurs: "1" minOccurs: "1"
skipping to change at page 84, line 30 skipping to change at page 89, line 42
type: "float" type: "float"
minver: "4" minver: "4"
documentation: Specifies a roll rotation to the documentation: Specifies a roll rotation to the
projection.SemanticsValue represents a counter-clockwise rotation, in projection.SemanticsValue represents a counter-clockwise rotation, in
degrees, around the forward vector. This rotation must be applied degrees, around the forward vector. This rotation must be applied
after the ProjectionPoseYaw and ProjectionPosePitch rotations. The after the ProjectionPoseYaw and ProjectionPosePitch rotations. The
value of this field should be in the -180 to 180 degree range. value of this field should be in the -180 to 180 degree range.
8.2.141. Audio Element 9.3.4.1.31. Audio Element
name: "Audio" name: "Audio"
path: "0*1(\Segment\Tracks\TrackEntry\Audio)" path: "0*1(\Segment\Tracks\TrackEntry\Audio)"
id: "0xE1" id: "0xE1"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Audio settings. documentation: Audio settings.
8.2.142. SamplingFrequency Element 9.3.4.1.31.1. SamplingFrequency Element
name: "SamplingFrequency" name: "SamplingFrequency"
path: "1*1(\Segment\Tracks\TrackEntry\Audio\SamplingFrequency)" path: "1*1(\Segment\Tracks\TrackEntry\Audio\SamplingFrequency)"
id: "0xB5" id: "0xB5"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "> 0x0p+0" range: "> 0x0p+0"
default: "0x1.f4p+12" default: "0x1.f4p+12"
type: "float" type: "float"
skipping to change at page 85, line 18 skipping to change at page 90, line 32
range: "> 0x0p+0" range: "> 0x0p+0"
default: "0x1.f4p+12" default: "0x1.f4p+12"
type: "float" type: "float"
minver: "1" minver: "1"
documentation: Sampling frequency in Hz. documentation: Sampling frequency in Hz.
8.2.143. OutputSamplingFrequency Element 9.3.4.1.31.2. OutputSamplingFrequency Element
name: "OutputSamplingFrequency" name: "OutputSamplingFrequency"
path: "0*1(\Segment\Tracks\TrackEntry\Audio\OutputSamplingFrequency)" path: "0*1(\Segment\Tracks\TrackEntry\Audio\OutputSamplingFrequency)"
id: "0x78B5" id: "0x78B5"
maxOccurs: "1" maxOccurs: "1"
range: "> 0x0p+0" range: "> 0x0p+0"
default: "SamplingFrequency" default: "SamplingFrequency"
type: "float" type: "float"
minver: "1" minver: "1"
documentation: Real output sampling frequency in Hz (used for SBR documentation: Real output sampling frequency in Hz (used for SBR
techniques). techniques).
8.2.144. Channels Element 9.3.4.1.31.3. Channels Element
name: "Channels" name: "Channels"
path: "1*1(\Segment\Tracks\TrackEntry\Audio\Channels)" path: "1*1(\Segment\Tracks\TrackEntry\Audio\Channels)"
id: "0x9F" id: "0x9F"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 86, line 4 skipping to change at page 91, line 18
path: "1*1(\Segment\Tracks\TrackEntry\Audio\Channels)" path: "1*1(\Segment\Tracks\TrackEntry\Audio\Channels)"
id: "0x9F" id: "0x9F"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
default: "1" default: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Numbers of channels in the track. documentation: Numbers of channels in the track.
8.2.145. ChannelPositions Element 9.3.4.1.31.4. ChannelPositions Element
name: "ChannelPositions" name: "ChannelPositions"
path: "0*1(\Segment\Tracks\TrackEntry\Audio\ChannelPositions)" path: "0*1(\Segment\Tracks\TrackEntry\Audio\ChannelPositions)"
id: "0x7D7B" id: "0x7D7B"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: Table of horizontal angles for each successive documentation: Table of horizontal angles for each successive
channel, see appendix. channel, see appendix.
8.2.146. BitDepth Element 9.3.4.1.31.5. BitDepth Element
name: "BitDepth" name: "BitDepth"
path: "0*1(\Segment\Tracks\TrackEntry\Audio\BitDepth)" path: "0*1(\Segment\Tracks\TrackEntry\Audio\BitDepth)"
id: "0x6264" id: "0x6264"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Bits per sample, mostly used for PCM. documentation: Bits per sample, mostly used for PCM.
skipping to change at page 87, line 5 skipping to change at page 92, line 14
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Bits per sample, mostly used for PCM. documentation: Bits per sample, mostly used for PCM.
8.2.147. TrackOperation Element 9.3.4.1.32. TrackOperation Element
name: "TrackOperation" name: "TrackOperation"
path: "0*1(\Segment\Tracks\TrackEntry\TrackOperation)" path: "0*1(\Segment\Tracks\TrackEntry\TrackOperation)"
id: "0xE2" id: "0xE2"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "3" minver: "3"
documentation: Operation that needs to be applied on tracks to create documentation: Operation that needs to be applied on tracks to create
this virtual track. For more details look at the Specification Notes this virtual track. For more details look at the Specification Notes
on the subject. on the subject.
8.2.148. TrackCombinePlanes Element 9.3.4.1.32.1. TrackCombinePlanes Element
name: "TrackCombinePlanes" name: "TrackCombinePlanes"
path: path:
"0*1(\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes)" "0*1(\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes)"
id: "0xE3" id: "0xE3"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "3" minver: "3"
documentation: Contains the list of all video plane tracks that need documentation: Contains the list of all video plane tracks that need
to be combined to create this 3D track to be combined to create this 3D track
8.2.149. TrackPlane Element 9.3.4.1.32.2. TrackPlane Element
name: "TrackPlane" name: "TrackPlane"
path: "1*(\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlane path: "1*(\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlane
s\TrackPlane)" s\TrackPlane)"
id: "0xE4" id: "0xE4"
minOccurs: "1" minOccurs: "1"
skipping to change at page 88, line 4 skipping to change at page 93, line 17
name: "TrackPlane" name: "TrackPlane"
path: "1*(\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlane path: "1*(\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlane
s\TrackPlane)" s\TrackPlane)"
id: "0xE4" id: "0xE4"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "3" minver: "3"
documentation: Contains a video plane track that need to be combined documentation: Contains a video plane track that need to be combined
to create this 3D track to create this 3D track
8.2.150. TrackPlaneUID Element 9.3.4.1.32.3. TrackPlaneUID Element
name: "TrackPlaneUID" name: "TrackPlaneUID"
path: "1*1(\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlan path: "1*1(\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlan
es\TrackPlane\TrackPlaneUID)" es\TrackPlane\TrackPlaneUID)"
id: "0xE5" id: "0xE5"
minOccurs: "1" minOccurs: "1"
skipping to change at page 88, line 31 skipping to change at page 93, line 45
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "3" minver: "3"
documentation: The trackUID number of the track representing the documentation: The trackUID number of the track representing the
plane. plane.
8.2.151. TrackPlaneType Element 9.3.4.1.32.4. TrackPlaneType Element
name: "TrackPlaneType" name: "TrackPlaneType"
path: "1*1(\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlan path: "1*1(\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlan
es\TrackPlane\TrackPlaneType)" es\TrackPlane\TrackPlaneType)"
id: "0xE6" id: "0xE6"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "3" minver: "3"
documentation: The kind of plane this track corresponds to. documentation: The kind of plane this track corresponds to.
skipping to change at page 89, line 5 skipping to change at page 94, line 14
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "3" minver: "3"
documentation: The kind of plane this track corresponds to. documentation: The kind of plane this track corresponds to.
8.2.152. TrackJoinBlocks Element restrictions:
+-------+------------+
| value | label |
+-------+------------+
| "0" | left eye |
| "1" | right eye |
| "2" | background |
+-------+------------+
9.3.4.1.32.5. TrackJoinBlocks Element
name: "TrackJoinBlocks" name: "TrackJoinBlocks"
path: path:
"0*1(\Segment\Tracks\TrackEntry\TrackOperation\TrackJoinBlocks)" "0*1(\Segment\Tracks\TrackEntry\TrackOperation\TrackJoinBlocks)"
id: "0xE9" id: "0xE9"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "3" minver: "3"
documentation: Contains the list of all tracks whose Blocks need to documentation: Contains the list of all tracks whose Blocks need to
be combined to create this virtual track be combined to create this virtual track
8.2.153. TrackJoinUID Element 9.3.4.1.32.6. TrackJoinUID Element
name: "TrackJoinUID" name: "TrackJoinUID"
path: "1*(\Segment\Tracks\TrackEntry\TrackOperation\TrackJoinBlocks\T path: "1*(\Segment\Tracks\TrackEntry\TrackOperation\TrackJoinBlocks\T
rackJoinUID)" rackJoinUID)"
id: "0xED" id: "0xED"
minOccurs: "1" minOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "3" minver: "3"
documentation: The trackUID number of a track whose blocks are used documentation: The trackUID number of a track whose blocks are used
to create this virtual track. to create this virtual track.
8.2.154. TrickTrackUID Element 9.3.4.1.33. TrickTrackUID Element
name: "TrickTrackUID" name: "TrickTrackUID"
path: "0*1(\Segment\Tracks\TrackEntry\TrickTrackUID)" path: "0*1(\Segment\Tracks\TrackEntry\TrickTrackUID)"
id: "0xC0" id: "0xC0"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX trick track extensions documentation: DivX trick track extensions
8.2.155. TrickTrackSegmentUID Element 9.3.4.1.34. TrickTrackSegmentUID Element
name: "TrickTrackSegmentUID" name: "TrickTrackSegmentUID"
path: "0*1(\Segment\Tracks\TrackEntry\TrickTrackSegmentUID)" path: "0*1(\Segment\Tracks\TrackEntry\TrickTrackSegmentUID)"
id: "0xC1" id: "0xC1"
maxOccurs: "1" maxOccurs: "1"
size: "16" size: "16"
type: "binary" type: "binary"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX trick track extensions documentation: DivX trick track extensions
8.2.156. TrickTrackFlag Element 9.3.4.1.35. TrickTrackFlag Element
name: "TrickTrackFlag" name: "TrickTrackFlag"
path: "0*1(\Segment\Tracks\TrackEntry\TrickTrackFlag)" path: "0*1(\Segment\Tracks\TrackEntry\TrickTrackFlag)"
id: "0xC6" id: "0xC6"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX trick track extensions documentation: DivX trick track extensions
8.2.157. TrickMasterTrackUID Element 9.3.4.1.36. TrickMasterTrackUID Element
name: "TrickMasterTrackUID" name: "TrickMasterTrackUID"
path: "0*1(\Segment\Tracks\TrackEntry\TrickMasterTrackUID)" path: "0*1(\Segment\Tracks\TrackEntry\TrickMasterTrackUID)"
id: "0xC7" id: "0xC7"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX trick track extensions documentation: DivX trick track extensions
8.2.158. TrickMasterTrackSegmentUID Element 9.3.4.1.37. TrickMasterTrackSegmentUID Element
name: "TrickMasterTrackSegmentUID" name: "TrickMasterTrackSegmentUID"
path: "0*1(\Segment\Tracks\TrackEntry\TrickMasterTrackSegmentUID)" path: "0*1(\Segment\Tracks\TrackEntry\TrickMasterTrackSegmentUID)"
id: "0xC4" id: "0xC4"
maxOccurs: "1" maxOccurs: "1"
size: "16" size: "16"
type: "binary" type: "binary"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX trick track extensions documentation: DivX trick track extensions
skipping to change at page 91, line 43 skipping to change at page 97, line 14
size: "16" size: "16"
type: "binary" type: "binary"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX trick track extensions documentation: DivX trick track extensions
8.2.159. ContentEncodings Element 9.3.4.1.38. ContentEncodings Element
name: "ContentEncodings" name: "ContentEncodings"
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings)" path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings)"
id: "0x6D80" id: "0x6D80"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Settings for several content encoding mechanisms like documentation: Settings for several content encoding mechanisms like
compression or encryption. compression or encryption.
8.2.160. ContentEncoding Element 9.3.4.1.38.1. ContentEncoding Element
name: "ContentEncoding" name: "ContentEncoding"
path: path:
"1*(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding)" "1*(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding)"
id: "0x6240" id: "0x6240"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Settings for one content encoding like compression or documentation: Settings for one content encoding like compression or
encryption. encryption.
8.2.161. ContentEncodingOrder Element 9.3.4.1.38.2. ContentEncodingOrder Element
name: "ContentEncodingOrder" name: "ContentEncodingOrder"
path: "1*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "1*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncodingOrder)" g\ContentEncodingOrder)"
id: "0x5031" id: "0x5031"
minOccurs: "1" minOccurs: "1"
skipping to change at page 93, line 7 skipping to change at page 98, line 30
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Tells when this modification was used during encoding/ documentation: Tells when this modification was used during encoding/
muxing starting with 0 and counting upwards. The decoder/demuxer has muxing starting with 0 and counting upwards. The decoder/demuxer has
to start with the highest order number it finds and work its way to start with the highest order number it finds and work its way
down. This value has to be unique over all ContentEncodingOrder down. This value has to be unique over all ContentEncodingOrder
Elements in the Segment. Elements in the Segment.
8.2.162. ContentEncodingScope Element 9.3.4.1.38.3. ContentEncodingScope Element
name: "ContentEncodingScope" name: "ContentEncodingScope"
path: "1*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "1*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncodingScope)" g\ContentEncodingScope)"
id: "0x5032" id: "0x5032"
minOccurs: "1" minOccurs: "1"
skipping to change at page 93, line 34 skipping to change at page 99, line 8
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: A bit field that describes which Elements have been documentation: A bit field that describes which Elements have been
modified in this way. Values (big endian) can be OR'ed. Possible modified in this way. Values (big endian) can be OR'ed. Possible
values: 1 - all frame contents, 2 - the track's private data, 4 - the values: 1 - all frame contents, 2 - the track's private data, 4 - the
next ContentEncoding (next ContentEncodingOrder. Either the data next ContentEncoding (next ContentEncodingOrder. Either the data
inside ContentCompression and/or ContentEncryption) inside ContentCompression and/or ContentEncryption)
8.2.163. ContentEncodingType Element 9.3.4.1.38.4. ContentEncodingType Element
name: "ContentEncodingType" name: "ContentEncodingType"
path: "1*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "1*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncodingType)" g\ContentEncodingType)"
id: "0x5033" id: "0x5033"
minOccurs: "1" minOccurs: "1"
skipping to change at page 94, line 4 skipping to change at page 99, line 26
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: A value describing what kind of transformation has documentation: A value describing what kind of transformation has
been done. Possible values: 0 - compression, 1 - encryption been done. Possible values: 0 - compression, 1 - encryption
8.2.164. ContentCompression Element 9.3.4.1.38.5. ContentCompression Element
name: "ContentCompression" name: "ContentCompression"
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentCompression)" g\ContentCompression)"
id: "0x5034" id: "0x5034"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Settings describing the compression used. This documentation: Settings describing the compression used. This
Element MUST be present if the value of ContentEncodingType is 0 and Element MUST be present if the value of ContentEncodingType is 0 and
absent otherwise. Each block MUST be decompressable even if no absent otherwise. Each block MUST be decompressable even if no
previous block is available in order not to prevent seeking. previous block is available in order not to prevent seeking.
8.2.165. ContentCompAlgo Element 9.3.4.1.38.6. ContentCompAlgo Element
name: "ContentCompAlgo" name: "ContentCompAlgo"
path: "1*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "1*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentCompression\ContentCompAlgo)" g\ContentCompression\ContentCompAlgo)"
id: "0x4254" id: "0x4254"
minOccurs: "1" minOccurs: "1"
skipping to change at page 95, line 5 skipping to change at page 100, line 28
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The compression algorithm used. Algorithms that have documentation: The compression algorithm used. Algorithms that have
been specified so far are: 0 - zlib, 1 - bzlib, 2 - lzo1x 3 - Header been specified so far are: 0 - zlib, 1 - bzlib, 2 - lzo1x 3 - Header
Stripping Stripping
8.2.166. ContentCompSettings Element 9.3.4.1.38.7. ContentCompSettings Element
name: "ContentCompSettings" name: "ContentCompSettings"
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentCompression\ContentCompSettings)" g\ContentCompression\ContentCompSettings)"
id: "0x4255" id: "0x4255"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: Settings that might be needed by the decompressor. documentation: Settings that might be needed by the decompressor.
For Header Stripping (ContentCompAlgo=3), the bytes that were removed For Header Stripping (ContentCompAlgo=3), the bytes that were removed
from the beggining of each frames of the track. from the beggining of each frames of the track.
8.2.167. ContentEncryption Element 9.3.4.1.38.8. ContentEncryption Element
name: "ContentEncryption" name: "ContentEncryption"
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncryption)" g\ContentEncryption)"
id: "0x5035" id: "0x5035"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Settings describing the encryption used. This Element documentation: Settings describing the encryption used. This Element
MUST be present if the value of ContentEncodingType is 1 and absent MUST be present if the value of ContentEncodingType is 1 and absent
skipping to change at page 95, line 43 skipping to change at page 101, line 16
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Settings describing the encryption used. This Element documentation: Settings describing the encryption used. This Element
MUST be present if the value of ContentEncodingType is 1 and absent MUST be present if the value of ContentEncodingType is 1 and absent
otherwise. otherwise.
8.2.168. ContentEncAlgo Element 9.3.4.1.38.9. ContentEncAlgo Element
name: "ContentEncAlgo" name: "ContentEncAlgo"
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncryption\ContentEncAlgo)" g\ContentEncryption\ContentEncAlgo)"
id: "0x47E1" id: "0x47E1"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The encryption algorithm used. The value '0' means documentation: The encryption algorithm used. The value '0' means
that the contents have not been encrypted but only signed. that the contents have not been encrypted but only signed.
Predefined values: 1 - DES, 2 - 3DES, 3 - Twofish, 4 - Blowfish, 5 - Predefined values: 1 - DES, 2 - 3DES, 3 - Twofish, 4 - Blowfish, 5 -
AES AES
skipping to change at page 96, line 15 skipping to change at page 101, line 38
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The encryption algorithm used. The value '0' means documentation: The encryption algorithm used. The value '0' means
that the contents have not been encrypted but only signed. that the contents have not been encrypted but only signed.
Predefined values: 1 - DES, 2 - 3DES, 3 - Twofish, 4 - Blowfish, 5 - Predefined values: 1 - DES, 2 - 3DES, 3 - Twofish, 4 - Blowfish, 5 -
AES AES
8.2.169. ContentEncKeyID Element 9.3.4.1.38.10. ContentEncKeyID Element
name: "ContentEncKeyID" name: "ContentEncKeyID"
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncryption\ContentEncKeyID)" g\ContentEncryption\ContentEncKeyID)"
id: "0x47E2" id: "0x47E2"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 96, line 29 skipping to change at page 102, line 4
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncryption\ContentEncKeyID)" g\ContentEncryption\ContentEncKeyID)"
id: "0x47E2" id: "0x47E2"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: For public key algorithms this is the ID of the public documentation: For public key algorithms this is the ID of the public
key the the data was encrypted with. key the the data was encrypted with.
8.2.170. ContentSignature Element 9.3.4.1.38.11. ContentSignature Element
name: "ContentSignature" name: "ContentSignature"
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncryption\ContentSignature)" g\ContentEncryption\ContentSignature)"
id: "0x47E3" id: "0x47E3"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: A cryptographic signature of the contents. documentation: A cryptographic signature of the contents.
8.2.171. ContentSigKeyID Element 9.3.4.1.38.12. ContentSigKeyID Element
name: "ContentSigKeyID" name: "ContentSigKeyID"
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncryption\ContentSigKeyID)" g\ContentEncryption\ContentSigKeyID)"
id: "0x47E4" id: "0x47E4"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: This is the ID of the private key the data was signed documentation: This is the ID of the private key the data was signed
with. with.
8.2.172. ContentSigAlgo Element 9.3.4.1.38.13. ContentSigAlgo Element
name: "ContentSigAlgo" name: "ContentSigAlgo"
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncryption\ContentSigAlgo)" g\ContentEncryption\ContentSigAlgo)"
id: "0x47E5" id: "0x47E5"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The algorithm used for the signature. A value of '0' documentation: The algorithm used for the signature. A value of '0'
means that the contents have not been signed but only encrypted. means that the contents have not been signed but only encrypted.
Predefined values: 1 - RSA Predefined values: 1 - RSA
skipping to change at page 97, line 44 skipping to change at page 103, line 14
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The algorithm used for the signature. A value of '0' documentation: The algorithm used for the signature. A value of '0'
means that the contents have not been signed but only encrypted. means that the contents have not been signed but only encrypted.
Predefined values: 1 - RSA Predefined values: 1 - RSA
8.2.173. ContentSigHashAlgo Element 9.3.4.1.38.14. ContentSigHashAlgo Element
name: "ContentSigHashAlgo" name: "ContentSigHashAlgo"
path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin path: "0*1(\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncodin
g\ContentEncryption\ContentSigHashAlgo)" g\ContentEncryption\ContentSigHashAlgo)"
id: "0x47E6" id: "0x47E6"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The hash algorithm used for the signature. A value of documentation: The hash algorithm used for the signature. A value of
'0' means that the contents have not been signed but only encrypted. '0' means that the contents have not been signed but only encrypted.
skipping to change at page 98, line 16 skipping to change at page 103, line 35
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The hash algorithm used for the signature. A value of documentation: The hash algorithm used for the signature. A value of
'0' means that the contents have not been signed but only encrypted. '0' means that the contents have not been signed but only encrypted.
Predefined values: 1 - SHA1-160 2 - MD5 Predefined values: 1 - SHA1-160 2 - MD5
8.2.174. Cues Element 9.3.5. Cues Element
name: "Cues" name: "Cues"
path: "0*1(\Segment\Cues)" path: "0*1(\Segment\Cues)"
id: "0x1C53BB6B" id: "0x1C53BB6B"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: A Top-Level Element to speed seeking access. All documentation: A Top-Level Element to speed seeking access. All
entries are local to the Segment. This Element SHOULD be mandatory entries are local to the Segment. This Element SHOULD be mandatory
for non "live" streams. for non "live" streams.
8.2.175. CuePoint Element 9.3.5.1. CuePoint Element
name: "CuePoint" name: "CuePoint"
path: "1*(\Segment\Cues\CuePoint)" path: "1*(\Segment\Cues\CuePoint)"
id: "0xBB" id: "0xBB"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Contains all information relative to a seek point in documentation: Contains all information relative to a seek point in
the Segment. the Segment.
8.2.176. CueTime Element 9.3.5.1.1. CueTime Element
name: "CueTime" name: "CueTime"
path: "1*1(\Segment\Cues\CuePoint\CueTime)" path: "1*1(\Segment\Cues\CuePoint\CueTime)"
id: "0xB3" id: "0xB3"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Absolute timestamp according to the Segment time base. documentation: Absolute timestamp according to the Segment time base.
8.2.177. CueTrackPositions Element 9.3.5.1.2. CueTrackPositions Element
name: "CueTrackPositions" name: "CueTrackPositions"
path: "1*(\Segment\Cues\CuePoint\CueTrackPositions)" path: "1*(\Segment\Cues\CuePoint\CueTrackPositions)"
id: "0xB7" id: "0xB7"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
skipping to change at page 99, line 36 skipping to change at page 105, line 4
path: "1*(\Segment\Cues\CuePoint\CueTrackPositions)" path: "1*(\Segment\Cues\CuePoint\CueTrackPositions)"
id: "0xB7" id: "0xB7"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Contain positions for different tracks corresponding documentation: Contain positions for different tracks corresponding
to the timestamp. to the timestamp.
8.2.178. CueTrack Element 9.3.5.1.2.1. CueTrack Element
name: "CueTrack" name: "CueTrack"
path: "1*1(\Segment\Cues\CuePoint\CueTrackPositions\CueTrack)" path: "1*1(\Segment\Cues\CuePoint\CueTrackPositions\CueTrack)"
id: "0xF7" id: "0xF7"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 100, line 4 skipping to change at page 105, line 20
path: "1*1(\Segment\Cues\CuePoint\CueTrackPositions\CueTrack)" path: "1*1(\Segment\Cues\CuePoint\CueTrackPositions\CueTrack)"
id: "0xF7" id: "0xF7"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The track for which a position is given. documentation: The track for which a position is given.
8.2.179. CueClusterPosition Element 9.3.5.1.2.2. CueClusterPosition Element
name: "CueClusterPosition" name: "CueClusterPosition"
path: path:
"1*1(\Segment\Cues\CuePoint\CueTrackPositions\CueClusterPosition)" "1*1(\Segment\Cues\CuePoint\CueTrackPositions\CueClusterPosition)"
id: "0xF1" id: "0xF1"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: The Segment Position of the Cluster containing the documentation: The Segment Position of the Cluster containing the
associated Block. associated Block.
8.2.180. CueRelativePosition Element 9.3.5.1.2.3. CueRelativePosition Element
name: "CueRelativePosition" name: "CueRelativePosition"
path: path:
"0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueRelativePosition)" "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueRelativePosition)"
id: "0xF0" id: "0xF0"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
skipping to change at page 100, line 45 skipping to change at page 106, line 15
"0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueRelativePosition)" "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueRelativePosition)"
id: "0xF0" id: "0xF0"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The relative position of the referenced block inside documentation: The relative position inside the Cluster of the
the cluster with 0 being the first possible position for an Element referenced SimpleBlock or BlockGroup with 0 being the first possible
inside that cluster. position for an Element inside that Cluster.
8.2.181. CueDuration Element 9.3.5.1.2.4. CueDuration Element
name: "CueDuration" name: "CueDuration"
path: "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueDuration)" path: "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueDuration)"
id: "0xB2" id: "0xB2"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "4" minver: "4"
documentation: The duration of the block according to the Segment documentation: The duration of the block according to the Segment
time base. If missing the track's DefaultDuration does not apply and time base. If missing the track's DefaultDuration does not apply and
no duration information is available in terms of the cues. no duration information is available in terms of the cues.
8.2.182. CueBlockNumber Element 9.3.5.1.2.5. CueBlockNumber Element
name: "CueBlockNumber" name: "CueBlockNumber"
path: "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueBlockNumber)" path: "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueBlockNumber)"
id: "0x5378" id: "0x5378"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
skipping to change at page 101, line 38 skipping to change at page 107, line 4
id: "0x5378" id: "0x5378"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
default: "1" default: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Number of the Block in the specified Cluster. documentation: Number of the Block in the specified Cluster.
8.2.183. CueCodecState Element 9.3.5.1.2.6. CueCodecState Element
name: "CueCodecState" name: "CueCodecState"
path: "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueCodecState)" path: "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueCodecState)"
id: "0xEA" id: "0xEA"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "2" minver: "2"
documentation: The Segment Position of the Codec State corresponding documentation: The Segment Position of the Codec State corresponding
to this Cue Element. 0 means that the data is taken from the initial to this Cue Element. 0 means that the data is taken from the initial
Track Entry. Track Entry.
skipping to change at page 102, line 14 skipping to change at page 107, line 28
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "2" minver: "2"
documentation: The Segment Position of the Codec State corresponding documentation: The Segment Position of the Codec State corresponding
to this Cue Element. 0 means that the data is taken from the initial to this Cue Element. 0 means that the data is taken from the initial
Track Entry. Track Entry.
8.2.184. CueReference Element 9.3.5.1.2.7. CueReference Element
name: "CueReference" name: "CueReference"
path: "0*(\Segment\Cues\CuePoint\CueTrackPositions\CueReference)" path: "0*(\Segment\Cues\CuePoint\CueTrackPositions\CueReference)"
id: "0xDB" id: "0xDB"
type: "master" type: "master"
minver: "2" minver: "2"
documentation: The Clusters containing the referenced Blocks. documentation: The Clusters containing the referenced Blocks.
8.2.185. CueRefTime Element 9.3.5.1.2.8. CueRefTime Element
name: "CueRefTime" name: "CueRefTime"
path: "1*1(\Segment\Cues\CuePoint\CueTrackPositions\CueReference\CueR path: "1*1(\Segment\Cues\CuePoint\CueTrackPositions\CueReference\CueR
efTime)" efTime)"
id: "0x96" id: "0x96"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "2" minver: "2"
documentation: Timestamp of the referenced Block. documentation: Timestamp of the referenced Block.
8.2.186. CueRefCluster Element 9.3.5.1.2.9. CueRefCluster Element
name: "CueRefCluster" name: "CueRefCluster"
path: "1*1(\Segment\Cues\CuePoint\CueTrackPositions\CueReference\CueR path: "1*1(\Segment\Cues\CuePoint\CueTrackPositions\CueReference\CueR
efCluster)" efCluster)"
id: "0x97" id: "0x97"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
skipping to change at page 103, line 22 skipping to change at page 108, line 34
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: The Segment Position of the Cluster containing the documentation: The Segment Position of the Cluster containing the
referenced Block. referenced Block.
8.2.187. CueRefNumber Element 9.3.5.1.2.10. CueRefNumber Element
name: "CueRefNumber" name: "CueRefNumber"
path: "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueReference\CueR path: "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueReference\CueR
efNumber)" efNumber)"
id: "0x535F" id: "0x535F"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 103, line 40 skipping to change at page 109, line 4
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
default: "1" default: "1"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: Number of the referenced Block of Track X in the documentation: Number of the referenced Block of Track X in the
specified Cluster. specified Cluster.
8.2.188. CueRefCodecState Element 9.3.5.1.2.11. CueRefCodecState Element
name: "CueRefCodecState" name: "CueRefCodecState"
path: "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueReference\CueR path: "0*1(\Segment\Cues\CuePoint\CueTrackPositions\CueReference\CueR
efCodecState)" efCodecState)"
id: "0xEB" id: "0xEB"
maxOccurs: "1" maxOccurs: "1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
skipping to change at page 104, line 20 skipping to change at page 109, line 32
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: The Segment Position of the Codec State corresponding documentation: The Segment Position of the Codec State corresponding
to this referenced Element. 0 means that the data is taken from the to this referenced Element. 0 means that the data is taken from the
initial Track Entry. initial Track Entry.
8.2.189. Attachments Element 9.3.6. Attachments Element
name: "Attachments" name: "Attachments"
path: "0*1(\Segment\Attachments)" path: "0*1(\Segment\Attachments)"
id: "0x1941A469" id: "0x1941A469"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Contain attached files. documentation: Contain attached files.
8.2.190. AttachedFile Element 9.3.6.1. AttachedFile Element
name: "AttachedFile" name: "AttachedFile"
path: "1*(\Segment\Attachments\AttachedFile)" path: "1*(\Segment\Attachments\AttachedFile)"
id: "0x61A7" id: "0x61A7"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: An attached file. documentation: An attached file.
8.2.191. FileDescription Element 9.3.6.1.1. FileDescription Element
name: "FileDescription" name: "FileDescription"
path: "0*1(\Segment\Attachments\AttachedFile\FileDescription)" path: "0*1(\Segment\Attachments\AttachedFile\FileDescription)"
id: "0x467E" id: "0x467E"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "1" minver: "1"
documentation: A human-friendly name for the attached file. documentation: A human-friendly name for the attached file.
8.2.192. FileName Element 9.3.6.1.2. FileName Element
name: "FileName" name: "FileName"
path: "1*1(\Segment\Attachments\AttachedFile\FileName)" path: "1*1(\Segment\Attachments\AttachedFile\FileName)"
id: "0x466E" id: "0x466E"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 105, line 36 skipping to change at page 111, line 4
id: "0x466E" id: "0x466E"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "1" minver: "1"
documentation: Filename of the attached file. documentation: Filename of the attached file.
8.2.193. FileMimeType Element 9.3.6.1.3. FileMimeType Element
name: "FileMimeType" name: "FileMimeType"
path: "1*1(\Segment\Attachments\AttachedFile\FileMimeType)" path: "1*1(\Segment\Attachments\AttachedFile\FileMimeType)"
id: "0x4660" id: "0x4660"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 106, line 4 skipping to change at page 111, line 19
path: "1*1(\Segment\Attachments\AttachedFile\FileMimeType)" path: "1*1(\Segment\Attachments\AttachedFile\FileMimeType)"
id: "0x4660" id: "0x4660"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "string" type: "string"
minver: "1" minver: "1"
documentation: MIME type of the file. documentation: MIME type of the file.
8.2.194. FileData Element 9.3.6.1.4. FileData Element
name: "FileData" name: "FileData"
path: "1*1(\Segment\Attachments\AttachedFile\FileData)" path: "1*1(\Segment\Attachments\AttachedFile\FileData)"
id: "0x465C" id: "0x465C"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "1" minver: "1"
documentation: The data of the file. documentation: The data of the file.
8.2.195. FileUID Element 9.3.6.1.5. FileUID Element
name: "FileUID" name: "FileUID"
path: "1*1(\Segment\Attachments\AttachedFile\FileUID)" path: "1*1(\Segment\Attachments\AttachedFile\FileUID)"
id: "0x46AE" id: "0x46AE"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Unique ID representing the file, as random as documentation: Unique ID representing the file, as random as
possible. possible.
skipping to change at page 106, line 47 skipping to change at page 112, line 15
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Unique ID representing the file, as random as documentation: Unique ID representing the file, as random as
possible. possible.
8.2.196. FileReferral Element 9.3.6.1.6. FileReferral Element
name: "FileReferral" name: "FileReferral"
path: "0*1(\Segment\Attachments\AttachedFile\FileReferral)" path: "0*1(\Segment\Attachments\AttachedFile\FileReferral)"
id: "0x4675" id: "0x4675"
maxOccurs: "1" maxOccurs: "1"
type: "binary" type: "binary"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
skipping to change at page 107, line 17 skipping to change at page 112, line 34
type: "binary" type: "binary"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: A binary value that a track/codec can refer to when documentation: A binary value that a track/codec can refer to when
the attachment is needed. the attachment is needed.
8.2.197. FileUsedStartTime Element 9.3.6.1.7. FileUsedStartTime Element
name: "FileUsedStartTime" name: "FileUsedStartTime"
path: "0*1(\Segment\Attachments\AttachedFile\FileUsedStartTime)" path: "0*1(\Segment\Attachments\AttachedFile\FileUsedStartTime)"
id: "0x4661" id: "0x4661"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX font extension documentation: DivX font extension
8.2.198. FileUsedEndTime Element 9.3.6.1.8. FileUsedEndTime Element
name: "FileUsedEndTime" name: "FileUsedEndTime"
path: "0*1(\Segment\Attachments\AttachedFile\FileUsedEndTime)" path: "0*1(\Segment\Attachments\AttachedFile\FileUsedEndTime)"
id: "0x4662" id: "0x4662"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "0" minver: "0"
maxver: "0" maxver: "0"
documentation: DivX font extension documentation: DivX font extension
8.2.199. Chapters Element 9.3.7. Chapters Element
name: "Chapters" name: "Chapters"
path: "0*1(\Segment\Chapters)" path: "0*1(\Segment\Chapters)"
id: "0x1043A770" id: "0x1043A770"
maxOccurs: "1" maxOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: A system to define basic menus and partition data. documentation: A system to define basic menus and partition data.
For more detailed information, look at the Chapters Explanation. For more detailed information, look at the Chapters Explanation.
8.2.200. EditionEntry Element 9.3.7.1. EditionEntry Element
name: "EditionEntry" name: "EditionEntry"
path: "1*(\Segment\Chapters\EditionEntry)" path: "1*(\Segment\Chapters\EditionEntry)"
id: "0x45B9" id: "0x45B9"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
skipping to change at page 108, line 35 skipping to change at page 114, line 4
path: "1*(\Segment\Chapters\EditionEntry)" path: "1*(\Segment\Chapters\EditionEntry)"
id: "0x45B9" id: "0x45B9"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
minver: "1" minver: "1"
documentation: Contains all information about a Segment edition. documentation: Contains all information about a Segment edition.
8.2.201. EditionUID Element 9.3.7.1.1. EditionUID Element
name: "EditionUID" name: "EditionUID"
path: "0*1(\Segment\Chapters\EditionEntry\EditionUID)" path: "0*1(\Segment\Chapters\EditionEntry\EditionUID)"
id: "0x45BC" id: "0x45BC"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
skipping to change at page 109, line 4 skipping to change at page 114, line 21
id: "0x45BC" id: "0x45BC"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: A unique ID to identify the edition. It's useful for documentation: A unique ID to identify the edition. It's useful for
tagging an edition. tagging an edition.
8.2.202. EditionFlagHidden Element 9.3.7.1.2. EditionFlagHidden Element
name: "EditionFlagHidden" name: "EditionFlagHidden"
path: "1*1(\Segment\Chapters\EditionEntry\EditionFlagHidden)" path: "1*1(\Segment\Chapters\EditionEntry\EditionFlagHidden)"
id: "0x45BD" id: "0x45BD"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 109, line 31 skipping to change at page 115, line 5
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: If an edition is hidden (1), it SHOULD NOT be documentation: If an edition is hidden (1), it SHOULD NOT be
available to the user interface (but still to Control Tracks; see available to the user interface (but still to Control Tracks; see
flag notes). (1 bit) flag notes). (1 bit)
8.2.203. EditionFlagDefault Element 9.3.7.1.3. EditionFlagDefault Element
name: "EditionFlagDefault" name: "EditionFlagDefault"
path: "1*1(\Segment\Chapters\EditionEntry\EditionFlagDefault)" path: "1*1(\Segment\Chapters\EditionEntry\EditionFlagDefault)"
id: "0x45DB" id: "0x45DB"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
skipping to change at page 110, line 4 skipping to change at page 115, line 24
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: If a flag is set (1) the edition SHOULD be used as the documentation: If a flag is set (1) the edition SHOULD be used as the
default one. (1 bit) default one. (1 bit)
8.2.204. EditionFlagOrdered Element 9.3.7.1.4. EditionFlagOrdered Element
name: "EditionFlagOrdered" name: "EditionFlagOrdered"
path: "0*1(\Segment\Chapters\EditionEntry\EditionFlagOrdered)" path: "0*1(\Segment\Chapters\EditionEntry\EditionFlagOrdered)"
id: "0x45DD" id: "0x45DD"
maxOccurs: "1" maxOccurs: "1"
range: "0-1" range: "0-1"
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Specify if the chapters can be defined multiple times documentation: Specify if the chapters can be defined multiple times
and the order to play them is enforced. (1 bit) and the order to play them is enforced. (1 bit)
8.2.205. ChapterAtom Element 9.3.7.1.5. ChapterAtom Element
name: "ChapterAtom" name: "ChapterAtom"
path: "1*(\Segment\Chapters\EditionEntry(1*(\ChapterAtom)))" path: "1*(\Segment\Chapters\EditionEntry(1*(\ChapterAtom)))"
id: "0xB6" id: "0xB6"
minOccurs: "1" minOccurs: "1"
type: "master" type: "master"
recursive: "1" recursive: "1"
minver: "1" minver: "1"
documentation: Contains the atom information to use as the chapter documentation: Contains the atom information to use as the chapter
atom (apply to all tracks). atom (apply to all tracks).
8.2.206. ChapterUID Element 9.3.7.1.5.1. ChapterUID Element
name: "ChapterUID" name: "ChapterUID"
path: "1*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterUID)" path: "1*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterUID)"
id: "0x73C4" id: "0x73C4"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
skipping to change at page 111, line 18 skipping to change at page 116, line 44
maxOccurs: "1" maxOccurs: "1"
range: "not 0" range: "not 0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: A unique ID to identify the Chapter. documentation: A unique ID to identify the Chapter.
8.2.207. ChapterStringUID Element 9.3.7.1.5.2. ChapterStringUID Element
name: "ChapterStringUID" name: "ChapterStringUID"
path: path:
"0*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterStringUID)" "0*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterStringUID)"
id: "0x5654" id: "0x5654"
maxOccurs: "1" maxOccurs: "1"
type: "utf-8" type: "utf-8"
minver: "3" minver: "3"
documentation: A unique string ID to identify the Chapter. Use for documentation: A unique string ID to identify the Chapter. Use for
WebVTT cue identifier storage. WebVTT cue identifier storage.
8.2.208. ChapterTimeStart Element 9.3.7.1.5.3. ChapterTimeStart Element
name: "ChapterTimeStart" name: "ChapterTimeStart"
path: path:
"1*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterTimeStart)" "1*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterTimeStart)"
id: "0x91" id: "0x91"
minOccurs: "1" minOccurs: "1"
skipping to change at page 112, line 4 skipping to change at page 117, line 29
id: "0x91" id: "0x91"
minOccurs: "1" minOccurs: "1"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Timestamp of the start of Chapter (not scaled). documentation: Timestamp of the start of Chapter (not scaled).
8.2.209. ChapterTimeEnd Element 9.3.7.1.5.4. ChapterTimeEnd Element
name: "ChapterTimeEnd" name: "ChapterTimeEnd"
path: path:
"0*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterTimeEnd)" "0*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterTimeEnd)"
id: "0x92" id: "0x92"
maxOccurs: "1" maxOccurs: "1"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Timestamp of the end of Chapter (timestamp excluded, documentation: Timestamp of the end of Chapter (timestamp excluded,
not scaled). not scaled).
8.2.210. ChapterFlagHidden Element 9.3.7.1.5.5. ChapterFlagHidden Element
name: "ChapterFlagHidden" name: "ChapterFlagHidden"
path: path:
"1*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterFlagHidden)" "1*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterFlagHidden)"
id: "0x98" id: "0x98"
minOccurs: "1" minOccurs: "1"
skipping to change at page 113, line 5 skipping to change at page 118, line 30
default: "0" default: "0"
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: If a chapter is hidden (1), it SHOULD NOT be available documentation: If a chapter is hidden (1), it SHOULD NOT be available
to the user interface (but still to Control Tracks; see flag notes). to the user interface (but still to Control Tracks; see flag notes).
(1 bit) (1 bit)
8.2.211. ChapterFlagEnabled Element 9.3.7.1.5.6. ChapterFlagEnabled Element
name: "ChapterFlagEnabled" name: "ChapterFlagEnabled"
path: path:
"1*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterFlagEnabled)" "1*1(\Segment\Chapters\EditionEntry\ChapterAtom\ChapterFlagEnabled)"
id: "0x4598" id: "0x4598"
minOccurs: "1" minOccurs: "1"
skipping to change at page 113, line 31 skipping to change at page 119, line 7
type: "uinteger" type: "uinteger"
minver: "1" minver: "1"
documentation: Specify whether the chapter is enabled. It can be documentation: Specify whether the chapter is enabled. It can