rfc9559.original.xml | rfc9559.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!-- name="GENERATOR" content="github.com/mmarkdown/mmark Mmark Markdown Process | ||||
or - mmark.miek.nl" --> | <!DOCTYPE rfc [ | |||
<rfc version="3" ipr="trust200902" docName="draft-ietf-cellar-matroska-21" sortR | <!ENTITY nbsp " "> | |||
efs="true" tocDepth="4" submissionType="IETF" category="std" xml:lang="en" xmlns | <!ENTITY zwsp "​"> | |||
:xi="http://www.w3.org/2001/XInclude" indexInclude="true" consensus="true"> | <!ENTITY nbhy "‑"> | |||
<!ENTITY wj "⁠"> | ||||
]> | ||||
<rfc version="3" ipr="trust200902" docName="draft-ietf-cellar-matroska-21" numbe | ||||
r="9559" submissionType="IETF" category="std" consensus="true" tocInclude="true" | ||||
sortRefs="true" symRefs="true" tocDepth="4" xml:lang="en" xmlns:xi="http://www. | ||||
w3.org/2001/XInclude" updates="8794" obsoletes=""> | ||||
<!-- [rfced] We added "Updates: 8794" to the document header per the text in | ||||
the Abstract and Section 4.2. Please review and let us know any concerns. | ||||
--> | ||||
<!-- [rfced] Should "Specifications" (plural) in the document title be updated | ||||
to "Specification" (singular)? Or is the current correct? | ||||
Original: | ||||
Matroska Media Container Format Specifications | ||||
Perhaps: | ||||
Matroska Media Container Format Specification | ||||
--> | ||||
<front> | <front> | |||
<title abbrev="Matroska Format">Matroska Media Container Format Specifications</ | <title abbrev="Matroska Format">Matroska Media Container Format Specifications | |||
title><seriesInfo value="draft-ietf-cellar-matroska-21" stream="IETF" status="st | </title> | |||
andard" name="Internet-Draft"></seriesInfo> | <seriesInfo name="RFC" value="9559"/> | |||
<author initials="S." surname="Lhomme" fullname="Steve Lhomme"><organization></o | ||||
rganization><address><postal><street></street> | ||||
</postal><email>slhomme@matroska.org</email> | ||||
</address></author><author initials="M." surname="Bunkus" fullname="Moritz Bunku | ||||
s"><organization></organization><address><postal><street></street> | ||||
</postal><email>moritz@bunkus.org</email> | ||||
</address></author><author initials="D." surname="Rice" fullname="Dave Rice"><or | ||||
ganization></organization><address><postal><street></street> | ||||
</postal><email>dave@dericed.com</email> | ||||
</address></author><date year="2023" month="October" day="22"></date> | ||||
<area>art</area> | ||||
<workgroup>CELLAR Group</workgroup> | ||||
<keyword>binary</keyword> | ||||
<keyword>storage</keyword> | ||||
<keyword>matroska</keyword> | ||||
<keyword>ebml</keyword> | ||||
<keyword>webm</keyword> | ||||
<author initials="S." surname="Lhomme" fullname="Steve Lhomme"> | ||||
<organization></organization> | ||||
<address> | ||||
<postal> | ||||
<street></street> | ||||
</postal> | ||||
<email>slhomme@matroska.org</email> | ||||
</address> | ||||
</author> | ||||
<author initials="M." surname="Bunkus" fullname="Moritz Bunkus"> | ||||
<organization></organization> | ||||
<address> | ||||
<postal> | ||||
<street></street> | ||||
</postal> | ||||
<email>moritz@bunkus.org</email> | ||||
</address> | ||||
</author> | ||||
<author initials="D." surname="Rice" fullname="Dave Rice"> | ||||
<organization></organization> | ||||
<address> | ||||
<postal> | ||||
<street></street> | ||||
</postal> | ||||
<email>dave@dericed.com</email> | ||||
</address> | ||||
</author> | ||||
<date year="2024" month="April" /> | ||||
<area>art</area> | ||||
<workgroup>cellar</workgroup> | ||||
<keyword>binary</keyword> | ||||
<keyword>storage</keyword> | ||||
<keyword>matroska</keyword> | ||||
<keyword>ebml</keyword> | ||||
<keyword>webm</keyword> | ||||
<abstract> | <abstract> | |||
<t>This document defines the Matroska audiovisual data container structure, incl | <t>This document defines the Matroska audiovisual data container structure, | |||
uding definitions of its structural elements, | including definitions of its structural elements, terminology, | |||
as well as its terminology, vocabulary, and application.</t> | vocabulary, and application.</t> | |||
<t>This document updates <xref target="RFC8794"></xref> to permit the use of a p | <t>This document updates RFC 8794 to permit the use of a previously reserved Ext | |||
reviously reserved EBML Element ID.</t> | ensible Binary Meta Language (EBML) Element ID.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="introduction"><name>Introduction</name> | <section anchor="introduction"><name>Introduction</name> | |||
<t>Matroska is an audiovisual data container format. It was derived from a proje | <t>Matroska is an audiovisual data container format. It was derived from a | |||
ct called <xref target="MCF"></xref>, | project called <xref target="MCF"></xref> but diverges from it | |||
but diverges from it significantly because it is based on EBML (Extensible Binar | significantly because it is based on EBML (Extensible Binary Meta Language) | |||
y Meta Language) <xref target="RFC8794"></xref>, | <xref target="RFC8794"></xref>, a binary derivative of XML. EBML | |||
a binary derivative of XML. EBML provides significant advantages in terms of fut | provides significant advantages in terms of future format extensibility, | |||
ure format extensibility, | ||||
without breaking file support in parsers reading the previous versions.</t> | without breaking file support in parsers reading the previous versions.</t> | |||
<t>First, it is essential to clarify exactly "What an Audio/Video container is", to avoid any misunderstandings:</t> | ||||
<ul spacing="compact"> | <t>To avoid any misunderstandings, it is essential to clarify exactly | |||
<li>It is NOT a video or audio compression format (codec)</li> | what an audio/video container is:</t> | |||
<ul> | ||||
<li>It is NOT a video or audio compression format (codec).</li> | ||||
<li>It is an envelope in which there can be many audio, video, and subtitles str eams, | <li>It is an envelope in which there can be many audio, video, and subtitles str eams, | |||
allowing the user to store a complete movie or CD in a single file.</li> | allowing the user to store a complete movie or CD in a single file.</li> | |||
</ul> | </ul> | |||
<t>Matroska is designed with the future in mind. It incorporates features such a s:</t> | <t>Matroska is designed with the future in mind. It incorporates features such a s:</t> | |||
<ul spacing="compact"> | <ul> | |||
<li>Fast seeking in the file</li> | <li>Fast seeking in the file</li> | |||
<li>Chapter entries</li> | <li>Chapter entries</li> | |||
<li>Full metadata (tags) support</li> | <li>Full metadata (tags) support</li> | |||
<li>Selectable subtitle/audio/video streams</li> | <li>Selectable subtitle/audio/video streams</li> | |||
<li>Modularly expandable</li> | <li>Modularly expandable</li> | |||
<li>Error resilience (can recover playback even when the stream is damaged)</li> | <li>Error resilience (can recover playback even when the stream is damaged)</li> | |||
<li>Streamable over the internet and local networks (HTTP <xref target="RFC9110" | <li>Streamable over the Internet and local networks (HTTP <xref target="RFC9110" | |||
></xref>, FTP <xref target="RFC0959"></xref>, SMB <xref target="SMB-CIFS"></xref | ></xref>, FTP <xref target="RFC0959"></xref>, SMB <xref target="SMB-CIFS"></xref | |||
>, etc.)</li> | >, etc.)</li> | |||
<li>Menus (like DVDs have <xref target="DVD-Video"></xref>)</li> | <li>Menus (like menus that DVDs have <xref target="DVD-Video"></xref>)</li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
<section anchor="status-of-this-document"><name>Status of this document</name> | <section anchor="status-of-this-document"><name>Status of This Document</name> | |||
<t>This document covers Matroska versions 1, 2, 3 and 4. Matroska v4 is the curr | <t>This document covers Matroska versions 1, 2, 3, and 4. Matroska version 4 is | |||
ent version. | the current version. | |||
Matroska 1 to 3 are no longer maintained. No new elements are expected in files | Matroska versions 1 to 3 are no longer maintained. No new elements are expected | |||
with version numbers 1, 2, or 3.</t> | in files with version numbers 1, 2, or 3.</t> | |||
</section> | </section> | |||
<section anchor="notation-and-conventions"><name>Notation and Conventions</name> | <section anchor="notation-and-conventions"><name>Notation and Conventions</name> | |||
<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>& | <t> | |||
quot;, | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
"<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bc | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
p14>SHALL NOT</bcp14>", | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
"<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
"<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>&quo | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are | |||
t;, | to be interpreted as described in BCP 14 <xref target="RFC2119"/> | |||
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this | <xref target="RFC8174"/> when, and only when, they appear in all capitals, | |||
document are to be interpreted as | as shown here. </t> | |||
described in BCP 14 <xref target="RFC2119"></xref> <xref target="RFC8174"></xref | ||||
> | ||||
when, and only when, they appear in all capitals, as shown here.</t> | ||||
<t>This document defines specific terms in order to define the format and applic | ||||
ation of <tt>Matroska</tt>. | ||||
Specific terms are defined below:</t> | ||||
<dl spacing="compact"> | <t>This document defines the following terms in order to | |||
define the format and application of <tt>Matroska</tt>: | ||||
</t> | ||||
<dl> | ||||
<dt><tt>Matroska</tt>:</dt> | <dt><tt>Matroska</tt>:</dt> | |||
<dd>A multimedia container format based on EBML (Extensible Binary Meta Language ).</dd> | <dd>A multimedia container format based on EBML (Extensible Binary Meta Language ).</dd> | |||
<dt><tt>Matroska Reader</tt>:</dt> | <dt><tt>Matroska Reader</tt>:</dt> | |||
<dd>A data parser that interprets the semantics of a Matroska document and creat es a way for programs to use <tt>Matroska</tt>.</dd> | <dd>A data parser that interprets the semantics of a Matroska document and creat es a way for programs to use <tt>Matroska</tt>.</dd> | |||
<dt><tt>Matroska Player</tt>:</dt> | <dt><tt>Matroska Player</tt>:</dt> | |||
<dd>A <tt>Matroska Reader</tt> with a primary purpose of playing audiovisual fil es, including <tt>Matroska</tt> documents.</dd> | <dd>A <tt>Matroska Reader</tt> with the primary purpose of playing audiovisual f iles, including <tt>Matroska</tt> documents.</dd> | |||
<dt><tt>Matroska Writer</tt>:</dt> | <dt><tt>Matroska Writer</tt>:</dt> | |||
<dd>A data writer that creates <tt>Matroska</tt> documents.</dd> | <dd>A data writer that creates <tt>Matroska</tt> documents.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="matroska-overview"><name>Matroska Overview</name> | <section anchor="matroska-overview"><name>Matroska Overview</name> | |||
<section anchor="principles"><name>Principles</name> | <section anchor="principles"><name>Principles</name> | |||
<t>Matroska is a Document Type of EBML (Extensible Binary Meta Language). | <t>Matroska is a Document Type of EBML. | |||
This specification is dependent on the EBML Specification <xref target="RFC8794" | This specification is dependent on the EBML specification <xref target="RFC8794" | |||
></xref>. | ></xref>. | |||
For an understanding of Matroska's EBML Schema, see in particular the sections o | For an understanding of Matroska's EBML Schema, see in particular the sections o | |||
f the EBML Specification covering | f the EBML specification that cover | |||
EBML Element Types (Section 7), | EBML Element Types (Section <xref target="RFC8794" sectionFormat="bare" section= | |||
EBML Schema (Section 11.1), | "7"/>), | |||
and EBML Structure (Section 3).</t> | EBML Schema (Section <xref target="RFC8794" sectionFormat="bare" section="11.1"/ | |||
>), | ||||
and EBML Structure (Section <xref target="RFC8794" sectionFormat="bare" section= | ||||
"3"/>).</t> | ||||
</section> | </section> | |||
<section anchor="updates-to-rfc-8794"><name>Updates to RFC 8794</name> | <section anchor="updates-to-rfc-8794"><name>Updates to RFC 8794</name> | |||
<t>Because of an oversight, <xref target="RFC8794"></xref> reserved EBML ID 0x80 , which is used by deployed Matroska implementations. | <t>Because of an oversight, <xref target="RFC8794"></xref> reserved EBML ID 0x80 , which is used by deployed Matroska implementations. | |||
For this reason, this specification updates <xref target="RFC8794"></xref> to ma | ||||
ke 0x80 a legal EBML ID. | ||||
Specifically, the following are changed in <xref target="RFC8794"></xref>:</t> | ||||
<ul spacing="compact"> | For this reason, this specification updates <xref target="RFC8794"></xref> to ma | |||
<li>From Errata 7189</li> | ke 0x80 a legal EBML ID. Additionally, this specification makes the following up | |||
</ul> | dates:</t> | |||
<t>In Section 17.1,</t> | ||||
<ul> | ||||
<li><t><xref target="RFC8794" sectionFormat="of" section="17.1"/> (per Erratum I | ||||
D #7189 <xref target="Err7189"/>)</t> | ||||
<t>OLD:</t> | <t>OLD:</t> | |||
<t>One-octet Element IDs MUST be between 0x81 and 0xFE. These items are | <blockquote> | |||
<t>One-octet Element IDs <bcp14>MUST</bcp14> be between 0x81 and 0xFE. These it | ||||
ems are | ||||
valuable because they are short, and they need to be used for | valuable because they are short, and they need to be used for | |||
commonly repeated elements. Element IDs are to be allocated within | commonly repeated elements. Element IDs are to be allocated within | |||
this range according to the "RFC Required" policy [RFC8126].</t> | this range according to the "RFC Required" policy <xref target="RFC8126"/>.</ t> | |||
<t>The following one-octet Element IDs are RESERVED: 0xFF and 0x80.</t> | <t>The following one-octet Element IDs are RESERVED: 0xFF and 0x80.</t> | |||
</blockquote> | ||||
<t>NEW:</t> | <t>NEW:</t> | |||
<t>One-octet Element IDs MUST be between 0x80 and 0xFE. These items are | <blockquote> | |||
<t>One-octet Element IDs <bcp14>MUST</bcp14> be between 0x80 and 0xFE. These it | ||||
ems are | ||||
valuable because they are short, and they need to be used for | valuable because they are short, and they need to be used for | |||
commonly repeated elements. Element IDs are to be allocated within | commonly repeated elements. Element IDs are to be allocated within | |||
this range according to the "RFC Required" policy [RFC8126].</t> | this range according to the "RFC Required" policy <xref target="RFC8126"/>.</ t> | |||
<t>The following one-octet Element ID is RESERVED: 0xFF.</t> | <t>The following one-octet Element ID is RESERVED: 0xFF.</t> | |||
</blockquote> | ||||
</li> | ||||
<ul spacing="compact"> | <li><t><xref target="RFC8794" sectionFormat="of" section="5"/> (per Erratum ID # | |||
<li>From Errata 7191</li> | 7191 <xref target="Err7191"/>)</t> | |||
</ul> | ||||
<t>In Section 5,</t> | ||||
<t>OLD:</t> | ||||
<artwork> +=========================+================+=================+ | <t>OLD:</t> | |||
| Element ID Octet Length | Range of Valid | Number of Valid | | <artwork> | |||
| | Element IDs | Element IDs | | +=========================+================+=================+ | |||
+=========================+================+=================+ | | Element ID Octet Length | Range of Valid | Number of Valid | | |||
| 1 | 0x81 - 0xFE | 126 | | | | Element IDs | Element IDs | | |||
+-------------------------+----------------+-----------------+ | +=========================+================+=================+ | |||
| 1 | 0x81 - 0xFE | 126 | | ||||
+-------------------------+----------------+-----------------+ | ||||
</artwork> | </artwork> | |||
-------------------------+----------------+-----------------+ | ||||
<t>NEW:</t> | <t>NEW:</t> | |||
<artwork> +=========================+================+=================+ | <artwork> | |||
| Element ID Octet Length | Range of Valid | Number of Valid | | +=========================+================+=================+ | |||
| | Element IDs | Element IDs | | | Element ID Octet Length | Range of Valid | Number of Valid | | |||
+=========================+================+=================+ | | | Element IDs | Element IDs | | |||
| 1 | 0x80 - 0xFE | 127 | | +=========================+================+=================+ | |||
+-------------------------+----------------+-----------------+ | | 1 | 0x80 - 0xFE | 127 | | |||
+-------------------------+----------------+-----------------+ | ||||
</artwork> | </artwork> | |||
-------------------------+----------------+-----------------+ | ||||
</li> | ||||
</ul> | ||||
</section> | </section> | |||
<section anchor="added-ebml-constraints"><name>Added EBML Constraints</name> | <section anchor="added-ebml-constraints"><name>Added EBML Constraints</name> | |||
<t>As an EBML Document Type, Matroska adds the following constraints to the EBML specification.</t> | <t>As an EBML Document Type, Matroska adds the following constraints to the EBML specification <xref target="RFC8794"></xref>:</t> | |||
<ul spacing="compact"> | <ul> | |||
<li>The <tt>docType</tt> of the <tt>EBML Header</tt> <bcp14>MUST</bcp14> be &quo | <li>The <tt>docType</tt> of the <tt>EBML Header</tt> <bcp14>MUST</bcp14> be "mat | |||
t;matroska".</li> | roska".</li> | |||
<li>The <tt>EBMLMaxIDLength</tt> of the <tt>EBML Header</tt> <bcp14>MUST</bcp14> be 4.</li> | <li>The <tt>EBMLMaxIDLength</tt> of the <tt>EBML Header</tt> <bcp14>MUST</bcp14> be 4.</li> | |||
<li>The <tt>EBMLMaxSizeLength</tt> of the <tt>EBML Header</tt> <bcp14>MUST</bcp1 4> be between 1 and 8 inclusive.</li> | <li>The <tt>EBMLMaxSizeLength</tt> of the <tt>EBML Header</tt> <bcp14>MUST</bcp1 4> be between 1 and 8, inclusive.</li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
<section anchor="design-rules"><name>Design Rules</name> | <section anchor="design-rules"><name>Design Rules</name> | |||
<t>The Root Element and all Top-Levels Elements <bcp14>MUST</bcp14> use 4 octets | ||||
for their EBML Element ID -- i.e. Segment and direct children of Segment.</t> | <t>The Root Element and all Top-Level Elements <bcp14>MUST</bcp14> use 4 octets | |||
<t>Legacy EBML/Matroska parsers did not handle Empty Elements properly, elements | for their EBML Element ID -- i.e., Segment and direct children of Segment.</t> | |||
present in the file but with a length of zero. | ||||
They always assumed the value was 0 for integers/dates or 0x0p+0, the textual ex | <t>Legacy EBML/Matroska parsers did not handle Empty Elements properly; elements | |||
pression of floats using the <xref target="ISO9899"></xref> format, no matter th | were present in the file but had a length of 0. | |||
e default value of the element which should have been used instead. | They always assumed the value was 0 for integers/dates or 0x0p+0, the textual ex | |||
Therefore, Matroska writers <bcp14>MUST NOT</bcp14> use EBML Empty Elements, if | pression of floats using the format in <xref target="ISO9899"></xref>, no matter | |||
the element has a default value that is not 0 for integers/dates and 0x0p+0 for | the default value of the element that should have been used instead. | |||
floats.</t> | Therefore, Matroska Writers <bcp14>MUST NOT</bcp14> use EBML Empty Elements if t | |||
he element has a default value that is not 0 for integers/dates and 0x0p+0 for f | ||||
loats.</t> | ||||
<t>When adding new elements to Matroska, these rules apply:</t> | <t>When adding new elements to Matroska, these rules apply:</t> | |||
<ul spacing="compact"> | <ul> | |||
<li>A non-mandatory integer/date Element <bcp14>MUST NOT</bcp14> have a default value other than 0.</li> | <li>A non-mandatory integer/date Element <bcp14>MUST NOT</bcp14> have a default value other than 0.</li> | |||
<li>A non-mandatory float Element <bcp14>MUST NOT</bcp14> have a default value o ther than 0x0p+0.</li> | <li>A non-mandatory float Element <bcp14>MUST NOT</bcp14> have a default value o ther than 0x0p+0.</li> | |||
<li>A non-mandatory string Element <bcp14>MUST NOT</bcp14> have a default value , as empty string cannot be defined in the XML Schema.</li> | <li>A non-mandatory string Element <bcp14>MUST NOT</bcp14> have a default value , as empty strings cannot be defined in the XML Schema.</li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
<section anchor="data-layout"><name>Data Layout</name> | <section anchor="data-layout"><name>Data Layout</name> | |||
<t>A Matroska file <bcp14>MUST</bcp14> be composed of at least one <tt>EBML Docu ment</tt> using the <tt>Matroska Document Type</tt>. | <t>A Matroska file <bcp14>MUST</bcp14> be composed of at least one <tt>EBML Docu ment</tt> using the <tt>Matroska Document Type</tt>. | |||
Each <tt>EBML Document</tt> <bcp14>MUST</bcp14> start with an <tt>EBML Header</t | Each <tt>EBML Document</tt> <bcp14>MUST</bcp14> start with an <tt>EBML Header</t | |||
t> and <bcp14>MUST</bcp14> be followed by the <tt>EBML Root Element</tt>, | t> and <bcp14>MUST</bcp14> be followed by the <tt>EBML Root Element</tt>, define | |||
defined as <tt>Segment</tt> in Matroska. Matroska defines several <tt>Top-Level | d as <tt>Segment</tt> in Matroska. Matroska defines several <tt>Top-Level Elemen | |||
Elements</tt> | ts</tt> | |||
which may occur within the <tt>Segment</tt>.</t> | that may occur within the <tt>Segment</tt>.</t> | |||
<t>As an example, a simple Matroska file consisting of a single <tt>EBML Documen t</tt> could be represented like this:</t> | <t>As an example, a simple Matroska file consisting of a single <tt>EBML Documen t</tt> could be represented like this:</t> | |||
<ul spacing="compact"> | <ul spacing="compact"> | |||
<li><tt>EBML Header</tt></li> | <li><tt>EBML Header</tt></li> | |||
<li><tt>Segment</tt></li> | <li><tt>Segment</tt></li> | |||
</ul> | </ul> | |||
<t>A more complex Matroska file consisting of an <tt>EBML Stream</tt> (consistin g of two <tt>EBML Documents</tt>) could be represented like this:</t> | <t>A more complex Matroska file consisting of an <tt>EBML Stream</tt> (consistin g of two <tt>EBML Documents</tt>) could be represented like this:</t> | |||
<ul spacing="compact"> | <ul spacing="compact"> | |||
<li><tt>EBML Header</tt></li> | <li><tt>EBML Header</tt></li> | |||
<li><tt>Segment</tt></li> | <li><tt>Segment</tt></li> | |||
<li><tt>EBML Header</tt></li> | <li><tt>EBML Header</tt></li> | |||
<li><tt>Segment</tt></li> | <li><tt>Segment</tt></li> | |||
</ul> | </ul> | |||
<t>The following diagram represents a simple Matroska file, comprised of an <tt> EBML Document</tt> | <t>The following diagram represents a simple Matroska file, comprised of an <tt> EBML Document</tt> | |||
with an <tt>EBML Header</tt>, a <tt>Segment Element</tt> (the <tt>Root Element</ tt>), and all eight Matroska | with an <tt>EBML Header</tt>, a <tt>Segment Element</tt> (the <tt>Root Element</ tt>), and all eight Matroska | |||
<tt>Top-Level Elements</tt>. In the following diagrams of this section, horizont al spacing expresses | <tt>Top-Level Elements</tt>. In the diagrams in this section, horizontal spacing expresses | |||
a parent-child relationship between Matroska Elements (e.g., the <tt>Info Elemen t</tt> is contained within | a parent-child relationship between Matroska Elements (e.g., the <tt>Info Elemen t</tt> is contained within | |||
the <tt>Segment Element</tt>) whereas vertical alignment represents the storage | the <tt>Segment Element</tt>), whereas vertical alignment represents the storage | |||
order within the file.</t> | order within the file.</t> | |||
<figure><name>Basic layout of a Matroska file. | <figure><name>Basic Layout of a Matroska File</name> | |||
</name> | <artwork> | |||
<artwork>+-------------+ | +-------------+ | |||
| EBML Header | | | EBML Header | | |||
+---------------------------+ | +---------------------------+ | |||
| Segment | SeekHead | | | Segment | SeekHead | | |||
| |-------------| | | |-------------| | |||
| | Info | | | | Info | | |||
| |-------------| | | |-------------| | |||
| | Tracks | | | | Tracks | | |||
| |-------------| | | |-------------| | |||
| | Chapters | | | | Chapters | | |||
| |-------------| | | |-------------| | |||
skipping to change at line 216 ¶ | skipping to change at line 276 ¶ | |||
| | Cues | | | | Cues | | |||
| |-------------| | | |-------------| | |||
| | Attachments | | | | Attachments | | |||
| |-------------| | | |-------------| | |||
| | Tags | | | | Tags | | |||
+---------------------------+ | +---------------------------+ | |||
</artwork> | </artwork> | |||
</figure> | </figure> | |||
<t>The Matroska <tt>EBML Schema</tt> defines eight <tt>Top-Level Elements</tt>:< /t> | <t>The Matroska <tt>EBML Schema</tt> defines eight <tt>Top-Level Elements</tt>:< /t> | |||
<ul spacing="compact"> | <ul> | |||
<li><tt>SeekHead</tt> (<xref target="seekhead"></xref>),</li> | <li><tt>SeekHead</tt> (<xref target="seekhead"></xref>)</li> | |||
<li><tt>Info</tt> (<xref target="info"></xref>),</li> | <li><tt>Info</tt> (<xref target="info"></xref>)</li> | |||
<li><tt>Tracks</tt> (<xref target="track-flags"></xref>),</li> | <li><tt>Tracks</tt> (<xref target="track-flags"></xref>)</li> | |||
<li><tt>Chapters</tt> (<xref target="chapters"></xref>),</li> | <li><tt>Chapters</tt> (<xref target="chapters"></xref>)</li> | |||
<li><tt>Cluster</tt> (<xref target="cluster-blocks"></xref>),</li> | <li><tt>Cluster</tt> (<xref target="cluster-blocks"></xref>)</li> | |||
<li><tt>Cues</tt> (<xref target="cues"></xref>),</li> | <li><tt>Cues</tt> (<xref target="cues"></xref>)</li> | |||
<li><tt>Attachments</tt> (<xref target="attachments-1"></xref>),</li> | <li><tt>Attachments</tt> (<xref target="attachments-1"></xref>)</li> | |||
<li>and <tt>Tags</tt> (<xref target="tags"></xref>).</li> | <li><tt>Tags</tt> (<xref target="tags"></xref>)</li> | |||
</ul> | </ul> | |||
<t>The <tt>SeekHead Element</tt> (also known as <tt>MetaSeek</tt>) contains an i ndex of <tt>Top-Level Elements</tt> | <t>The <tt>SeekHead Element</tt> (also known as <tt>MetaSeek</tt>) contains an i ndex of <tt>Top-Level Elements</tt> | |||
locations within the <tt>Segment</tt>. Use of the <tt>SeekHead Element</tt> is < bcp14>RECOMMENDED</bcp14>. Without a <tt>SeekHead Element</tt>, | locations within the <tt>Segment</tt>. Use of the <tt>SeekHead Element</tt> is < bcp14>RECOMMENDED</bcp14>. Without a <tt>SeekHead Element</tt>, | |||
a Matroska parser would have to search the entire file to find all of the other <tt>Top-Level Elements</tt>. | a Matroska parser would have to search the entire file to find all of the other <tt>Top-Level Elements</tt>. | |||
This is due to Matroska's flexible ordering requirements; for instance, it is ac ceptable for | This is due to Matroska's flexible ordering requirements; for instance, it is ac ceptable for | |||
the <tt>Chapters Element</tt> to be stored after the <tt>Cluster Elements</tt>.< | the <tt>Chapters Element</tt> to be stored after the <tt>Cluster Element</tt>.</ | |||
/t> | t> | |||
<figure><name>Representation of a <tt>SeekHead Element</tt>. | <figure><name>Representation of a <tt>SeekHead Element</tt> | |||
</name> | </name> | |||
<artwork>+--------------------------------+ | <artwork> | |||
+--------------------------------+ | ||||
| SeekHead | Seek | SeekID | | | SeekHead | Seek | SeekID | | |||
| | |--------------| | | | |--------------| | |||
| | | SeekPosition | | | | | SeekPosition | | |||
+--------------------------------+ | +--------------------------------+ | |||
</artwork> | </artwork> | |||
</figure> | </figure> | |||
<t>The <tt>Info Element</tt> contains vital information for identifying the whol e <tt>Segment</tt>. | <t>The <tt>Info Element</tt> contains vital information for identifying the whol e <tt>Segment</tt>. | |||
This includes the title for the <tt>Segment</tt>, a randomly generated unique id | This includes the title for the <tt>Segment</tt>, a randomly generated unique id | |||
entifier, | entifier (UID), | |||
and the unique identifier(s) of any linked <tt>Segment Elements</tt>.</t> | and the UID(s) of any linked <tt>Segment Elements</tt>.</t> | |||
<figure><name>Representation of an <tt>Info Element</tt> and its <tt>Child Eleme | <figure><name>Representation of an <tt>Info Element</tt> and Its <tt>Child Eleme | |||
nts</tt>. | nts</tt> | |||
</name> | </name> | |||
<artwork>+-------------------------+ | <artwork> | |||
+-------------------------+ | ||||
| Info | SegmentUUID | | | Info | SegmentUUID | | |||
| |------------------| | | |------------------| | |||
| | SegmentFilename | | | | SegmentFilename | | |||
| |------------------| | | |------------------| | |||
| | PrevUUID | | | | PrevUUID | | |||
| |------------------| | | |------------------| | |||
| | PrevFilename | | | | PrevFilename | | |||
| |------------------| | | |------------------| | |||
| | NextUUID | | | | NextUUID | | |||
| |------------------| | | |------------------| | |||
skipping to change at line 277 ¶ | skipping to change at line 339 ¶ | |||
| |------------------| | | |------------------| | |||
| | Title | | | | Title | | |||
| |------------------| | | |------------------| | |||
| | MuxingApp | | | | MuxingApp | | |||
| |------------------| | | |------------------| | |||
| | WritingApp | | | | WritingApp | | |||
|-------------------------| | |-------------------------| | |||
</artwork> | </artwork> | |||
</figure> | </figure> | |||
<t>The <tt>Tracks Element</tt> defines the technical details for each track and can store the name, | <t>The <tt>Tracks Element</tt> defines the technical details for each track and can store the name, | |||
number, unique identifier, language, and type (audio, video, subtitles, etc.) of each track. | number, UID, language, and type (audio, video, subtitles, etc.) of each track. | |||
For example, the <tt>Tracks Element</tt> <bcp14>MAY</bcp14> store information ab out the resolution of a video track | For example, the <tt>Tracks Element</tt> <bcp14>MAY</bcp14> store information ab out the resolution of a video track | |||
or sample rate of an audio track.</t> | or sample rate of an audio track.</t> | |||
<t>The <tt>Tracks Element</tt> <bcp14>MUST</bcp14> identify all the data needed by the codec to decode the data of the | <t>The <tt>Tracks Element</tt> <bcp14>MUST</bcp14> identify all the data needed by the codec to decode the data of the | |||
specified track. However, the data required is contingent on the codec used for the track. | specified track. However, the data required is contingent on the codec used for the track. | |||
For example, a <tt>Track Element</tt> for uncompressed audio only requires the a udio bit rate to be present. | For example, a <tt>Track Element</tt> for uncompressed audio only requires the a udio bit rate to be present. | |||
A codec such as AC-3 would require that the <tt>CodecID Element</tt> be present for all tracks, | A codec such as AC-3 would require that the <tt>CodecID Element</tt> be present for all tracks, | |||
as it is the primary way to identify which codec to use to decode the track.</t> | as it is the primary way to identify which codec to use to decode the track.</t> | |||
<figure><name>Representation of the <tt>Tracks Element</tt> and a selection of i ts <tt>Descendant Elements</tt>. | <figure><name>Representation of the <tt>Tracks Element</tt> and a Selection of I ts <tt>Descendant Elements</tt> | |||
</name> | </name> | |||
<artwork>+------------------------------------+ | <artwork> | |||
+------------------------------------+ | ||||
| Tracks | TrackEntry | TrackNumber | | | Tracks | TrackEntry | TrackNumber | | |||
| | |--------------| | | | |--------------| | |||
| | | TrackUID | | | | | TrackUID | | |||
| | |--------------| | | | |--------------| | |||
| | | TrackType | | | | | TrackType | | |||
| | |--------------| | | | |--------------| | |||
| | | Name | | | | | Name | | |||
| | |--------------| | | | |--------------| | |||
| | | Language | | | | | Language | | |||
| | |--------------| | | | |--------------| | |||
skipping to change at line 330 ¶ | skipping to change at line 393 ¶ | |||
| | | | AspectRatioType | | | | | | AspectRatioType | | |||
| | | |-------------------| | | | | |-------------------| | |||
| | | | Color | | | | | | Color | | |||
| | |----------------------------------| | | | |----------------------------------| | |||
| | | Audio | SamplingFrequency | | | | | Audio | SamplingFrequency | | |||
| | | |-------------------| | | | | |-------------------| | |||
| | | | Channels | | | | | | Channels | | |||
| | | |-------------------| | | | | |-------------------| | |||
| | | | BitDepth | | | | | | BitDepth | | |||
|--------------------------------------------------------| | |--------------------------------------------------------| | |||
</artwork> | </artwork> | |||
</figure> | </figure> | |||
<t>The <tt>Chapters Element</tt> lists all of the chapters. Chapters are a way t o set predefined | <t>The <tt>Chapters Element</tt> lists all of the chapters. Chapters are a way t o set predefined | |||
points to jump to in video or audio.</t> | points to jump to in video or audio.</t> | |||
<figure><name>Representation of the <tt>Chapters Element</tt> and a selection of its <tt>Descendant Elements</tt>. | <figure><name>Representation of the <tt>Chapters Element</tt> and a Selection of Its <tt>Descendant Elements</tt> | |||
</name> | </name> | |||
<artwork>+-----------------------------------------+ | <artwork> | |||
+-----------------------------------------+ | ||||
| Chapters | Edition | EditionUID | | | Chapters | Edition | EditionUID | | |||
| | Entry |--------------------| | | | Entry |--------------------| | |||
| | | EditionFlagDefault | | | | | EditionFlagDefault | | |||
| | |--------------------| | | | |--------------------| | |||
| | | EditionFlagOrdered | | | | | EditionFlagOrdered | | |||
| | |---------------------------------+ | | | |---------------------------------+ | |||
| | | ChapterAtom | ChapterUID | | | | | ChapterAtom | ChapterUID | | |||
| | | |-------------------| | | | | |-------------------| | |||
| | | | ChapterStringUID | | | | | | ChapterStringUID | | |||
| | | |-------------------| | | | | |-------------------| | |||
skipping to change at line 362 ¶ | skipping to change at line 425 ¶ | |||
| | | | ChapterFlagHidden | | | | | | ChapterFlagHidden | | |||
| | | |-------------------------------+ | | | | |-------------------------------+ | |||
| | | | ChapterDisplay | ChapString | | | | | | ChapterDisplay | ChapString | | |||
| | | | |--------------| | | | | | |--------------| | |||
| | | | | ChapLanguage | | | | | | | ChapLanguage | | |||
+------------------------------------------------------------------+ | +------------------------------------------------------------------+ | |||
</artwork> | </artwork> | |||
</figure> | </figure> | |||
<t><tt>Cluster Elements</tt> contain the content for each track, e.g., video fra mes. A Matroska file | <t><tt>Cluster Elements</tt> contain the content for each track, e.g., video fra mes. A Matroska file | |||
<bcp14>SHOULD</bcp14> contain at least one <tt>Cluster Element</tt>. | <bcp14>SHOULD</bcp14> contain at least one <tt>Cluster Element</tt>. | |||
In the rare case it doesn't, there should be a form of Segment linking with othe | <!-- [rfced] How may we clarify "a form of Segment linking with other | |||
r Segments, possibly using Chapters, see <xref target="linked-segments"></xref>. | Segments"? | |||
</t> | ||||
Original: | ||||
In the rare case it doesn't, there should be a form of Segment | ||||
linking with other Segments, possibly using Chapters, see Section 17. | ||||
Perhaps: | ||||
In the rare case it doesn't, there should be a method for Segments | ||||
to link together, possibly using Chapters; see Section 17. | ||||
--> | ||||
In the rare case it doesn't, there should be a form of Segment linking with othe | ||||
r Segments, possibly using Chapters; see <xref target="linked-segments"></xref>. | ||||
</t> | ||||
<t>The <tt>Cluster Element</tt> helps to break up | <t>The <tt>Cluster Element</tt> helps to break up | |||
<tt>SimpleBlock</tt> or <tt>BlockGroup Elements</tt> and helps with seeking and error protection. | <tt>SimpleBlock</tt> or <tt>BlockGroup Elements</tt> and helps with seeking and error protection. | |||
Every <tt>Cluster Element</tt> <bcp14>MUST</bcp14> contain a <tt>Timestamp Eleme nt</tt>. | Every <tt>Cluster Element</tt> <bcp14>MUST</bcp14> contain a <tt>Timestamp Eleme nt</tt>. | |||
This <bcp14>SHOULD</bcp14> be the <tt>Timestamp Element</tt> used to play the fi rst <tt>Block</tt> in the <tt>Cluster Element</tt>, | This <bcp14>SHOULD</bcp14> be the <tt>Timestamp Element</tt> used to play the fi rst <tt>Block</tt> in the <tt>Cluster Element</tt>, | |||
unless a different value is needed to accommodate for more Blocks, see <xref tar get="block-timestamps"></xref>.</t> | unless a different value is needed to accommodate for more Blocks; see <xref tar get="block-timestamps"></xref>.</t> | |||
<t><tt>Cluster Elements</tt> contain one or more block element, such as <tt>Bloc kGroup</tt> or <tt>SimpleBlock</tt> elements. | <t><tt>Cluster Elements</tt> contain one or more block element, such as <tt>Bloc kGroup</tt> or <tt>SimpleBlock</tt> elements. | |||
In some situations, a <tt>Cluster Element</tt> <bcp14>MAY</bcp14> contain no blo ck element, for example in a live recording | In some situations, a <tt>Cluster Element</tt> <bcp14>MAY</bcp14> contain no blo ck element, for example, in a live recording | |||
when no data has been collected.</t> | when no data has been collected.</t> | |||
<t>A <tt>BlockGroup Element</tt> <bcp14>MAY</bcp14> contain a <tt>Block</tt> of data and any information relating directly to that <tt>Block</tt>.</t> | <t>A <tt>BlockGroup Element</tt> <bcp14>MAY</bcp14> contain a <tt>Block</tt> of data and any information relating directly to that <tt>Block</tt>.</t> | |||
<figure><name>Representation of a <tt>Cluster Element</tt> and its immediate <tt >Child Elements</tt>. | <figure><name>Representation of a <tt>Cluster Element</tt> and Its Immediate <tt >Child Elements</tt> | |||
</name> | </name> | |||
<artwork>+--------------------------+ | <artwork> | |||
+--------------------------+ | ||||
| Cluster | Timestamp | | | Cluster | Timestamp | | |||
| |----------------| | | |----------------| | |||
| | Position | | | | Position | | |||
| |----------------| | | |----------------| | |||
| | PrevSize | | | | PrevSize | | |||
| |----------------| | | |----------------| | |||
| | SimpleBlock | | | | SimpleBlock | | |||
| |----------------| | | |----------------| | |||
| | BlockGroup | | | | BlockGroup | | |||
+--------------------------+ | +--------------------------+ | |||
</artwork> | </artwork> | |||
</figure> | </figure> | |||
<figure><name>Representation of the <tt>Block Element</tt> structure. | <figure><name>Representation of the <tt>Block Element</tt> Structure | |||
</name> | </name> | |||
<artwork>+----------------------------------+ | <artwork> | |||
+----------------------------------+ | ||||
| Block | Portion of | Data Type | | | Block | Portion of | Data Type | | |||
| | a Block | - Bit Flag | | | | a Block | - Bit Flag | | |||
| |--------------------------+ | | |--------------------------+ | |||
| | Header | TrackNumber | | | | Header | TrackNumber | | |||
| | |-------------| | | | |-------------| | |||
| | | Timestamp | | | | | Timestamp | | |||
| | |-------------| | | | |-------------| | |||
| | | Flags | | | | | Flags | | |||
| | | - Gap | | | | | - Gap | | |||
| | | - Lacing | | | | | - Lacing | | |||
| | | - Reserved | | | | | - Reserved | | |||
| |--------------------------| | | |--------------------------| | |||
| | Optional | FrameSize | | | | Optional | FrameSize | | |||
| |--------------------------| | | |--------------------------| | |||
| | Data | Frame | | | | Data | Frame | | |||
+----------------------------------+ | +----------------------------------+ | |||
</artwork> | </artwork> | |||
</figure> | </figure> | |||
<t>Each <tt>Cluster</tt> <bcp14>MUST</bcp14> contain exactly one <tt>Timestamp E lement</tt>. The <tt>Timestamp Element</tt> value <bcp14>MUST</bcp14> | <t>Each <tt>Cluster</tt> <bcp14>MUST</bcp14> contain exactly one <tt>Timestamp E lement</tt>. The <tt>Timestamp Element</tt> value <bcp14>MUST</bcp14> | |||
be stored once per <tt>Cluster</tt>. The <tt>Timestamp Element</tt> in the <tt>C luster</tt> is relative to the entire <tt>Segment</tt>. | be stored once per <tt>Cluster</tt>. The <tt>Timestamp Element</tt> in the <tt>C luster</tt> is relative to the entire <tt>Segment</tt>. | |||
The <tt>Timestamp Element</tt> <bcp14>SHOULD</bcp14> be the first <tt>Element</t t> in the <tt>Cluster</tt> it belongs to, | The <tt>Timestamp Element</tt> <bcp14>SHOULD</bcp14> be the first <tt>Element</t t> in the <tt>Cluster</tt> it belongs to | |||
or the second <tt>Element</tt> if that Cluster contains a CRC-32 element (<xref target="crc-32"></xref>)</t> | or the second <tt>Element</tt> if that Cluster contains a CRC-32 element (<xref target="crc-32"></xref>)</t> | |||
<t>Additionally, the <tt>Block</tt> contains an offset that, when added to the < tt>Cluster</tt>'s <tt>Timestamp Element</tt> value, | <t>Additionally, the <tt>Block</tt> contains an offset that, when added to the < tt>Cluster</tt>'s <tt>Timestamp Element</tt> value, | |||
yields the <tt>Block</tt>'s effective timestamp. Therefore, timestamp in the <tt >Block</tt> itself is relative to | yields the <tt>Block</tt>'s effective timestamp. Therefore, the timestamp in the <tt>Block</tt> itself is relative to | |||
the <tt>Timestamp Element</tt> in the <tt>Cluster</tt>. For example, if the <tt> Timestamp Element</tt> in the <tt>Cluster</tt> | the <tt>Timestamp Element</tt> in the <tt>Cluster</tt>. For example, if the <tt> Timestamp Element</tt> in the <tt>Cluster</tt> | |||
is set to 10 seconds and a <tt>Block</tt> in that <tt>Cluster</tt> is supposed t o be played 12 seconds into the clip, | is set to 10 seconds and a <tt>Block</tt> in that <tt>Cluster</tt> is supposed t o be played 12 seconds into the clip, | |||
the timestamp in the <tt>Block</tt> would be set to 2 seconds.</t> | the timestamp in the <tt>Block</tt> would be set to 2 seconds.</t> | |||
<t>The <tt>ReferenceBlock</tt> in the <tt>BlockGroup</tt> is used instead of the | <t>The <tt>ReferenceBlock</tt> in the <tt>BlockGroup</tt> is used instead of the | |||
basic "P-frame"/"B-frame" description. | basic "P-frame"/"B-frame" description. | |||
Instead of simply saying that this <tt>Block</tt> depends on the <tt>Block</tt> | Instead of simply saying that this <tt>Block</tt> depends on the <tt>Block</tt> | |||
directly before, or directly afterwards, | directly before or directly after, | |||
the <tt>Timestamp</tt> of the necessary <tt>Block</tt> is used. Because there ca n be as many <tt>ReferenceBlock Elements</tt> | the <tt>Timestamp</tt> of the necessary <tt>Block</tt> is used. Because there ca n be as many <tt>ReferenceBlock Elements</tt> | |||
as necessary for a <tt>Block</tt>, it allows for some extremely complex referenc ing.</t> | as necessary for a <tt>Block</tt>, it allows for some extremely complex referenc ing.</t> | |||
<t>The <tt>Cues Element</tt> is used to seek when playing back a file by providi ng a temporal index | <t>The <tt>Cues Element</tt> is used to seek when playing back a file by providi ng a temporal index | |||
for some of the <tt>Tracks</tt>. It is similar to the <tt>SeekHead Element</tt>, but used for seeking to | for some of the <tt>Tracks</tt>. It is similar to the <tt>SeekHead Element</tt> but is used for seeking to | |||
a specific time when playing back the file. It is possible to seek without this element, | a specific time when playing back the file. It is possible to seek without this element, | |||
but it is much more difficult because a <tt>Matroska Reader</tt> would have to ' | but it is much more difficult because a <tt>Matroska Reader</tt> would have to " | |||
hunt and peck' | hunt and peck" | |||
through the file looking for the correct timestamp.</t> | through the file to look for the correct timestamp.</t> | |||
<t>The <tt>Cues Element</tt> <bcp14>SHOULD</bcp14> contain at least one <tt>CueP oint Element</tt>. Each <tt>CuePoint Element</tt> | <t>The <tt>Cues Element</tt> <bcp14>SHOULD</bcp14> contain at least one <tt>CueP oint Element</tt>. Each <tt>CuePoint Element</tt> | |||
stores the position of the <tt>Cluster</tt> that contains the <tt>BlockGroup</tt > or <tt>SimpleBlock Element</tt>. | stores the position of the <tt>Cluster</tt> that contains the <tt>BlockGroup</tt > or <tt>SimpleBlock Element</tt>. | |||
The timestamp is stored in the <tt>CueTime Element</tt> and location is stored i | The timestamp is stored in the <tt>CueTime Element</tt>, and the location is sto | |||
n the <tt>CueTrackPositions Element</tt>.</t> | red in the <tt>CueTrackPositions Element</tt>.</t> | |||
<t>The <tt>Cues Element</tt> is flexible. For instance, <tt>Cues Element</tt> ca | <t>The <tt>Cues Element</tt> is flexible. For instance, the <tt>Cues Element</tt | |||
n be used to index every | > can be used to index every | |||
single timestamp of every <tt>Block</tt> or they can be indexed selectively.</t> | single timestamp of every <tt>Block</tt> or they can be indexed selectively.</t> | |||
<figure><name>Representation of a <tt>Cues Element</tt> and two levels of its <t t>Descendant Elements</tt>. | <figure><name>Representation of a <tt>Cues Element</tt> and Two Levels of Its <t t>Descendant Elements</tt> | |||
</name> | </name> | |||
<artwork>+-------------------------------------+ | <artwork> | |||
+-------------------------------------+ | ||||
| Cues | CuePoint | CueTime | | | Cues | CuePoint | CueTime | | |||
| | |-------------------| | | | |-------------------| | |||
| | | CueTrackPositions | | | | | CueTrackPositions | | |||
| |------------------------------| | | |------------------------------| | |||
| | CuePoint | CueTime | | | | CuePoint | CueTime | | |||
| | |-------------------| | | | |-------------------| | |||
| | | CueTrackPositions | | | | | CueTrackPositions | | |||
+-------------------------------------+ | +-------------------------------------+ | |||
</artwork> | </artwork> | |||
</figure> | </figure> | |||
<t>The <tt>Attachments Element</tt> is for attaching files to a Matroska file su | <t>The <tt>Attachments Element</tt> is for attaching files to a Matroska file, s | |||
ch as pictures, | uch as pictures, | |||
fonts, webpages, etc.</t> | fonts, web pages, etc.</t> | |||
<figure><name>Representation of an <tt>Attachments Element</tt>. | <figure><name>Representation of an <tt>Attachments Element</tt> | |||
</name> | </name> | |||
<artwork>+------------------------------------------------+ | <artwork> | |||
+------------------------------------------------+ | ||||
| Attachments | AttachedFile | FileDescription | | | Attachments | AttachedFile | FileDescription | | |||
| | |-------------------| | | | |-------------------| | |||
| | | FileName | | | | | FileName | | |||
| | |-------------------| | | | |-------------------| | |||
| | | FileMediaType | | | | | FileMediaType | | |||
| | |-------------------| | | | |-------------------| | |||
| | | FileData | | | | | FileData | | |||
| | |-------------------| | | | |-------------------| | |||
| | | FileUID | | | | | FileUID | | |||
| | |-------------------| | | | |-------------------| | |||
skipping to change at line 472 ¶ | skipping to change at line 550 ¶ | |||
| | |-------------------| | | | |-------------------| | |||
| | | FileUsedStartTime | | | | | FileUsedStartTime | | |||
| | |-------------------| | | | |-------------------| | |||
| | | FileUsedEndTime | | | | | FileUsedEndTime | | |||
+------------------------------------------------+ | +------------------------------------------------+ | |||
</artwork> | </artwork> | |||
</figure> | </figure> | |||
<t>The <tt>Tags Element</tt> contains metadata that describes the <tt>Segment</t t> and potentially | <t>The <tt>Tags Element</tt> contains metadata that describes the <tt>Segment</t t> and potentially | |||
its <tt>Tracks</tt>, <tt>Chapters</tt>, and <tt>Attachments</tt>. Each <tt>Track </tt> or <tt>Chapter</tt> that those tags | its <tt>Tracks</tt>, <tt>Chapters</tt>, and <tt>Attachments</tt>. Each <tt>Track </tt> or <tt>Chapter</tt> that those tags | |||
applies to has its UID listed in the <tt>Tags</tt>. The <tt>Tags</tt> contain al l extra information about | applies to has its UID listed in the <tt>Tags</tt>. The <tt>Tags</tt> contain al l extra information about | |||
the file: scriptwriter, singer, actors, directors, titles, edition, price, dates | the file: scriptwriters, singers, actors, directors, titles, edition, price, dat | |||
, genre, comments, | es, genre, comments, | |||
etc. Tags can contain their values in multiple languages. For example, a movie's | etc. Tags can contain their values in multiple languages. | |||
"title" <tt>Tag</tt> | <!-- [rfced] May we update "the title it was released as in Germany" in one of | |||
the following ways to improve readability? | ||||
Original: | ||||
For example, a movie's "title" Tag might contain both the original | ||||
English title as well as the title it was released as in Germany. | ||||
Perhaps: | ||||
For example, a movie's "title" Tag might contain both the original | ||||
English title as well as the German title. | ||||
Or: | ||||
For example, a movie's "title" Tag might contain both the original | ||||
English title as well as the title used when it was released in Germany. | ||||
--> | ||||
For example, a movie's "title" <tt>Tag</tt> | ||||
might contain both the original English title as well as the title it was releas ed as in Germany.</t> | might contain both the original English title as well as the title it was releas ed as in Germany.</t> | |||
<figure><name>Representation of a <tt>Tags Element</tt> and three levels of its <tt>Children Elements</tt>. | <figure><name>Representation of a <tt>Tags Element</tt> and Three Levels of Its <tt>Children Elements</tt> | |||
</name> | </name> | |||
<artwork>+-------------------------------------------+ | <artwork> | |||
+-------------------------------------------+ | ||||
| Tags | Tag | Targets | TargetTypeValue | | | Tags | Tag | Targets | TargetTypeValue | | |||
| | | |------------------| | | | | |------------------| | |||
| | | | TargetType | | | | | | TargetType | | |||
| | | |------------------| | | | | |------------------| | |||
| | | | TagTrackUID | | | | | | TagTrackUID | | |||
| | | |------------------| | | | | |------------------| | |||
| | | | TagEditionUID | | | | | | TagEditionUID | | |||
| | | |------------------| | | | | |------------------| | |||
| | | | TagChapterUID | | | | | | TagChapterUID | | |||
| | | |------------------| | | | | |------------------| | |||
skipping to change at line 508 ¶ | skipping to change at line 603 ¶ | |||
| | | | TagBinary | | | | | | TagBinary | | |||
| | | |------------------| | | | | |------------------| | |||
| | | | SimpleTag | | | | | | SimpleTag | | |||
+-------------------------------------------+ | +-------------------------------------------+ | |||
</artwork> | </artwork> | |||
</figure> | </figure> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="matroska-schema"><name>Matroska Schema</name> | <section anchor="matroska-schema"><name>Matroska Schema</name> | |||
<t>This specification includes an <tt>EBML Schema</tt>, which defines the Elemen | <!-- [rfced] We are having trouble understanding the second sentence below. Is | |||
ts and structure | it redundant with the first sentence? Should it be either deleted or rephrased? | |||
of Matroska using the EBML Schema elements and attributes defined in Section 11. | ||||
1 of <xref target="RFC8794"></xref>. | Original: | |||
The EBML Schema defines every valid Matroska element in a manner defined by the | This specification includes an EBML Schema, which defines the | |||
EBML specification.</t> | Elements and structure of Matroska using the EBML Schema elements and | |||
<t>Attributes using their default value like <tt>minOccurs</tt>, <tt>minver</tt> | attributes defined in Section 11.1 of [RFC8794]. The EBML Schema | |||
, etc. or with undefined values like <tt>length</tt>, <tt>maxver</tt>, etc. are | defines every valid Matroska element in a manner defined by the EBML | |||
omitted.</t> | specification. | |||
<t>Here the definition of each Matroska Element is provided.</t> | ||||
Perhaps (delete second sentence): | ||||
This specification includes an EBML Schema that defines the | ||||
Elements and structure of Matroska using the EBML Schema elements and | ||||
attributes defined in Section 11.1 of [RFC8794]. | ||||
Or (rephrase second sentence): | ||||
This specification includes an EBML Schema that defines the | ||||
Elements and structure of Matroska using the EBML Schema elements and | ||||
attributes defined in Section 11.1 of [RFC8794]. The EBML Schema in this doc | ||||
ument | ||||
defines every valid Matroska element in a manner defined by the EBML | ||||
specification [RFC8794]. | ||||
--> | ||||
<t>This specification includes an <tt>EBML Schema</tt> that defines the Elements | ||||
and structure | ||||
of Matroska using the EBML Schema elements and attributes defined in <xref targe | ||||
t="RFC8794" sectionFormat="of" section="11.1"/>. | ||||
The EBML Schema defines every valid Matroska element in a manner defined by the | ||||
EBML specification <xref target="RFC8794"></xref>.</t> | ||||
<t>Attributes using their default value (like <tt>minOccurs</tt>, <tt>minver</tt | ||||
>, etc.) or attributes with undefined values (like <tt>length</tt>, <tt>maxver</ | ||||
tt>, etc.) are omitted.</t> | ||||
<t>The definitions for each Matroska Element are provided below.</t> | ||||
<section anchor="segment-element"><name>Segment Element</name> | <section anchor="segment-element"><name>Segment Element</name> | |||
<!-- [rfced] FYI - To make the definition lists in Section 5.1 consistent | ||||
(especially when definitions appear after a table), we moved the tables out | ||||
of the definition lists. | ||||
--> | ||||
<!-- [rfced] The following sections include paragraphs that are not part of | ||||
the <dl>. Should these paragraphs be nested under "definition:"? | ||||
5.1.3.5.5 | ||||
5.1.4.1.28.44 | ||||
5.1.4.1.28.45 | ||||
5.1.4.1.28.46 | ||||
--> | ||||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x18538067 / master</dd> | <dd>0x18538067 / master</dd> | |||
</dl> | <dt>unknownsizeallowed:</dt> | |||
<t>unknownsizeallowed: True</t> | <dd>True</dd> | |||
<dl spacing="compact"> | ||||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment</tt></dd> | <dd><tt>\Segment</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The Root Element that contains all other Top-Level Elements; see <xref targe t="data-layout"></xref>.</dd> | <dd>The Root Element that contains all other Top-Level Elements; see <xref targe t="data-layout"></xref>.</dd> | |||
</dl> | </dl> | |||
<section anchor="seekhead-element"><name>SeekHead Element</name> | <section anchor="seekhead-element"><name>SeekHead Element</name> | |||
skipping to change at line 590 ¶ | skipping to change at line 719 ¶ | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The Segment Position (<xref target="segment-position"></xref>) of a Top-Leve l Element.</dd> | <dd>The Segment Position (<xref target="segment-position"></xref>) of a Top-Leve l Element.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="info-element"><name>Info Element</name> | <section anchor="info-element"><name>Info Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x1549A966 / master</dd> | <dd>0x1549A966 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info</tt></dd> | <dd><tt>\Segment\Info</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
</dl> | <dt>recurring:</dt><dd>True</dd> | |||
<t>recurring: True</t> | ||||
<dl spacing="compact"> | ||||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contains general information about the Segment.</dd> | <dd>Contains general information about the Segment.</dd> | |||
</dl> | </dl> | |||
<section anchor="segmentuuid-element"><name>SegmentUUID Element</name> | <section anchor="segmentuuid-element"><name>SegmentUUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x73A4 / binary</dd> | <dd>0x73A4 / binary</dd> | |||
<dt>length:</dt> | <dt>length:</dt> | |||
<dd>16</dd> | <dd>16</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\SegmentUUID</tt></dd> | <dd><tt>\Segment\Info\SegmentUUID</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A randomly generated unique ID to identify the Segment amongst many others ( 128 bits). It is equivalent to a UUID v4 <xref target="RFC4122"></xref> with all bits randomly (or pseudo-randomly) chosen. An actual UUID v4 value, where some bits are not random, <bcp14>MAY</bcp14> also be used.</dd> | <dd>A randomly generated UID that identifies the Segment amongst many others (12 8 bits). It is equivalent to a Universally Unique Identifier (UUID) v4 <xref tar get="RFC4122"></xref> with all bits randomly (or pseudorandomly) chosen. An act ual UUID v4 value, where some bits are not random, <bcp14>MAY</bcp14> also be us ed.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>If the Segment is a part of a Linked Segment, then this Element is <bcp14>RE QUIRED</bcp14>. | <dd>If the Segment is a part of a Linked Segment, then this Element is <bcp14>RE QUIRED</bcp14>. | |||
The value of the unique ID <bcp14>MUST</bcp14> contain at least one bit set to 1 .</dd> | The value of the UID <bcp14>MUST</bcp14> contain at least one bit set to 1.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="segmentfilename-element"><name>SegmentFilename Element</name> | <section anchor="segmentfilename-element"><name>SegmentFilename Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x7384 / utf-8</dd> | <dd>0x7384 / utf-8</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\SegmentFilename</tt></dd> | <dd><tt>\Segment\Info\SegmentFilename</tt></dd> | |||
skipping to change at line 651 ¶ | skipping to change at line 776 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x3CB923 / binary</dd> | <dd>0x3CB923 / binary</dd> | |||
<dt>length:</dt> | <dt>length:</dt> | |||
<dd>16</dd> | <dd>16</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\PrevUUID</tt></dd> | <dd><tt>\Segment\Info\PrevUUID</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>An ID to identify the previous Segment of a Linked Segment.</dd> | <dd>An ID that identifies the previous Segment of a Linked Segment.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>If the Segment is a part of a Linked Segment that uses Hard Linking (<xref t arget="hard-linking"></xref>), | <dd>If the Segment is a part of a Linked Segment that uses Hard Linking (<xref t arget="hard-linking"></xref>), | |||
then either the PrevUUID or the NextUUID Element is <bcp14>REQUIRED</bcp14>. If a Segment contains a PrevUUID but not a NextUUID, | then either the PrevUUID or the NextUUID Element is <bcp14>REQUIRED</bcp14>. If a Segment contains a PrevUUID but not a NextUUID, | |||
then it <bcp14>MAY</bcp14> be considered as the last Segment of the Linked Segme nt. The PrevUUID <bcp14>MUST NOT</bcp14> be equal to the SegmentUUID.</dd> | then it <bcp14>MAY</bcp14> be considered as the last Segment of the Linked Segme nt. The PrevUUID <bcp14>MUST NOT</bcp14> be equal to the SegmentUUID.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="prevfilename-element"><name>PrevFilename Element</name> | <section anchor="prevfilename-element"><name>PrevFilename Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
skipping to change at line 688 ¶ | skipping to change at line 813 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x3EB923 / binary</dd> | <dd>0x3EB923 / binary</dd> | |||
<dt>length:</dt> | <dt>length:</dt> | |||
<dd>16</dd> | <dd>16</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\NextUUID</tt></dd> | <dd><tt>\Segment\Info\NextUUID</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>An ID to identify the next Segment of a Linked Segment.</dd> | <dd>An ID that identifies the next Segment of a Linked Segment.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>If the Segment is a part of a Linked Segment that uses Hard Linking (<xref t arget="hard-linking"></xref>), | <dd>If the Segment is a part of a Linked Segment that uses Hard Linking (<xref t arget="hard-linking"></xref>), | |||
then either the PrevUUID or the NextUUID Element is <bcp14>REQUIRED</bcp14>. If a Segment contains a NextUUID but not a PrevUUID, | then either the PrevUUID or the NextUUID Element is <bcp14>REQUIRED</bcp14>. If a Segment contains a NextUUID but not a PrevUUID, | |||
then it <bcp14>MAY</bcp14> be considered as the first Segment of the Linked Segm ent. The NextUUID <bcp14>MUST NOT</bcp14> be equal to the SegmentUUID.</dd> | then it <bcp14>MAY</bcp14> be considered as the first Segment of the Linked Segm ent. The NextUUID <bcp14>MUST NOT</bcp14> be equal to the SegmentUUID.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="nextfilename-element"><name>NextFilename Element</name> | <section anchor="nextfilename-element"><name>NextFilename Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
skipping to change at line 723 ¶ | skipping to change at line 848 ¶ | |||
<section anchor="segmentfamily-element"><name>SegmentFamily Element</name> | <section anchor="segmentfamily-element"><name>SegmentFamily Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x4444 / binary</dd> | <dd>0x4444 / binary</dd> | |||
<dt>length:</dt> | <dt>length:</dt> | |||
<dd>16</dd> | <dd>16</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\SegmentFamily</tt></dd> | <dd><tt>\Segment\Info\SegmentFamily</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A unique ID that all Segments of a Linked Segment <bcp14>MUST</bcp14> share (128 bits). It is equivalent to a UUID v4 <xref target="RFC4122"></xref> with al l bits randomly (or pseudo-randomly) chosen. An actual UUID v4 value, where some bits are not random, <bcp14>MAY</bcp14> also be used.</dd> | <dd>A UID that all Segments of a Linked Segment <bcp14>MUST</bcp14> share (128 b its). It is equivalent to a UUID v4 <xref target="RFC4122"></xref> with all bits randomly (or pseudorandomly) chosen. An actual UUID v4 value, where some bits a re not random, <bcp14>MAY</bcp14> also be used.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>If the Segment Info contains a <tt>ChapterTranslate</tt> element, this Eleme nt is <bcp14>REQUIRED</bcp14>.</dd> | <dd>If the Segment Info contains a <tt>ChapterTranslate</tt> element, this Eleme nt is <bcp14>REQUIRED</bcp14>.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chaptertranslate-element"><name>ChapterTranslate Element</name> | <section anchor="chaptertranslate-element"><name>ChapterTranslate Element</name> | |||
<!-- [rfced] Does "they" refer to "Chapter Codec" in these sentences? If so, | ||||
we will updated "Chapter Codec" to "Chapter Codecs". | ||||
Original: | ||||
rationale: Chapter Codec may need to address different segments, but | ||||
they may not know of the way to identify such segment when stored | ||||
in Matroska. | ||||
rationale: Chapter Codec may need to address content in specific | ||||
track, but they may not know of the way to identify tracks in | ||||
Matroska. | ||||
Perhaps: | ||||
rationale: Chapter Codecs may need to address different segments, but | ||||
they may not know of the way to identify such segments when stored | ||||
in Matroska. | ||||
rationale: Chapter Codecs may need to address content in specific | ||||
track, but they may not know of the way to identify tracks in | ||||
Matroska. | ||||
--> | ||||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x6924 / master</dd> | <dd>0x6924 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\ChapterTranslate</tt></dd> | <dd><tt>\Segment\Info\ChapterTranslate</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The mapping between this <tt>Segment</tt> and a segment value in the given C | <dd>The mapping between this <tt>Segment</tt> and a | |||
hapter Codec.</dd> | segment value in the given Chapter Codec.</dd> | |||
<dt>rationale:</dt> | <dt>rationale:</dt> | |||
<dd>Chapter Codec may need to address different segments, but they may not know of the way to identify such segment when stored in Matroska. | <dd>Chapter Codec may need to address different segments, but they may not know of the way to identify such segments when stored in Matroska. | |||
This element and its child elements add a way to map the internal segments known to the Chapter Codec to the Segment IDs in Matroska. | This element and its child elements add a way to map the internal segments known to the Chapter Codec to the Segment IDs in Matroska. | |||
This allows remuxing a file with Chapter Codec without changing the content of t he codec data, just the Segment mapping.</dd> | This allows remuxing a file with the Chapter Codec without changing the content of the codec data, just the Segment mapping.</dd> | |||
</dl> | </dl> | |||
<section anchor="chaptertranslateid-element"><name>ChapterTranslateID Element</n ame> | <section anchor="chaptertranslateid-element"><name>ChapterTranslateID Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x69A5 / binary</dd> | <dd>0x69A5 / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\ChapterTranslate\ChapterTranslateID</tt></dd> | <dd><tt>\Segment\Info\ChapterTranslate\ChapterTranslateID</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
skipping to change at line 770 ¶ | skipping to change at line 918 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x69BF / uinteger</dd> | <dd>0x69BF / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\ChapterTranslate\ChapterTranslateCodec</tt></dd> | <dd><tt>\Segment\Info\ChapterTranslate\ChapterTranslateCodec</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>This <tt>ChapterTranslate</tt> applies to this chapter codec of the given ch apter edition(s); see <xref target="chapprocesscodecid-element"></xref>.</dd> | <dd>This <tt>ChapterTranslate</tt> applies to this chapter codec of the given ch apter edition(s); see <xref target="chapprocesscodecid-element"></xref>.</dd> | |||
<dt>defined values:</dt> | ||||
<dd>See <xref target="ChapterTranslateCodecValues"/>.</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | <table anchor="ChapterTranslateCodecValues"><name>ChapterTranslateCodec Values</ | |||
<table anchor="ChapterTranslateCodecValues"><name>ChapterTranslateCodec values</ | name> | |||
name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">definition</th> | <th align="left">definition</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
skipping to change at line 794 ¶ | skipping to change at line 944 ¶ | |||
<td align="left">Matroska Script</td> | <td align="left">Matroska Script</td> | |||
<td align="left">Chapter commands using the Matroska Script codec.</td> | <td align="left">Chapter commands using the Matroska Script codec.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">DVD-menu</td> | <td align="left">DVD-menu</td> | |||
<td align="left">Chapter commands using the DVD-like codec.</td> | <td align="left">Chapter commands using the DVD-like codec.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table></section> | </table> | |||
</section> | ||||
<section anchor="chaptertranslateeditionuid-element"><name>ChapterTranslateEditi onUID Element</name> | <section anchor="chaptertranslateeditionuid-element"><name>ChapterTranslateEditi onUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x69FC / uinteger</dd> | <dd>0x69FC / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\ChapterTranslate\ChapterTranslateEditionUID</tt></dd> | <dd><tt>\Segment\Info\ChapterTranslate\ChapterTranslateEditionUID</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Specify a chapter edition UID on which this <tt>ChapterTranslate</tt> applie s.</dd> | <dd>Specify a chapter edition UID to which this <tt>ChapterTranslate</tt> applie s.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>When no <tt>ChapterTranslateEditionUID</tt> is specified in the <tt>ChapterT ranslate</tt>, the <tt>ChapterTranslate</tt> applies to all chapter editions fou nd in the Segment using the given <tt>ChapterTranslateCodec</tt>.</dd> | <dd>When no <tt>ChapterTranslateEditionUID</tt> is specified in the <tt>ChapterT ranslate</tt>, the <tt>ChapterTranslate</tt> applies to all chapter editions fou nd in the Segment using the given <tt>ChapterTranslateCodec</tt>.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="timestampscale-element"><name>TimestampScale Element</name> | <section anchor="timestampscale-element"><name>TimestampScale Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
skipping to change at line 839 ¶ | skipping to change at line 990 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x4489 / float</dd> | <dd>0x4489 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>> 0x0p+0</dd> | <dd>> 0x0p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\Duration</tt></dd> | <dd><tt>\Segment\Info\Duration</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Duration of the Segment, expressed in Segment Ticks which is based on Timest ampScale; see <xref target="timestamp-ticks"></xref>.</dd> | <dd>Duration of the Segment, expressed in Segment Ticks, which are based on Time stampScale; see <xref target="timestamp-ticks"></xref>.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="dateutc-element"><name>DateUTC Element</name> | <section anchor="dateutc-element"><name>DateUTC Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x4461 / date</dd> | <dd>0x4461 / date</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\DateUTC</tt></dd> | <dd><tt>\Segment\Info\DateUTC</tt></dd> | |||
skipping to change at line 873 ¶ | skipping to change at line 1024 ¶ | |||
<dd><tt>\Segment\Info\Title</tt></dd> | <dd><tt>\Segment\Info\Title</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>General name of the Segment.</dd> | <dd>General name of the Segment.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="muxingapp-element"><name>MuxingApp Element</name> | <section anchor="muxingapp-element"><name>MuxingApp Element</name> | |||
<!-- [rfced] Will readers know what "libmatroska" is? Would a citation be | ||||
helpful or is the current okay? | ||||
Original: | ||||
definition: Muxing application or library (example: "libmatroska- | ||||
0.4.3"). | ||||
... | ||||
definition: Bogus StereoMode value used in old versions of | ||||
libmatroska. | ||||
... | ||||
usage notes: This Element MUST NOT be used. It was an incorrect | ||||
value used in libmatroska up to 0.9.0. | ||||
... | ||||
There was also a bug in libmatroska | ||||
prior to 0.9.0 that would save/read it as 0x53B9 instead of 0x53B8; | ||||
see OldStereoMode (Section 5.1.4.1.28.5). | ||||
--> | ||||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x4D80 / utf-8</dd> | <dd>0x4D80 / utf-8</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\MuxingApp</tt></dd> | <dd><tt>\Segment\Info\MuxingApp</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Muxing application or library (example: "libmatroska-0.4.3").</dd> | <dd>Muxing application or library (example: "libmatroska-0.4.3").</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>Include the full name of the application or library followed by the version number.</dd> | <dd>Include the full name of the application or library followed by the version number.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="writingapp-element"><name>WritingApp Element</name> | <section anchor="writingapp-element"><name>WritingApp Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x5741 / utf-8</dd> | <dd>0x5741 / utf-8</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Info\WritingApp</tt></dd> | <dd><tt>\Segment\Info\WritingApp</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Writing application (example: "mkvmerge-0.3.3").</dd> | <dd>Writing application (example: "mkvmerge-0.3.3").</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>Include the full name of the application followed by the version number.</dd > | <dd>Include the full name of the application followed by the version number.</dd > | |||
</dl> | </dl> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="cluster-element"><name>Cluster Element</name> | <section anchor="cluster-element"><name>Cluster Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x1F43B675 / master</dd> | <dd>0x1F43B675 / master</dd> | |||
</dl> | <dt>unknownsizeallowed:</dt> | |||
<t>unknownsizeallowed: True</t> | <dd>True</dd> | |||
<dl spacing="compact"> | ||||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster</tt></dd> | <dd><tt>\Segment\Cluster</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The Top-Level Element containing the (monolithic) Block structure.</dd> | <dd>The Top-Level Element containing the (monolithic) Block structure.</dd> | |||
</dl> | </dl> | |||
<section anchor="timestamp-element"><name>Timestamp Element</name> | <section anchor="timestamp-element"><name>Timestamp Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xE7 / uinteger</dd> | <dd>0xE7 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\Timestamp</tt></dd> | <dd><tt>\Segment\Cluster\Timestamp</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Absolute timestamp of the cluster, expressed in Segment Ticks which is based on TimestampScale; see <xref target="timestamp-ticks"></xref>.</dd> | <dd>Absolute timestamp of the cluster, expressed in Segment Ticks, which are bas ed on TimestampScale; see <xref target="timestamp-ticks"></xref>.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>This element <bcp14>SHOULD</bcp14> be the first child element of the Cluster | <dd>This element <bcp14>SHOULD</bcp14> be the first child element of the Cluster | |||
it belongs to, | it belongs to or the second if that Cluster contains a CRC-32 element (<xref ta | |||
or the second if that Cluster contains a CRC-32 element (<xref target="crc-32">< | rget="crc-32"></xref>).</dd> | |||
/xref>).</dd> | ||||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="position-element"><name>Position Element</name> | <section anchor="position-element"><name>Position Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xA7 / uinteger</dd> | <dd>0xA7 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\Position</tt></dd> | <dd><tt>\Segment\Cluster\Position</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>maxver:</dt> | <dt>maxver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The Segment Position of the Cluster in the Segment (0 in live streams). | <dd>The Segment Position of the Cluster in the Segment (0 in live streams). | |||
It might help to resynchronise offset on damaged streams.</dd> | It might help to resynchronize the offset on damaged streams.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="prevsize-element"><name>PrevSize Element</name> | <section anchor="prevsize-element"><name>PrevSize Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xAB / uinteger</dd> | <dd>0xAB / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\PrevSize</tt></dd> | <dd><tt>\Segment\Cluster\PrevSize</tt></dd> | |||
skipping to change at line 977 ¶ | skipping to change at line 1143 ¶ | |||
<section anchor="simpleblock-element"><name>SimpleBlock Element</name> | <section anchor="simpleblock-element"><name>SimpleBlock Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xA3 / binary</dd> | <dd>0xA3 / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\SimpleBlock</tt></dd> | <dd><tt>\Segment\Cluster\SimpleBlock</tt></dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>2</dd> | <dd>2</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Similar to Block, see <xref target="block-structure"></xref>, but without al | ||||
l the extra information, | <dd>Similar to Block (see <xref target="block-structure"></xref>) but without al | |||
mostly used to reduced overhead when no extra feature is needed; see <xref targe | l the extra information. | |||
t="simpleblock-structure"></xref> on SimpleBlock Structure.</dd> | Mostly used to reduce overhead when no extra feature is needed; see <xref target | |||
="simpleblock-structure"></xref> on SimpleBlock Structure.</dd> | ||||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="blockgroup-element"><name>BlockGroup Element</name> | <section anchor="blockgroup-element"><name>BlockGroup Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xA0 / master</dd> | <dd>0xA0 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\BlockGroup</tt></dd> | <dd><tt>\Segment\Cluster\BlockGroup</tt></dd> | |||
skipping to change at line 1018 ¶ | skipping to change at line 1185 ¶ | |||
<section anchor="blockadditions-element"><name>BlockAdditions Element</name> | <section anchor="blockadditions-element"><name>BlockAdditions Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x75A1 / master</dd> | <dd>0x75A1 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\BlockGroup\BlockAdditions</tt></dd> | <dd><tt>\Segment\Cluster\BlockGroup\BlockAdditions</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contain additional binary data to complete the main one; see Codec BlockAddi | <!-- [rfced] Will readers understand "the main one" here? | |||
tions section of <xref target="MatroskaCodec"></xref> for more information. | ||||
Original: | ||||
definition: Contain additional binary data to complete the main one; | ||||
see Codec BlockAdditions section of [MatroskaCodec] for more | ||||
information. | ||||
Perhaps: | ||||
definition: Contain additional binary data to complete the Block element; | ||||
see Section 4.1.5 of [MatroskaCodec] for more | ||||
information. | ||||
--> | ||||
<dd>Contains additional binary data to complete the main one; see <xref | ||||
target="I-D.ietf-cellar-codec" sectionFormat="of" section="4.1.5" ></xref> for m | ||||
ore information. | ||||
An EBML parser that has no knowledge of the Block structure could still see and use/skip these data.</dd> | An EBML parser that has no knowledge of the Block structure could still see and use/skip these data.</dd> | |||
</dl> | </dl> | |||
<section anchor="blockmore-element"><name>BlockMore Element</name> | <section anchor="blockmore-element"><name>BlockMore Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xA6 / master</dd> | <dd>0xA6 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore</tt></dd> | <dd><tt>\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore</tt></dd> | |||
<dt>minOccurs:</dt> | <dt>minOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contain the BlockAdditional and some parameters.</dd> | <dd>Contains the BlockAdditional and some parameters.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="blockadditional-element"><name>BlockAdditional Element</name> | <section anchor="blockadditional-element"><name>BlockAdditional Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xA5 / binary</dd> | <dd>0xA5 / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore\BlockAdditional</tt ></dd> | <dd><tt>\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore\BlockAdditional</tt ></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Interpreted by the codec as it wishes (using the BlockAddID).</dd> | <dd>Interpreted by the codec as it wishes (using the BlockAddID).</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="blockaddid-element"><name>BlockAddID Element</name> | <section anchor="blockaddid-element"><name>BlockAddID Element</name> | |||
<!-- [rfced] Section 5.1.3.5.2.3 ("BlockAddID Element") has two "usage | ||||
notes". Would you like to combine these or leave as is? | ||||
Original: | ||||
usage notes: Each BlockAddID value MUST be unique between all | ||||
BlockMore elements found in a BlockAdditions. | ||||
usage notes: To keep MaxBlockAdditionID as low as possible, small | ||||
values SHOULD be used. | ||||
Perhaps: | ||||
usage notes: Each BlockAddID value MUST be unique between all | ||||
BlockMore elements found in a BlockAdditions. To keep MaxBlockAdditionID | ||||
as low as possible, small values SHOULD be used. | ||||
--> | ||||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0xEE / uinteger / 1</dd> | <dd>0xEE / uinteger / 1</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore\BlockAddID</tt></dd > | <dd><tt>\Segment\Cluster\BlockGroup\BlockAdditions\BlockMore\BlockAddID</tt></dd > | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>An ID to identify how to interpret the BlockAdditional data; see Codec Block | <dd>An ID that identifies how to interpret the BlockAdditional data; see <xref t | |||
Additions section of <xref target="MatroskaCodec"></xref> for more information. | arget="I-D.ietf-cellar-codec" sectionFormat="of" section="4.1.5" ></xref> for mo | |||
re information. | ||||
<!-- [rfced] Please review "the meaning of the BlockAdditional data" in the | ||||
following sentences. Will this be clear? | ||||
Original: | ||||
A value of 1 indicates that the meaning of the BlockAdditional data | ||||
is defined by the codec. Any other value indicates the meaning of the | ||||
BlockAdditional data is found in the BlockAddIDType found in the TrackEntry. | ||||
Perhaps: | ||||
A value of 1 indicates that the BlockAdditional data is defined by | ||||
the codec. Any other value indicates that the BlockAdditional data should be han | ||||
dled according | ||||
to the BlockAddIDType that is located in the TrackEntry. | ||||
--> | ||||
A value of 1 indicates that the meaning of the BlockAdditional data is defined b y the codec. | A value of 1 indicates that the meaning of the BlockAdditional data is defined b y the codec. | |||
Any other value indicates the meaning of the BlockAdditional data is found in th e BlockAddIDType found in the TrackEntry.</dd> | Any other value indicates the meaning of the BlockAdditional data is found in th e BlockAddIDType found in the TrackEntry.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>Each BlockAddID value <bcp14>MUST</bcp14> be unique between all BlockMore el ements found in a BlockAdditions.</dd> | <dd>Each BlockAddID value <bcp14>MUST</bcp14> be unique between all BlockMore el ements found in a BlockAdditions.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>To keep MaxBlockAdditionID as low as possible, small values <bcp14>SHOULD</b cp14> be used.</dd> | <dd>To keep MaxBlockAdditionID as low as possible, small values <bcp14>SHOULD</b cp14> be used.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="blockduration-element"><name>BlockDuration Element</name> | <section anchor="blockduration-element"><name>BlockDuration Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x9B / uinteger</dd> | <dd>0x9B / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\BlockGroup\BlockDuration</tt></dd> | <dd><tt>\Segment\Cluster\BlockGroup\BlockDuration</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<!-- [rfced] For elements containing "see implementation notes", would it be | ||||
helpful to direct the reader to the corresponding table? Or is the | ||||
current okay? Here is one example: | ||||
Original (BlockDuration Element): | ||||
minOccurs / maxOccurs: see implementation notes / 1 | ||||
Perhaps (BlockDuration Element): | ||||
minOccurs / maxOccurs: see Table 2 / 1 --> | ||||
<dd>see implementation notes / 1</dd> | <dd>see implementation notes / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The duration of the Block, expressed in Track Ticks; see <xref target="times tamp-ticks"></xref>. | <dd>The duration of the Block, expressed in Track Ticks; see <xref target="times tamp-ticks"></xref>. | |||
The BlockDuration Element can be useful at the end of a Track to define the dura tion of the last frame (as there is no subsequent Block available), | The BlockDuration Element can be useful at the end of a Track to define the dura tion of the last frame (as there is no subsequent Block available) | |||
or when there is a break in a track like for subtitle tracks.</dd> | or when there is a break in a track like for subtitle tracks.</dd> | |||
<dt>notes:</dt> | ||||
<dd>See <xref target="BlockDurationNotes"/>.</dd> | ||||
</dl> | </dl> | |||
<t>notes:</t> | <table anchor="BlockDurationNotes"><name>BlockDuration Implementation Notes</nam | |||
<table anchor="BlockDurationNotes"><name>BlockDuration implementation notes</nam | e> | |||
e> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">attribute</th> | <th align="left">attribute</th> | |||
<th align="left">note</th> | <th align="left">note</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">minOccurs</td> | <td align="left">minOccurs</td> | |||
<td align="left">BlockDuration <bcp14>MUST</bcp14> be set (minOccurs=1) if the a ssociated TrackEntry stores a DefaultDuration value.</td> | <td align="left">BlockDuration <bcp14>MUST</bcp14> be set (minOccurs=1) if the a ssociated TrackEntry stores a DefaultDuration value.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">default</td> | <td align="left">default</td> | |||
<td align="left">When not written and with no DefaultDuration, the value is assu | ||||
med to be the difference between the timestamp of this Block and the timestamp o | <!-- [rfced] How may we clarity "When not written and with no DefaultDuration"? | |||
f the next Block in "display" order (not coding order).</td> | ||||
Original: | ||||
When not written and with no DefaultDuration, the value is assumed to be the | ||||
difference between the timestamp of this Block and the timestamp of the next Blo | ||||
ck in "display" | ||||
order (not coding order). | ||||
Perhaps: | ||||
If a value is not specified and no DefaultDuration is present, the value is assu | ||||
med to be the | ||||
difference between the timestamp of this Block and the timestamp of the next Blo | ||||
ck in "display" | ||||
order (not coding order). | ||||
--> | ||||
<td align="left">When not written and with no DefaultDuration, the value is assu | ||||
med to be the difference between the timestamp of this Block and the timestamp o | ||||
f the next Block in "display" order (not coding order).</td> | ||||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table></section> | </table> | |||
</section> | ||||
<section anchor="referencepriority-element"><name>ReferencePriority Element</nam e> | <section anchor="referencepriority-element"><name>ReferencePriority Element</nam e> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0xFA / uinteger / 0</dd> | <dd>0xFA / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\BlockGroup\ReferencePriority</tt></dd> | <dd><tt>\Segment\Cluster\BlockGroup\ReferencePriority</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>This frame is referenced and has the specified cache priority. | <dd>This frame is referenced and has the specified cache priority. | |||
In cache only a frame of the same or higher priority can replace this frame. A v alue of 0 means the frame is not referenced.</dd> | In the cache, only a frame of the same or higher priority can replace this frame . A value of 0 means the frame is not referenced.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="referenceblock-element"><name>ReferenceBlock Element</name> | <section anchor="referenceblock-element"><name>ReferenceBlock Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xFB / integer</dd> | <dd>0xFB / integer</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\BlockGroup\ReferenceBlock</tt></dd> | <dd><tt>\Segment\Cluster\BlockGroup\ReferenceBlock</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A timestamp value, relative to the timestamp of the Block in this BlockGroup , expressed in Track Ticks; see <xref target="timestamp-ticks"></xref>. | <dd>A timestamp value, relative to the timestamp of the Block in this BlockGroup , expressed in Track Ticks; see <xref target="timestamp-ticks"></xref>. | |||
This is used to reference other frames necessary to decode this frame. | This is used to reference other frames necessary to decode this frame. | |||
The relative value <bcp14>SHOULD</bcp14> correspond to a valid <tt>Block</tt> th | The relative value <bcp14>SHOULD</bcp14> correspond to a valid <tt>Block</tt> th | |||
is <tt>Block</tt> depends on. | at this <tt>Block</tt> depends on. | |||
Historically Matroska Writer didn't write the actual <tt>Block(s)</tt> this <tt> | Historically, Matroska Writers didn't write the actual <tt>Block(s)</tt> that th | |||
Block</tt> depends on, but <em>some</em> <tt>Block</tt> in the past.</dd> | is <tt>Block</tt> depends on, but they did write <em>some</em> <tt>Block(s)</tt> | |||
in the past.</dd> | ||||
</dl> | </dl> | |||
<t>The value "0" <bcp14>MAY</bcp14> also be used to signify this <tt>B | ||||
lock</tt> cannot be decoded on its own, but without knownledge of which <tt>Bloc | <!-- [rfced] How may we rephrase the part of this sentence starting with "but | |||
k</tt> is necessary. In this case, other <tt>ReferenceBlock</tt> <bcp14>MUST NOT | without..." for clarity? | |||
</bcp14> be found in the same <tt>BlockGroup</tt>.</t> | ||||
<t>If the <tt>BlockGroup</tt> doesn't have any <tt>ReferenceBlock</tt> element, | Original: | |||
then the <tt>Block</tt> it contains can be decoded without using any other <tt>B | The value "0" MAY also be used to signify this Block cannot be | |||
lock</tt> data.</t> | decoded on its own, but without knownledge of which Block is necessary. | |||
Perhaps: | ||||
The value "0" MAY also be used to signify that this Block cannot be | ||||
decoded on its own but the necessary Block is unknown. | ||||
--> | ||||
<t>The value "0" <bcp14>MAY</bcp14> also be used to signify that this <tt>Block< | ||||
/tt> cannot be decoded on its own, but without knowledge of which <tt>Block</tt> | ||||
is necessary. In this case, other <tt>ReferenceBlock</tt> Elements <bcp14>MUST | ||||
NOT</bcp14> be found in the same <tt>BlockGroup</tt>.</t> | ||||
<t>If the <tt>BlockGroup</tt> doesn't have a <tt>ReferenceBlock</tt> element, th | ||||
en the <tt>Block</tt> it contains can be decoded without using any other <tt>Blo | ||||
ck</tt> data.</t> | ||||
</section> | </section> | |||
<section anchor="codecstate-element"><name>CodecState Element</name> | <section anchor="codecstate-element"><name>CodecState Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xA4 / binary</dd> | <dd>0xA4 / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\BlockGroup\CodecState</tt></dd> | <dd><tt>\Segment\Cluster\BlockGroup\CodecState</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
skipping to change at line 1171 ¶ | skipping to change at line 1417 ¶ | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x75A2 / integer</dd> | <dd>0x75A2 / integer</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cluster\BlockGroup\DiscardPadding</tt></dd> | <dd><tt>\Segment\Cluster\BlockGroup\DiscardPadding</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Duration of the silent data added to the Block, expressed in Matroska Ticks -- i.e., in nanoseconds; see <xref target="timestamp-ticks"></xref> | <dd>Duration of the silent data added to the Block, expressed in Matroska Ticks -- i.e., in nanoseconds; see <xref target="timestamp-ticks"></xref> | |||
(padding at the end of the Block for positive value, at the beginning of the Blo ck for negative value). | (padding at the end of the Block for positive values and at the beginning of the Block for negative values). | |||
The duration of DiscardPadding is not calculated in the duration of the TrackEnt ry and <bcp14>SHOULD</bcp14> be discarded during playback.</dd> | The duration of DiscardPadding is not calculated in the duration of the TrackEnt ry and <bcp14>SHOULD</bcp14> be discarded during playback.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="tracks-element"><name>Tracks Element</name> | <section anchor="tracks-element"><name>Tracks Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x1654AE6B / master</dd> | <dd>0x1654AE6B / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks</tt></dd> | <dd><tt>\Segment\Tracks</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
</dl> | <dt>recurring:</dt><dd>True</dd> | |||
<t>recurring: True</t> | ||||
<dl spacing="compact"> | ||||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A Top-Level Element of information with many tracks described.</dd> | <dd>A Top-Level Element of information with many tracks described.</dd> | |||
</dl> | </dl> | |||
<section anchor="trackentry-element"><name>TrackEntry Element</name> | <section anchor="trackentry-element"><name>TrackEntry Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xAE / master</dd> | <dd>0xAE / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
skipping to change at line 1225 ¶ | skipping to change at line 1468 ¶ | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackNumber</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackNumber</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The track number as used in the Block Header.</dd> | <dd>The track number as used in the Block Header.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="trackuid-element"><name>TrackUID Element</name> | <section anchor="trackuid-element"><name>TrackUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x73C5 / uinteger</dd> | <dd>0x73C5 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackUID</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackUID</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A unique ID to identify the Track.</dd> | <dd>A UID that identifies the Track.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="tracktype-element"><name>TrackType Element</name> | <section anchor="tracktype-element"><name>TrackType Element</name> | |||
<!-- [rfced] May we rephrase the following in Table 3 (last column)? | ||||
Original: | ||||
A mix of different other TrackType. | ||||
Perhaps: | ||||
A mix of other TrackType Elements. | ||||
--> | ||||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x83 / uinteger</dd> | <dd>0x83 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackType</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackType</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The <tt>TrackType</tt> defines the type of each frame found in the Track. | <dd>The <tt>TrackType</tt> defines the type of each frame found in the Track. | |||
The value <bcp14>SHOULD</bcp14> be stored on 1 octet.</dd> | The value <bcp14>SHOULD</bcp14> be stored on 1 octet.</dd> | |||
<dt>defined values:</dt> | ||||
<dd>See <xref target="TrackTypeValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | <table anchor="TrackTypeValues"><name>TrackType Values</name> | |||
<table anchor="TrackTypeValues"><name>TrackType values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">each frame contains</th> | <th align="left">contents of each frame</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">video</td> | <td align="left">video</td> | |||
<td align="left">An image.</td> | <td align="left">An image.</td> | |||
</tr> | </tr> | |||
skipping to change at line 1313 ¶ | skipping to change at line 1567 ¶ | |||
<td align="left">control</td> | <td align="left">control</td> | |||
<td align="left">Metadata used to control the player of the <tt>Matroska Player< /tt>.</td> | <td align="left">Metadata used to control the player of the <tt>Matroska Player< /tt>.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>33</tt></td> | <td align="left"><tt>33</tt></td> | |||
<td align="left">metadata</td> | <td align="left">metadata</td> | |||
<td align="left">Timed metadata that can be passed on to the <tt>Matroska Player </tt>.</td> | <td align="left">Timed metadata that can be passed on to the <tt>Matroska Player </tt>.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="flagenabled-element"><name>FlagEnabled Element</name> | <section anchor="flagenabled-element"><name>FlagEnabled Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0xB9 / uinteger / 1</dd> | <dd>0xB9 / uinteger / 1</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\FlagEnabled</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\FlagEnabled</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>2</dd> | <dd>2</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Set to 1 if the track is usable. It is possible to turn a not usable track i nto a usable track using chapter codecs or control tracks.</dd> | <dd>Set to 1 if the track is usable. It is possible to turn a track that is not usable into a usable track using chapter codecs or control tracks.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="flagdefault-element"><name>FlagDefault Element</name> | <section anchor="flagdefault-element"><name>FlagDefault Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x88 / uinteger / 1</dd> | <dd>0x88 / uinteger / 1</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\FlagDefault</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\FlagDefault</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Set if that track (audio, video or subs) is eligible for automatic selection | ||||
by the player; see <xref target="default-track-selection"></xref> for more deta | <!-- [rfced] Should "subs" here be updated to "subtitle"? | |||
ils.</dd> | ||||
Original: | ||||
definition: Set if that track (audio, video or subs) is eligible for | ||||
automatic selection by the player; see Section 19 for more | ||||
details. | ||||
--> | ||||
<!-- [rfced] For the definitions of "FlagDefault Element" and "FlagForced | ||||
Element", should the following sentences be rephrased to clarify the | ||||
values that should be set? We note that surrounding elements use the | ||||
phrase "Set to 1..." consistently. | ||||
Original: | ||||
Set if that track (audio, video or subs) is eligible for automatic | ||||
selection by the player; see Section 19 for more details. | ||||
... | ||||
Set if that | ||||
track is eligible for automatic selection by the player if it matches the | ||||
user's language preference... | ||||
Perhaps: | ||||
Set to 1 if the track (audio, video, or subs) is eligible for | ||||
automatic selection by the player; see Section 19 for more details. | ||||
... | ||||
Set to 1 if the track is eligible for automatic selection by the player if it | ||||
matches the user's language preference... | ||||
--> | ||||
<dd>Set if the track (audio, video, or subs) is eligible for automatic selection | ||||
by the player; see <xref target="default-track-selection"></xref> for more deta | ||||
ils.</dd> | ||||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="flagforced-element"><name>FlagForced Element</name> | <section anchor="flagforced-element"><name>FlagForced Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x55AA / uinteger / 0</dd> | <dd>0x55AA / uinteger / 0</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\FlagForced</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\FlagForced</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Applies only to subtitles. Set if that track is eligible for automatic selec | <dd>Applies only to subtitles. Set if the track is eligible for automatic select | |||
tion by the player if it matches the user's language preference, | ion by the player if it matches the user's language preference, | |||
even if the user's preferences would normally not enable subtitles with the sele | even if the user's preferences would not normally enable subtitles with the sele | |||
cted audio track; | cted audio track; | |||
this can be used for tracks containing only translations of foreign-language aud | this can be used for tracks containing only translations of audio in foreign lan | |||
io or onscreen text. | guages or on-screen text. | |||
See <xref target="default-track-selection"></xref> for more details.</dd> | See <xref target="default-track-selection"></xref> for more details.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="flaghearingimpaired-element"><name>FlagHearingImpaired Element< /name> | <section anchor="flaghearingimpaired-element"><name>FlagHearingImpaired Element< /name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55AB / uinteger</dd> | <dd>0x55AB / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\FlagHearingImpaired</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\FlagHearingImpaired</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Set to 1 if and only if that track is suitable for users with hearing impair ments.</dd> | <dd>Set to 1 if and only if the track is suitable for users with hearing impairm ents.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="flagvisualimpaired-element"><name>FlagVisualImpaired Element</n ame> | <section anchor="flagvisualimpaired-element"><name>FlagVisualImpaired Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55AC / uinteger</dd> | <dd>0x55AC / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\FlagVisualImpaired</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\FlagVisualImpaired</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Set to 1 if and only if that track is suitable for users with visual impairm ents.</dd> | <dd>Set to 1 if and only if the track is suitable for users with visual impairme nts.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="flagtextdescriptions-element"><name>FlagTextDescriptions Elemen t</name> | <section anchor="flagtextdescriptions-element"><name>FlagTextDescriptions Elemen t</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55AD / uinteger</dd> | <dd>0x55AD / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\FlagTextDescriptions</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\FlagTextDescriptions</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Set to 1 if and only if that track contains textual descriptions of video co ntent.</dd> | <dd>Set to 1 if and only if the track contains textual descriptions of video con tent.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="flagoriginal-element"><name>FlagOriginal Element</name> | <section anchor="flagoriginal-element"><name>FlagOriginal Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55AE / uinteger</dd> | <dd>0x55AE / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\FlagOriginal</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\FlagOriginal</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Set to 1 if and only if that track is in the content's original language.</d d> | <dd>Set to 1 if and only if the track is in the content's original language.</dd > | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="flagcommentary-element"><name>FlagCommentary Element</name> | <section anchor="flagcommentary-element"><name>FlagCommentary Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55AF / uinteger</dd> | <dd>0x55AF / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\FlagCommentary</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\FlagCommentary</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Set to 1 if and only if that track contains commentary.</dd> | <dd>Set to 1 if and only if the track contains commentary.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="flaglacing-element"><name>FlagLacing Element</name> | <section anchor="flaglacing-element"><name>FlagLacing Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x9C / uinteger / 1</dd> | <dd>0x9C / uinteger / 1</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\FlagLacing</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\FlagLacing</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Set to 1 if the track <bcp14>MAY</bcp14> contain blocks using lacing. When s | <dd>Set to 1 if the track <bcp14>MAY</bcp14> contain blocks that use lacing. | |||
et to 0 all blocks <bcp14>MUST</bcp14> have their lacing flags set to No lacing; | When set to 0, all blocks <bcp14>MUST</bcp14> have their lacing flags set to "no | |||
see <xref target="block-lacing"></xref> on Block Lacing.</dd> | lacing"; see <xref target="block-lacing"></xref> on Block Lacing.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="defaultduration-element"><name>DefaultDuration Element</name> | <section anchor="defaultduration-element"><name>DefaultDuration Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x23E383 / uinteger</dd> | <dd>0x23E383 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\DefaultDuration</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\DefaultDuration</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Number of nanoseconds per frame, expressed in Matroska Ticks -- i.e., in nan oseconds; see <xref target="timestamp-ticks"></xref> | <dd>Number of nanoseconds per frame, expressed in Matroska Ticks -- i.e., in nan oseconds; see <xref target="timestamp-ticks"></xref> | |||
(frame in the Matroska sense -- one Element put into a (Simple)Block).</dd> | ("frame" in the Matroska sense -- one Element put into a (Simple)Block).</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="defaultdecodedfieldduration-element"><name>DefaultDecodedFieldD uration Element</name> | <section anchor="defaultdecodedfieldduration-element"><name>DefaultDecodedFieldD uration Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x234E7A / uinteger</dd> | <dd>0x234E7A / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\DefaultDecodedFieldDuration</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\DefaultDecodedFieldDuration</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The period between two successive fields at the output of the decoding proce ss, expressed in Matroska Ticks -- i.e., in nanoseconds; see <xref target="times tamp-ticks"></xref>. | <dd>The period between two successive fields at the output of the decoding proce ss, expressed in Matroska Ticks -- i.e., in nanoseconds; see <xref target="times tamp-ticks"></xref>. | |||
see <xref target="defaultdecodedfieldduration"></xref> for more information</dd> | See <xref target="defaultdecodedfieldduration"></xref> for more information</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="tracktimestampscale-element"><name>TrackTimestampScale Element< /name> | <section anchor="tracktimestampscale-element"><name>TrackTimestampScale Element< /name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x23314F / float / 0x1p+0</dd> | <dd>0x23314F / float / 0x1p+0</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>> 0x0p+0</dd> | <dd>> 0x0p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackTimestampScale</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackTimestampScale</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>maxver:</dt> | <dt>maxver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The scale to apply on this track to work at normal speed in relation with ot her tracks | <dd>The scale to apply on this track to work at normal speed in relation with ot her tracks | |||
(mostly used to adjust video speed when the audio length differs).</dd> | (mostly used to adjust video speed when the audio length differs).</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="maxblockadditionid-element"><name>MaxBlockAdditionID Element</n ame> | <section anchor="maxblockadditionid-element"><name>MaxBlockAdditionID Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x55EE / uinteger / 0</dd> | <dd>0x55EE / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\MaxBlockAdditionID</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\MaxBlockAdditionID</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The maximum value of BlockAddID (<xref target="blockaddid-element"></xref>). | <dd>The maximum value of BlockAddID (<xref target="blockaddid-element"></xref>). | |||
A value 0 means there is no BlockAdditions (<xref target="blockadditions-element "></xref>) for this track.</dd> | A value of 0 means there is no BlockAdditions (<xref target="blockadditions-elem ent"></xref>) for this track.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="blockadditionmapping-element"><name>BlockAdditionMapping Elemen t</name> | <section anchor="blockadditionmapping-element"><name>BlockAdditionMapping Elemen t</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x41E4 / master</dd> | <dd>0x41E4 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\BlockAdditionMapping</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\BlockAdditionMapping</tt></dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contains elements that extend the track format, by adding content either to each frame, | <dd>Contains elements that extend the track format by adding content either to e ach frame, | |||
with BlockAddID (<xref target="blockaddid-element"></xref>), or to the track as a whole | with BlockAddID (<xref target="blockaddid-element"></xref>), or to the track as a whole | |||
with BlockAddIDExtraData.</dd> | with BlockAddIDExtraData.</dd> | |||
</dl> | </dl> | |||
<section anchor="blockaddidvalue-element"><name>BlockAddIDValue Element</name> | <section anchor="blockaddidvalue-element"><name>BlockAddIDValue Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x41F0 / uinteger</dd> | <dd>0x41F0 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
skipping to change at line 1577 ¶ | skipping to change at line 1861 ¶ | |||
<dd>0x41F0 / uinteger</dd> | <dd>0x41F0 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>>=2</dd> | <dd>>=2</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\BlockAdditionMapping\BlockAddIDValue</tt></dd > | <dd><tt>\Segment\Tracks\TrackEntry\BlockAdditionMapping\BlockAddIDValue</tt></dd > | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>If the track format extension needs content beside frames, | <dd>If the track format extension needs content beside frames, | |||
the value refers to the BlockAddID (<xref target="blockaddid-element"></xref>), value being described.</dd> | the value refers to the BlockAddID (<xref target="blockaddid-element"></xref>) v alue being described.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>To keep MaxBlockAdditionID as low as possible, small values <bcp14>SHOULD</b cp14> be used.</dd> | <dd>To keep MaxBlockAdditionID as low as possible, small values <bcp14>SHOULD</b cp14> be used.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="blockaddidname-element"><name>BlockAddIDName Element</name> | <section anchor="blockaddidname-element"><name>BlockAddIDName Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x41A4 / string</dd> | <dd>0x41A4 / string</dd> | |||
skipping to change at line 1681 ¶ | skipping to change at line 1966 ¶ | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x22B59D / string</dd> | <dd>0x22B59D / string</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\LanguageBCP47</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\LanguageBCP47</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The language of the track, | <dd>The language of the track, | |||
in the <xref target="BCP47"></xref> form; see <xref target="language-codes"></xr ef> on language codes. | in the form defined in <xref target="RFC5646"></xref>; see <xref target="languag e-codes"></xref> on language codes. | |||
If this Element is used, then any Language Elements used in the same TrackEntry <bcp14>MUST</bcp14> be ignored.</dd> | If this Element is used, then any Language Elements used in the same TrackEntry <bcp14>MUST</bcp14> be ignored.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="codecid-element"><name>CodecID Element</name> | <section anchor="codecid-element"><name>CodecID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x86 / string</dd> | <dd>0x86 / string</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\CodecID</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\CodecID</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>An ID corresponding to the codec, | <dd>An ID corresponding to the codec; | |||
see <xref target="MatroskaCodec"></xref> for more info.</dd> | see <xref target="I-D.ietf-cellar-codec"></xref> for more info.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="codecprivate-element"><name>CodecPrivate Element</name> | <section anchor="codecprivate-element"><name>CodecPrivate Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x63A2 / binary</dd> | <dd>0x63A2 / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\CodecPrivate</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\CodecPrivate</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Private data only known to the codec.</dd> | <dd>Private data only known to the codec.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="codecname-element"><name>CodecName Element</name> | <section anchor="codecname-element"><name>CodecName Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x258688 / utf-8</dd> | <dd>0x258688 / utf-8</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\CodecName</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\CodecName</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
skipping to change at line 1763 ¶ | skipping to change at line 2048 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x56AA / uinteger / 0</dd> | <dd>0x56AA / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\CodecDelay</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\CodecDelay</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>CodecDelay is The codec-built-in delay, expressed in Matroska Ticks -- i.e., | <dd>The built-in delay for the codec, expressed in Matroska Ticks -- i.e., in na | |||
in nanoseconds; see <xref target="timestamp-ticks"></xref>. | noseconds; see <xref target="timestamp-ticks"></xref>. | |||
It represents the amount of codec samples that will be discarded by the decoder | It represents the number of codec samples that will be discarded by the decoder | |||
during playback. | during playback. | |||
This timestamp value <bcp14>MUST</bcp14> be subtracted from each frame timestamp in order to get the timestamp that will be actually played. | This timestamp value <bcp14>MUST</bcp14> be subtracted from each frame timestamp in order to get the timestamp that will be actually played. | |||
The value <bcp14>SHOULD</bcp14> be small so the muxing of tracks with the same a ctual timestamp are in the same Cluster.</dd> | The value <bcp14>SHOULD</bcp14> be small so the muxing of tracks with the same a ctual timestamp are in the same Cluster.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="seekpreroll-element"><name>SeekPreRoll Element</name> | <section anchor="seekpreroll-element"><name>SeekPreRoll Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x56BB / uinteger / 0</dd> | <dd>0x56BB / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\SeekPreRoll</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\SeekPreRoll</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>After a discontinuity, SeekPreRoll is the duration of the data | <dd>After a discontinuity, the duration of the data | |||
the decoder <bcp14>MUST</bcp14> decode before the decoded data is valid, express | that the decoder <bcp14>MUST</bcp14> decode before the decoded data is valid, ex | |||
ed in Matroska Ticks -- i.e., in nanoseconds; see <xref target="timestamp-ticks" | pressed in Matroska Ticks -- i.e., in nanoseconds; see <xref target="timestamp-t | |||
></xref>.</dd> | icks"></xref>.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="tracktranslate-element"><name>TrackTranslate Element</name> | <section anchor="tracktranslate-element"><name>TrackTranslate Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x6624 / master</dd> | <dd>0x6624 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackTranslate</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackTranslate</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The mapping between this <tt>TrackEntry</tt> and a track value in the given Chapter Codec.</dd> | <dd>The mapping between this <tt>TrackEntry</tt> and a track value in the given Chapter Codec.</dd> | |||
<dt>rationale:</dt> | <dt>rationale:</dt> | |||
<dd>Chapter Codec may need to address content in specific track, but they may no t know of the way to identify tracks in Matroska. | <dd>Chapter Codec may need to address content in a specific track, but they may not know of the way to identify tracks in Matroska. | |||
This element and its child elements add a way to map the internal tracks known t o the Chapter Codec to the track IDs in Matroska. | This element and its child elements add a way to map the internal tracks known t o the Chapter Codec to the track IDs in Matroska. | |||
This allows remuxing a file with Chapter Codec without changing the content of t he codec data, just the track mapping.</dd> | This allows remuxing a file with Chapter Codec without changing the content of t he codec data, just the track mapping.</dd> | |||
</dl> | </dl> | |||
<section anchor="tracktranslatetrackid-element"><name>TrackTranslateTrackID Elem ent</name> | <section anchor="tracktranslatetrackid-element"><name>TrackTranslateTrackID Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x66A5 / binary</dd> | <dd>0x66A5 / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
skipping to change at line 1821 ¶ | skipping to change at line 2106 ¶ | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The binary value used to represent this <tt>TrackEntry</tt> in the chapter c odec data. | <dd>The binary value used to represent this <tt>TrackEntry</tt> in the chapter c odec data. | |||
The format depends on the <tt>ChapProcessCodecID</tt> used; see <xref target="ch approcesscodecid-element"></xref>.</dd> | The format depends on the <tt>ChapProcessCodecID</tt> used; see <xref target="ch approcesscodecid-element"></xref>.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="tracktranslatecodec-element"><name>TrackTranslateCodec Element< /name> | <section anchor="tracktranslatecodec-element"><name>TrackTranslateCodec Element< /name> | |||
<!-- [rfced] Would updating "This TrackTranslate applies" in one of the | ||||
following ways improve readability and maintain consistency with other | ||||
definition?? | ||||
Original: | ||||
definition: This TrackTranslate applies to this chapter codec of the | ||||
given chapter edition(s); see Section 5.1.7.1.4.15. | ||||
Perhaps: | ||||
definition: Applies to the chapter codec of the | ||||
given chapter edition(s); see Section 5.1.7.1.4.15. | ||||
Or: | ||||
definition: Indicates that this TrackTranslate applies to the chapter codec | ||||
of the | ||||
given chapter edition(s); see Section 5.1.7.1.4.15. | ||||
--> | ||||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x66BF / uinteger</dd> | <dd>0x66BF / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateCodec</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateCodec</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>This <tt>TrackTranslate</tt> applies to this chapter codec of the given chap | <dd>This <tt>TrackTranslate</tt> applies to the chapter codec of the given chapt | |||
ter edition(s); see <xref target="chapprocesscodecid-element"></xref>.</dd> | er edition(s); see <xref target="chapprocesscodecid-element"></xref>.</dd> | |||
<dt>defined values:</dt> | ||||
<dd>See <xref target="TrackTranslateCodecValues"/>.</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | ||||
<table anchor="TrackTranslateCodecValues"><name>TrackTranslateCodec values</name | <table anchor="TrackTranslateCodecValues"><name>TrackTranslateCodec Values</name | |||
> | > | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">definition</th> | <th align="left">definition</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
skipping to change at line 1854 ¶ | skipping to change at line 2158 ¶ | |||
<td align="left">Matroska Script</td> | <td align="left">Matroska Script</td> | |||
<td align="left">Chapter commands using the Matroska Script codec.</td> | <td align="left">Chapter commands using the Matroska Script codec.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">DVD-menu</td> | <td align="left">DVD-menu</td> | |||
<td align="left">Chapter commands using the DVD-like codec.</td> | <td align="left">Chapter commands using the DVD-like codec.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table></section> | </table> | |||
</section> | ||||
<section anchor="tracktranslateeditionuid-element"><name>TrackTranslateEditionUI D Element</name> | <section anchor="tracktranslateeditionuid-element"><name>TrackTranslateEditionUI D Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x66FC / uinteger</dd> | <dd>0x66FC / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateEditionUID</tt>< /dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackTranslate\TrackTranslateEditionUID</tt>< /dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Specify a chapter edition UID on which this <tt>TrackTranslate</tt> applies. </dd> | <dd>Specifies a chapter edition UID to which this <tt>TrackTranslate</tt> applie s.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>When no <tt>TrackTranslateEditionUID</tt> is specified in the <tt>TrackTrans late</tt>, the <tt>TrackTranslate</tt> applies to all chapter editions found in the Segment using the given <tt>TrackTranslateCodec</tt>.</dd> | <dd>When no <tt>TrackTranslateEditionUID</tt> is specified in the <tt>TrackTrans late</tt>, the <tt>TrackTranslate</tt> applies to all chapter editions found in the Segment using the given <tt>TrackTranslateCodec</tt>.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="video-element"><name>Video Element</name> | <section anchor="video-element"><name>Video Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
skipping to change at line 1896 ¶ | skipping to change at line 2201 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x9A / uinteger / 0</dd> | <dd>0x9A / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\FlagInterlaced</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\FlagInterlaced</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>2</dd> | <dd>2</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Specify whether the video frames in this track are interlaced.</dd> | <dd>Specifies whether the video frames in this track are interlaced.</dd> | |||
<dt>defined values:</dt> | ||||
<dd>See <xref target="FlagInterlacedValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | ||||
<table anchor="FlagInterlacedValues"><name>FlagInterlaced values</name> | <table anchor="FlagInterlacedValues"><name>FlagInterlaced Values</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">definition</th> | <th align="left">definition</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
<td align="left">undetermined</td> | <td align="left">undetermined</td> | |||
<td align="left">Unknown status.This value <bcp14>SHOULD</bcp14> be avoided.</td > | <td align="left">Unknown status. This value <bcp14>SHOULD</bcp14> be avoided.</t d> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">interlaced</td> | <td align="left">interlaced</td> | |||
<td align="left">Interlaced frames.</td> | <td align="left">Interlaced frames.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">progressive</td> | <td align="left">progressive</td> | |||
<td align="left">No interlacing.</td> | <td align="left">No interlacing.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="fieldorder-element"><name>FieldOrder Element</name> | <section anchor="fieldorder-element"><name>FieldOrder Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x9D / uinteger / 2</dd> | <dd>0x9D / uinteger / 2</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\FieldOrder</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\FieldOrder</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Specify the field ordering of video frames in this track.</dd> | <dd>Specifies the field ordering of video frames in this track.</dd> | |||
<dt>defined values:</dt> | ||||
<dd>See <xref target="FieldOrderValues"/>.</dd> | ||||
<dt>usage notes:</dt> | ||||
<dd>If FlagInterlaced is not set to 1, this Element <bcp14>MUST</bcp14> be ignor | ||||
ed.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | ||||
<table anchor="FieldOrderValues"><name>FieldOrder values</name> | <table anchor="FieldOrderValues"><name>FieldOrder Values</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">definition</th> | <th align="left">definition</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
<td align="left">progressive</td> | <td align="left">progressive</td> | |||
<td align="left">Interlaced frames.This value <bcp14>SHOULD</bcp14> be avoided, setting FlagInterlaced to 2 is sufficient.</td> | <td align="left">Interlaced frames. This value <bcp14>SHOULD</bcp14> be avoided; setting FlagInterlaced to 2 is sufficient.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">tff</td> | <td align="left">tff</td> | |||
<td align="left">Top field displayed first. Top field stored first.</td> | <td align="left">Top field displayed first. Top field stored first.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">undetermined</td> | <td align="left">undetermined</td> | |||
<td align="left">Unknown field order.This value <bcp14>SHOULD</bcp14> be avoided .</td> | <td align="left">Unknown field order. This value <bcp14>SHOULD</bcp14> be avoide d.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>6</tt></td> | <td align="left"><tt>6</tt></td> | |||
<td align="left">bff</td> | <td align="left">bff</td> | |||
<td align="left">Bottom field displayed first. Bottom field stored first.</td> | <td align="left">Bottom field displayed first. Bottom field stored first.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>9</tt></td> | <td align="left"><tt>9</tt></td> | |||
skipping to change at line 1992 ¶ | skipping to change at line 2307 ¶ | |||
<td align="left">Top field displayed first. Fields are interleaved in storage wi th the top line of the top field stored first.</td> | <td align="left">Top field displayed first. Fields are interleaved in storage wi th the top line of the top field stored first.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>14</tt></td> | <td align="left"><tt>14</tt></td> | |||
<td align="left">tff(swapped)</td> | <td align="left">tff(swapped)</td> | |||
<td align="left">Bottom field displayed first. Fields are interleaved in storage with the top line of the top field stored first.</td> | <td align="left">Bottom field displayed first. Fields are interleaved in storage with the top line of the top field stored first.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<dl spacing="compact"> | ||||
<dt>usage notes:</dt> | ||||
<dd>If FlagInterlaced is not set to 1, this Element <bcp14>MUST</bcp14> be ignor | ||||
ed.</dd> | ||||
</dl> | ||||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="stereomode-element"><name>StereoMode Element</name> | <section anchor="stereomode-element"><name>StereoMode Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x53B8 / uinteger / 0</dd> | <dd>0x53B8 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\StereoMode</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\StereoMode</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Stereo-3D video mode. There are some more details in <xref target="multi-pla | <dd>Stereo-3D video mode. See <xref target="multi-planar-and-3d-videos"></xref> | |||
nar-and-3d-videos"></xref>.</dd> | for more details.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="StereoModeValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | ||||
<table anchor="StereoModeValues"><name>StereoMode values</name> | <table anchor="StereoModeValues"><name>StereoMode Values</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 2098 ¶ | skipping to change at line 2412 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>13</tt></td> | <td align="left"><tt>13</tt></td> | |||
<td align="left">both eyes laced in one Block (left eye is first)</td> | <td align="left">both eyes laced in one Block (left eye is first)</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>14</tt></td> | <td align="left"><tt>14</tt></td> | |||
<td align="left">both eyes laced in one Block (right eye is first)</td> | <td align="left">both eyes laced in one Block (right eye is first)</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="alphamode-element"><name>AlphaMode Element</name> | <section anchor="alphamode-element"><name>AlphaMode Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x53C0 / uinteger / 0</dd> | <dd>0x53C0 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\AlphaMode</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\AlphaMode</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<!-- [rfced] Please clarify the parenthetical in the second sentence below, | ||||
i.e., "(considered either as 0 or 1)". Also, we updated "by to" to "by" | ||||
in the first sentence. Please review. | ||||
Original: | ||||
definition: Indicate whether the BlockAdditional Element with | ||||
BlockAddID of "1" contains Alpha data as defined by to the Codec | ||||
Mapping for the CodecID. Undefined values SHOULD NOT be used, as | ||||
the behavior of known implementations is different (considered | ||||
either as 0 or 1). | ||||
Perhaps: | ||||
definition: Indicates whether the BlockAdditional Element with | ||||
BlockAddID of "1" contains Alpha data as defined by the Codec | ||||
Mapping for the CodecID. Undefined values (i.e., values other than | ||||
0 or 1) SHOULD NOT be used, as the behavior of known implementations | ||||
is different. | ||||
--> | ||||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Indicate whether the BlockAdditional Element with BlockAddID of "1" | <dd>Indicates whether the BlockAdditional Element with BlockAddID of "1" contain | |||
; contains Alpha data, as defined by to the Codec Mapping for the <tt>CodecID</t | s Alpha data, as defined by the Codec Mapping for the <tt>CodecID</tt>. | |||
t>. | Undefined values <bcp14>SHOULD NOT</bcp14> be used, as the behavior of known imp | |||
Undefined values <bcp14>SHOULD NOT</bcp14> be used as the behavior of known impl | lementations is different (considered either as 0 or 1).</dd> | |||
ementations is different (considered either as 0 or 1).</dd> | <dt>defined values:</dt> | |||
<dd>See <xref target="AlphaModeValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | <table anchor="AlphaModeValues"><name>AlphaMode Values</name> | |||
<table anchor="AlphaModeValues"><name>AlphaMode values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">definition</th> | <th align="left">definition</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
<td align="left">none</td> | <td align="left">none</td> | |||
<td align="left">The BlockAdditional Element with BlockAddID of "1" do es not exist or <bcp14>SHOULD NOT</bcp14> be considered as containing such data. </td> | <td align="left">The BlockAdditional Element with BlockAddID of "1" does not exi st or <bcp14>SHOULD NOT</bcp14> be considered as containing such data.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">present</td> | <td align="left">present</td> | |||
<td align="left">The BlockAdditional Element with BlockAddID of "1" co ntains alpha channel data.</td> | <td align="left">The BlockAdditional Element with BlockAddID of "1" contains alp ha channel data.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="oldstereomode-element"><name>OldStereoMode Element</name> | <section anchor="oldstereomode-element"><name>OldStereoMode Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x53B9 / uinteger</dd> | <dd>0x53B9 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\OldStereoMode</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\OldStereoMode</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>maxver:</dt> | <dt>maxver:</dt> | |||
<dd>2</dd> | <dd>2</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Bogus StereoMode value used in old versions of libmatroska.</dd> | <dd>Bogus StereoMode value used in old versions of libmatroska.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="OldStereoModeValues"/>.</dd> | ||||
<dt>usage notes:</dt> | ||||
<dd>This Element <bcp14>MUST NOT</bcp14> be used. It was an incorrect value used | ||||
in libmatroska up to 0.9.0.</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | <table anchor="OldStereoModeValues"><name>OldStereoMode Values</name> | |||
<table anchor="OldStereoModeValues"><name>OldStereoMode values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 2187 ¶ | skipping to change at line 2526 ¶ | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">left eye</td> | <td align="left">left eye</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>3</tt></td> | <td align="left"><tt>3</tt></td> | |||
<td align="left">both eyes</td> | <td align="left">both eyes</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<dl spacing="compact"> | ||||
<dt>usage notes:</dt> | ||||
<dd>This Element <bcp14>MUST NOT</bcp14> be used. It was an incorrect value used | ||||
in libmatroska up to 0.9.0.</dd> | ||||
</dl> | ||||
</section> | </section> | |||
<section anchor="pixelwidth-element"><name>PixelWidth Element</name> | <section anchor="pixelwidth-element"><name>PixelWidth Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xB0 / uinteger</dd> | <dd>0xB0 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\PixelWidth</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\PixelWidth</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Width of the encoded video frames in pixels.</dd> | <dd>Width of the encoded video frames in pixels.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="pixelheight-element"><name>PixelHeight Element</name> | <section anchor="pixelheight-element"><name>PixelHeight Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xBA / uinteger</dd> | <dd>0xBA / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\PixelHeight</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\PixelHeight</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Height of the encoded video frames in pixels.</dd> | <dd>Height of the encoded video frames in pixels.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="pixelcropbottom-element"><name>PixelCropBottom Element</name> | <section anchor="pixelcropbottom-element"><name>PixelCropBottom Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x54AA / uinteger / 0</dd> | <dd>0x54AA / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\PixelCropBottom</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\PixelCropBottom</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The number of video pixels to remove at the bottom of the image.</dd> | <dd>The number of video pixels to remove at the bottom of the image.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="pixelcroptop-element"><name>PixelCropTop Element</name> | <section anchor="pixelcroptop-element"><name>PixelCropTop Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x54BB / uinteger / 0</dd> | <dd>0x54BB / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\PixelCropTop</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\PixelCropTop</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The number of video pixels to remove at the top of the image.</dd> | <dd>The number of video pixels to remove at the top of the image.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="pixelcropleft-element"><name>PixelCropLeft Element</name> | <section anchor="pixelcropleft-element"><name>PixelCropLeft Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x54CC / uinteger / 0</dd> | <dd>0x54CC / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\PixelCropLeft</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\PixelCropLeft</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The number of video pixels to remove on the left of the image.</dd> | <dd>The number of video pixels to remove on the left of the image.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="pixelcropright-element"><name>PixelCropRight Element</name> | <section anchor="pixelcropright-element"><name>PixelCropRight Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x54DD / uinteger / 0</dd> | <dd>0x54DD / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\PixelCropRight</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\PixelCropRight</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The number of video pixels to remove on the right of the image.</dd> | <dd>The number of video pixels to remove on the right of the image.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="displaywidth-element"><name>DisplayWidth Element</name> | <section anchor="displaywidth-element"><name>DisplayWidth Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x54B0 / uinteger</dd> | <dd>0x54B0 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\DisplayWidth</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\DisplayWidth</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Width of the video frames to display. Applies to the video frame after cropp ing (PixelCrop* Elements).</dd> | <dd>Width of the video frames to display. Applies to the video frame after cropp ing (PixelCrop* Elements).</dd> | |||
<dt>notes:</dt> | ||||
<dd>See <xref target="DisplayWidthNotes"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>notes:</t> | ||||
<table anchor="DisplayWidthNotes"><name>DisplayWidth implementation notes</name> | <table anchor="DisplayWidthNotes"><name>DisplayWidth Implementation Notes</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">attribute</th> | <th align="left">attribute</th> | |||
<th align="left">note</th> | <th align="left">note</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">default</td> | <td align="left">default</td> | |||
<td align="left">If the DisplayUnit of the same TrackEntry is 0, then the defaul t value for DisplayWidth is equal toPixelWidth - PixelCropLeft - PixelCropRight, else there is no default value.</td> | <td align="left">If the DisplayUnit of the same TrackEntry is 0, then the defaul t value for DisplayWidth is equal to PixelWidth - PixelCropLeft - PixelCropRight ; else, there is no default value.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="displayheight-element"><name>DisplayHeight Element</name> | <section anchor="displayheight-element"><name>DisplayHeight Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x54BA / uinteger</dd> | <dd>0x54BA / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\DisplayHeight</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\DisplayHeight</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Height of the video frames to display. Applies to the video frame after crop ping (PixelCrop* Elements).</dd> | <dd>Height of the video frames to display. Applies to the video frame after crop ping (PixelCrop* Elements).</dd> | |||
<dt>notes:</dt> | ||||
<dd>See <xref target="DisplayHeightNotes"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>notes:</t> | <table anchor="DisplayHeightNotes"><name>DisplayHeight Implementation Notes</nam | |||
<table anchor="DisplayHeightNotes"><name>DisplayHeight implementation notes</nam | e> | |||
e> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">attribute</th> | <th align="left">attribute</th> | |||
<th align="left">note</th> | <th align="left">note</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">default</td> | <td align="left">default</td> | |||
<td align="left">If the DisplayUnit of the same TrackEntry is 0, then the defaul t value for DisplayHeight is equal toPixelHeight - PixelCropTop - PixelCropBotto m, else there is no default value.</td> | <td align="left">If the DisplayUnit of the same TrackEntry is 0, then the defaul t value for DisplayHeight is equal to PixelHeight - PixelCropTop - PixelCropBott om; else, there is no default value.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="displayunit-element"><name>DisplayUnit Element</name> | <section anchor="displayunit-element"><name>DisplayUnit Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x54B2 / uinteger / 0</dd> | <dd>0x54B2 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\DisplayUnit</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\DisplayUnit</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>How DisplayWidth & DisplayHeight are interpreted.</dd> | <dd>How DisplayWidth and DisplayHeight are interpreted.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="DisplayUnitValues"/>.</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | <table anchor="DisplayUnitValues"><name>DisplayUnit Values</name> | |||
<table anchor="DisplayUnitValues"><name>DisplayUnit values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 2398 ¶ | skipping to change at line 2741 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>3</tt></td> | <td align="left"><tt>3</tt></td> | |||
<td align="left">display aspect ratio</td> | <td align="left">display aspect ratio</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>4</tt></td> | <td align="left"><tt>4</tt></td> | |||
<td align="left">unknown</td> | <td align="left">unknown</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table></section> | </table> | |||
</section> | ||||
<section anchor="uncompressedfourcc-element"><name>UncompressedFourCC Element</n ame> | <section anchor="uncompressedfourcc-element"><name>UncompressedFourCC Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x2EB524 / binary</dd> | <dd>0x2EB524 / binary</dd> | |||
<dt>length:</dt> | <dt>length:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\UncompressedFourCC</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\UncompressedFourCC</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>see implementation notes / 1</dd> | <dd>see implementation notes / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Specify the uncompressed pixel format used for the Track's data as a FourCC. | <dd>Specifies the uncompressed pixel format used for the Track's data as a FourC | |||
This value is similar in scope to the biCompression value of AVI's <tt>BITMAPINF | C. | |||
O</tt> <xref target="AVIFormat"></xref>. There is no definitive list of FourCC v | This value is similar in scope to the biCompression value of AVI's <tt>BITMAPINF | |||
alues, nor an official registry. Some common values for YUV pixel formats can be | O</tt> <xref target="AVIFormat"></xref>. There is neither a definitive list of F | |||
found at <xref target="MSYUV8"></xref>, <xref target="MSYUV16"></xref> and <xre | ourCC values nor an official registry. Some common values for YUV pixel formats | |||
f target="FourCC-YUV"></xref>. Some common values for uncompressed RGB pixel for | can be found at <xref target="MSYUV8"></xref>, <xref target="MSYUV16"></xref>, a | |||
mats can be found at <xref target="MSRGB"></xref> and <xref target="FourCC-RGB"> | nd <xref target="FourCC-YUV"></xref>. Some common values for uncompressed RGB pi | |||
</xref>.</dd> | xel formats can be found at <xref target="MSRGB"></xref> and <xref target="FourC | |||
C-RGB"></xref>.</dd> | ||||
<dt>notes:</dt> | ||||
<dd>See <xref target="UncompressedFourCCNotes"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>notes:</t> | <table anchor="UncompressedFourCCNotes"><name>UncompressedFourCC Implementation | |||
<table anchor="UncompressedFourCCNotes"><name>UncompressedFourCC implementation | Notes</name> | |||
notes</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">attribute</th> | <th align="left">attribute</th> | |||
<th align="left">note</th> | <th align="left">note</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">minOccurs</td> | <td align="left">minOccurs</td> | |||
<td align="left">UncompressedFourCC <bcp14>MUST</bcp14> be set (minOccurs=1) in TrackEntry, when the CodecID Element of the TrackEntry is set to "V_UNCOMPR ESSED".</td> | <td align="left">UncompressedFourCC <bcp14>MUST</bcp14> be set (minOccurs=1) in TrackEntry when the CodecID Element of the TrackEntry is set to "V_UNCOMPRESSED" .</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="colour-element"><name>Colour Element</name> | <section anchor="colour-element"><name>Colour Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55B0 / master</dd> | <dd>0x55B0 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Settings describing the colour format.</dd> | <dd>Settings describing the colour format.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="matrixcoefficients-element"><name>MatrixCoefficients Element</n ame> | <section anchor="matrixcoefficients-element"><name>MatrixCoefficients Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x55B1 / uinteger / 2</dd> | <dd>0x55B1 / uinteger / 2</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MatrixCoefficients</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MatrixCoefficients</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The Matrix Coefficients of the video used to derive luma and chroma values f rom red, green, and blue color primaries. | <dd>The Matrix Coefficients of the video used to derive luma and chroma values f rom red, green, and blue color primaries. | |||
For clarity, the value and meanings for MatrixCoefficients are adopted from Tabl e 4 of <xref target="ITU-H.273"></xref>.</dd> | For clarity, the value and meanings for MatrixCoefficients are adopted from Tabl e 4 of <xref target="ITU-H.273"></xref>.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="MatrixCoefficientsValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | <table anchor="MatrixCoefficientsValues"><name>MatrixCoefficients Values</name> | |||
<table anchor="MatrixCoefficientsValues"><name>MatrixCoefficients values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 2550 ¶ | skipping to change at line 2901 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>13</tt></td> | <td align="left"><tt>13</tt></td> | |||
<td align="left">Chroma-derived Constant Luminance</td> | <td align="left">Chroma-derived Constant Luminance</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>14</tt></td> | <td align="left"><tt>14</tt></td> | |||
<td align="left">ITU-R BT.2100-0</td> | <td align="left">ITU-R BT.2100-0</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="bitsperchannel-element"><name>BitsPerChannel Element</name> | <section anchor="bitsperchannel-element"><name>BitsPerChannel Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x55B2 / uinteger / 0</dd> | <dd>0x55B2 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\BitsPerChannel</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\BitsPerChannel</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Number of decoded bits per channel. A value of 0 indicates that the BitsPerC hannel is unspecified.</dd> | <dd>Number of decoded bits per channel. A value of 0 indicates that the BitsPerC hannel is unspecified.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="chromasubsamplinghorz-element"><name>ChromaSubsamplingHorz Elem ent</name> | <section anchor="chromasubsamplinghorz-element"><name>ChromaSubsamplingHorz Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55B3 / uinteger</dd> | <dd>0x55B3 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\ChromaSubsamplingHorz</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\ChromaSubsamplingHorz</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The amount of pixels to remove in the Cr and Cb channels for every pixel not | <dd>The number of pixels to remove in the Cr and Cb channels for every pixel not | |||
removed horizontally. | removed horizontally. Example: For video with 4:2:0 chroma subsampling, the Chr | |||
Example: For video with 4:2:0 chroma subsampling, the ChromaSubsamplingHorz <bcp | omaSubsamplingHorz | |||
14>SHOULD</bcp14> be set to 1.</dd> | <bcp14>SHOULD</bcp14> be set to 1. | |||
</dl> | </dd> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | <dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | |||
</section> | </dl></section> | |||
<section anchor="chromasubsamplingvert-element"><name>ChromaSubsamplingVert Elem ent</name> | <section anchor="chromasubsamplingvert-element"><name>ChromaSubsamplingVert Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55B4 / uinteger</dd> | <dd>0x55B4 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\ChromaSubsamplingVert</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\ChromaSubsamplingVert</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The amount of pixels to remove in the Cr and Cb channels for every pixel not | <dd>The number of pixels to remove in the Cr and Cb channels for every pixel not | |||
removed vertically. | removed vertically. Example: For video with 4:2:0 chroma subsampling, the Chrom | |||
Example: For video with 4:2:0 chroma subsampling, the ChromaSubsamplingVert <bcp | aSubsamplingVert | |||
14>SHOULD</bcp14> be set to 1.</dd> | <bcp14>SHOULD</bcp14> be set to 1. | |||
</dd> | ||||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="cbsubsamplinghorz-element"><name>CbSubsamplingHorz Element</nam e> | <section anchor="cbsubsamplinghorz-element"><name>CbSubsamplingHorz Element</nam e> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55B5 / uinteger</dd> | <dd>0x55B5 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\CbSubsamplingHorz</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\CbSubsamplingHorz</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The amount of pixels to remove in the Cb channel for every pixel not removed | <dd>The number of pixels to remove in the Cb channel for every pixel not removed | |||
horizontally. | horizontally. | |||
This is additive with ChromaSubsamplingHorz. Example: For video with 4:2:1 chrom | This is additive with ChromaSubsamplingHorz. | |||
a subsampling, | Example: For video with 4:2:1 chroma | |||
the ChromaSubsamplingHorz <bcp14>SHOULD</bcp14> be set to 1 and CbSubsamplingHor | subsampling, the ChromaSubsamplingHorz <bcp14>SHOULD</bcp14> be set to 1, and Cb | |||
z <bcp14>SHOULD</bcp14> be set to 1.</dd> | SubsamplingHorz <bcp14>SHOULD</bcp14> be set to 1. | |||
</dl> | </dd> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | <dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | |||
</section> | </dl></section> | |||
<section anchor="cbsubsamplingvert-element"><name>CbSubsamplingVert Element</nam e> | <section anchor="cbsubsamplingvert-element"><name>CbSubsamplingVert Element</nam e> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55B6 / uinteger</dd> | <dd>0x55B6 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\CbSubsamplingVert</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\CbSubsamplingVert</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The amount of pixels to remove in the Cb channel for every pixel not removed vertically. | <dd>The number of pixels to remove in the Cb channel for every pixel not removed vertically. | |||
This is additive with ChromaSubsamplingVert.</dd> | This is additive with ChromaSubsamplingVert.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="chromasitinghorz-element"><name>ChromaSitingHorz Element</name> | <section anchor="chromasitinghorz-element"><name>ChromaSitingHorz Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x55B7 / uinteger / 0</dd> | <dd>0x55B7 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingHorz</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingHorz</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>How chroma is subsampled horizontally.</dd> | <dd>How chroma is subsampled horizontally.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="ChromaSitingHorzValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | <table anchor="ChromaSitingHorzValues"><name>ChromaSitingHorz Values</name> | |||
<table anchor="ChromaSitingHorzValues"><name>ChromaSitingHorz values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 2682 ¶ | skipping to change at line 3038 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">left collocated</td> | <td align="left">left collocated</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">half</td> | <td align="left">half</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="chromasitingvert-element"><name>ChromaSitingVert Element</name> | <section anchor="chromasitingvert-element"><name>ChromaSitingVert Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x55B8 / uinteger / 0</dd> | <dd>0x55B8 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingVert</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\ChromaSitingVert</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>How chroma is subsampled vertically.</dd> | <dd>How chroma is subsampled vertically.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="ChromaSitingVertValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | <table anchor="ChromaSitingVertValues"><name>ChromaSitingVert Values</name> | |||
<table anchor="ChromaSitingVertValues"><name>ChromaSitingVert values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 2724 ¶ | skipping to change at line 3083 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">top collocated</td> | <td align="left">top collocated</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">half</td> | <td align="left">half</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="range-element"><name>Range Element</name> | <section anchor="range-element"><name>Range Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x55B9 / uinteger / 0</dd> | <dd>0x55B9 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\Range</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\Range</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Clipping of the color ranges.</dd> | <dd>Clipping of the color ranges.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="RangeValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | ||||
<table anchor="RangeValues"><name>Range values</name> | <table anchor="RangeValues"><name>Range Values</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 2771 ¶ | skipping to change at line 3134 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">full range (no clipping)</td> | <td align="left">full range (no clipping)</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>3</tt></td> | <td align="left"><tt>3</tt></td> | |||
<td align="left">defined by MatrixCoefficients / TransferCharacteristics</td> | <td align="left">defined by MatrixCoefficients / TransferCharacteristics</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="transfercharacteristics-element"><name>TransferCharacteristics Element</name> | <section anchor="transfercharacteristics-element"><name>TransferCharacteristics Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x55BA / uinteger / 2</dd> | <dd>0x55BA / uinteger / 2</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\TransferCharacteristics</tt></dd > | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\TransferCharacteristics</tt></dd > | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The transfer characteristics of the video. For clarity, | <dd>The transfer characteristics of the video. For clarity, | |||
the value and meanings for TransferCharacteristics are adopted from Table 3 of < xref target="ITU-H.273"></xref>.</dd> | the value and meanings for TransferCharacteristics are adopted from Table 3 of < xref target="ITU-H.273"></xref>.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="TransferCharacteristicsValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | <table anchor="TransferCharacteristicsValues"><name>TransferCharacteristics Valu | |||
<table anchor="TransferCharacteristicsValues"><name>TransferCharacteristics valu | es</name> | |||
es</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 2894 ¶ | skipping to change at line 3260 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>17</tt></td> | <td align="left"><tt>17</tt></td> | |||
<td align="left">SMPTE ST 428-1</td> | <td align="left">SMPTE ST 428-1</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>18</tt></td> | <td align="left"><tt>18</tt></td> | |||
<td align="left">ARIB STD-B67 (HLG)</td> | <td align="left">ARIB STD-B67 (HLG)</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="primaries-element"><name>Primaries Element</name> | <section anchor="primaries-element"><name>Primaries Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x55BB / uinteger / 2</dd> | <dd>0x55BB / uinteger / 2</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\Primaries</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\Primaries</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The colour primaries of the video. For clarity, | <dd>The colour primaries of the video. For clarity, | |||
the value and meanings for Primaries are adopted from Table 2 of <xref target="I TU-H.273"></xref>.</dd> | the value and meanings for Primaries are adopted from Table 2 of <xref target="I TU-H.273"></xref>.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="PrimariesValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | ||||
<table anchor="PrimariesValues"><name>Primaries values</name> | <table anchor="PrimariesValues"><name>Primaries Values</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 2992 ¶ | skipping to change at line 3362 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>12</tt></td> | <td align="left"><tt>12</tt></td> | |||
<td align="left">SMPTE EG 432-2</td> | <td align="left">SMPTE EG 432-2</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>22</tt></td> | <td align="left"><tt>22</tt></td> | |||
<td align="left">EBU Tech. 3213-E - JEDEC P22 phosphors</td> | <td align="left">EBU Tech. 3213-E - JEDEC P22 phosphors</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="maxcll-element"><name>MaxCLL Element</name> | <section anchor="maxcll-element"><name>MaxCLL Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55BC / uinteger</dd> | <dd>0x55BC / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MaxCLL</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MaxCLL</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Maximum brightness of a single pixel (Maximum Content Light Level) | <dd>Maximum brightness of a single pixel (Maximum Content Light Level) | |||
in candelas per square meter (cd/m<sup>2</sup>).</dd> | in candelas per square meter (cd/m<sup>2</sup>).</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="maxfall-element"><name>MaxFALL Element</name> | <section anchor="maxfall-element"><name>MaxFALL Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55BD / uinteger</dd> | <dd>0x55BD / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MaxFALL</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MaxFALL</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Maximum brightness of a single full frame (Maximum Frame-Average Light Level ) | <dd>Maximum brightness of a single full frame (Maximum Frame-Average Light Level ) | |||
in candelas per square meter (cd/m<sup>2</sup>).</dd> | in candelas per square meter (cd/m<sup>2</sup>).</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="masteringmetadata-element"><name>MasteringMetadata Element</nam e> | <section anchor="masteringmetadata-element"><name>MasteringMetadata Element</nam e> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55D0 / master</dd> | <dd>0x55D0 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>SMPTE 2086 mastering data.</dd> | <dd>SMPTE 2086 mastering data.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="primaryrchromaticityx-element"><name>PrimaryRChromaticityX Elem ent</name> | <section anchor="primaryrchromaticityx-element"><name>PrimaryRChromaticityX Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55D1 / float</dd> | <dd>0x55D1 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0x0p+0-0x1p+0</dd> | <dd>0x0p+0-0x1p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryRChroma ticityX</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryRChroma ticityX</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Red X chromaticity coordinate, as defined by <xref target="CIE-1931"></xref> .</dd> | <dd>Red X chromaticity coordinate, as defined by <xref target="CIE-1931"></xref> .</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="primaryrchromaticityy-element"><name>PrimaryRChromaticityY Elem ent</name> | <section anchor="primaryrchromaticityy-element"><name>PrimaryRChromaticityY Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55D2 / float</dd> | <dd>0x55D2 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0x0p+0-0x1p+0</dd> | <dd>0x0p+0-0x1p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryRChroma ticityY</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryRChroma ticityY</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Red Y chromaticity coordinate, as defined by <xref target="CIE-1931"></xref> .</dd> | <dd>Red Y chromaticity coordinate, as defined by <xref target="CIE-1931"></xref> .</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="primarygchromaticityx-element"><name>PrimaryGChromaticityX Elem ent</name> | <section anchor="primarygchromaticityx-element"><name>PrimaryGChromaticityX Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55D3 / float</dd> | <dd>0x55D3 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0x0p+0-0x1p+0</dd> | <dd>0x0p+0-0x1p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryGChroma ticityX</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryGChroma ticityX</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Green X chromaticity coordinate, as defined by <xref target="CIE-1931"></xre f>.</dd> | <dd>Green X chromaticity coordinate, as defined by <xref target="CIE-1931"></xre f>.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="primarygchromaticityy-element"><name>PrimaryGChromaticityY Elem ent</name> | <section anchor="primarygchromaticityy-element"><name>PrimaryGChromaticityY Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55D4 / float</dd> | <dd>0x55D4 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0x0p+0-0x1p+0</dd> | <dd>0x0p+0-0x1p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryGChroma ticityY</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryGChroma ticityY</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Green Y chromaticity coordinate, as defined by <xref target="CIE-1931"></xre f>.</dd> | <dd>Green Y chromaticity coordinate, as defined by <xref target="CIE-1931"></xre f>.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="primarybchromaticityx-element"><name>PrimaryBChromaticityX Elem ent</name> | <section anchor="primarybchromaticityx-element"><name>PrimaryBChromaticityX Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55D5 / float</dd> | <dd>0x55D5 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0x0p+0-0x1p+0</dd> | <dd>0x0p+0-0x1p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryBChroma ticityX</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryBChroma ticityX</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Blue X chromaticity coordinate, as defined by <xref target="CIE-1931"></xref >.</dd> | <dd>Blue X chromaticity coordinate, as defined by <xref target="CIE-1931"></xref >.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="primarybchromaticityy-element"><name>PrimaryBChromaticityY Elem ent</name> | <section anchor="primarybchromaticityy-element"><name>PrimaryBChromaticityY Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55D6 / float</dd> | <dd>0x55D6 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0x0p+0-0x1p+0</dd> | <dd>0x0p+0-0x1p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryBChroma ticityY</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\PrimaryBChroma ticityY</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Blue Y chromaticity coordinate, as defined by <xref target="CIE-1931"></xref >.</dd> | <dd>Blue Y chromaticity coordinate, as defined by <xref target="CIE-1931"></xref >.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="whitepointchromaticityx-element"><name>WhitePointChromaticityX Element</name> | <section anchor="whitepointchromaticityx-element"><name>WhitePointChromaticityX Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55D7 / float</dd> | <dd>0x55D7 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0x0p+0-0x1p+0</dd> | <dd>0x0p+0-0x1p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\WhitePointChro maticityX</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\WhitePointChro maticityX</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>White X chromaticity coordinate, as defined by <xref target="CIE-1931"></xre f>.</dd> | <dd>White X chromaticity coordinate, as defined by <xref target="CIE-1931"></xre f>.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="whitepointchromaticityy-element"><name>WhitePointChromaticityY Element</name> | <section anchor="whitepointchromaticityy-element"><name>WhitePointChromaticityY Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55D8 / float</dd> | <dd>0x55D8 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0x0p+0-0x1p+0</dd> | <dd>0x0p+0-0x1p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\WhitePointChro maticityY</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\WhitePointChro maticityY</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>White Y chromaticity coordinate, as defined by <xref target="CIE-1931"></xre f>.</dd> | <dd>White Y chromaticity coordinate, as defined by <xref target="CIE-1931"></xre f>.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="luminancemax-element"><name>LuminanceMax Element</name> | <section anchor="luminancemax-element"><name>LuminanceMax Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55D9 / float</dd> | <dd>0x55D9 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>>= 0x0p+0</dd> | <dd>>= 0x0p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\LuminanceMax</ tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\LuminanceMax</ tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Maximum luminance. Represented in candelas per square meter (cd/m<sup>2</sup >).</dd> | <dd>Maximum luminance. Represented in candelas per square meter (cd/m<sup>2</sup >).</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="luminancemin-element"><name>LuminanceMin Element</name> | <section anchor="luminancemin-element"><name>LuminanceMin Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x55DA / float</dd> | <dd>0x55DA / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>>= 0x0p+0</dd> | <dd>>= 0x0p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\LuminanceMin</ tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Colour\MasteringMetadata\LuminanceMin</ tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Minimum luminance. Represented in candelas per square meter (cd/m<sup>2</sup >).</dd> | <dd>Minimum luminance. Represented in candelas per square meter (cd/m<sup>2</sup >).</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="projection-element"><name>Projection Element</name> | <section anchor="projection-element"><name>Projection Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x7670 / master</dd> | <dd>0x7670 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Projection</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Projection</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Describes the video projection details. Used to render spherical, VR videos | <!-- [rfced] We updated this sentence as follows. Please review and let us | |||
or flipping videos horizontally/vertically.</dd> | know any concerns. | |||
</dl> | ||||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | Original: | |||
</section> | Used to render spherical, VR videos or flipping videos | |||
horizontally/vertically. | ||||
Updated: | ||||
Used to render spherical or VR videos or to flip videos horizontally | ||||
or vertically. | ||||
--> | ||||
<dd>Describes the video projection details. Used to render spherical or VR video | ||||
s or to flip videos horizontally or vertically.</dd> | ||||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl></section> | ||||
<section anchor="projectiontype-element"><name>ProjectionType Element</name> | <section anchor="projectiontype-element"><name>ProjectionType Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x7671 / uinteger / 0</dd> | <dd>0x7671 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Projection\ProjectionType</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Projection\ProjectionType</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Describes the projection used for this video track.</dd> | <dd>Describes the projection used for this video track.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="ProjectionTypeValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | <table anchor="ProjectionTypeValues"><name>ProjectionType Values</name> | |||
<table anchor="ProjectionTypeValues"><name>ProjectionType values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 3299 ¶ | skipping to change at line 3682 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">cubemap</td> | <td align="left">cubemap</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>3</tt></td> | <td align="left"><tt>3</tt></td> | |||
<td align="left">mesh</td> | <td align="left">mesh</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="projectionprivate-element"><name>ProjectionPrivate Element</nam e> | <section anchor="projectionprivate-element"><name>ProjectionPrivate Element</nam e> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x7672 / binary</dd> | <dd>0x7672 / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPrivate</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPrivate</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Private data that only applies to a specific projection.</dd> | <dd><t>Private data that only applies to a specific projection.</t> | |||
</dl> | ||||
<ul spacing="compact"> | <ul spacing="compact"> | |||
<li>If <tt>ProjectionType</tt> equals 0 (Rectangular), | <li>If <tt>ProjectionType</tt> equals 0 (rectangular), | |||
then this element <bcp14>MUST NOT</bcp14> be present.</li> | then this element <bcp14>MUST NOT</bcp14> be present.</li> | |||
<li>If <tt>ProjectionType</tt> equals 1 (Equirectangular), then this element <bc | <li>If <tt>ProjectionType</tt> equals 1 (equirectangular), then this element <bc | |||
p14>MUST</bcp14> be present and contain the same binary data that would be store | p14>MUST</bcp14> be present and contain the same binary data that would be store | |||
d inside | d inside | |||
an ISOBMFF Equirectangular Projection Box ('equi').</li> | an ISOBMFF Equirectangular Projection Box ("equi").</li> | |||
<li>If <tt>ProjectionType</tt> equals 2 (Cubemap), then this element <bcp14>MUST | <li>If <tt>ProjectionType</tt> equals 2 (cubemap), then this element <bcp14>MUST | |||
</bcp14> be present and contain the same binary data that would be stored | </bcp14> be present and contain the same binary data that would be stored | |||
inside an ISOBMFF Cubemap Projection Box ('cbmp').</li> | inside an ISOBMFF Cubemap Projection Box ("cbmp").</li> | |||
<li>If <tt>ProjectionType</tt> equals 3 (Mesh), then this element <bcp14>MUST</b | <li>If <tt>ProjectionType</tt> equals 3 (mesh), then this element <bcp14>MUST</b | |||
cp14> be present and contain the same binary data that would be stored inside | cp14> be present and contain the same binary data that would be stored inside | |||
an ISOBMFF Mesh Projection Box ('mshp').</li> | an ISOBMFF Mesh Projection Box ("mshp").</li> | |||
</ul> | </ul> | |||
</dd> | ||||
<dl spacing="compact"> | ||||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>ISOBMFF box size and fourcc fields are not included in the binary data, | <dd>ISOBMFF box size and fourcc fields are not included in the binary data, | |||
but the FullBox version and flag fields are. This is to avoid | but the FullBox version and flag fields are. This is to avoid | |||
redundant framing information while preserving versioning and semantics between the two container formats.</dd> | redundant framing information while preserving versioning and semantics between the two container formats.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<!-- [rfced] Please review "both included" in Sections 5.1.4.1.28.44 through | ||||
5.1.4.1.28.46. Is the meaning here "inclusive"? | ||||
Original: | ||||
The value of this element MUST be in the -180 to 180 degree range, | ||||
both included. | ||||
... | ||||
The value of this element MUST be in the -90 to 90 degree range, both | ||||
included. | ||||
... | ||||
The value of this element MUST be in the -180 to 180 degree range, both | ||||
included. | ||||
Perhaps: | ||||
The value of this element MUST be in the -180 to 180 (inclusive) degree range. | ||||
... | ||||
The value of this element MUST be in the -90 to 90 (inclusive) degree range. | ||||
... | ||||
The value of this element MUST be in the -180 to 180 (inclusive) degree range. | ||||
--> | ||||
<section anchor="projectionposeyaw-element"><name>ProjectionPoseYaw Element</nam e> | <section anchor="projectionposeyaw-element"><name>ProjectionPoseYaw Element</nam e> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x7673 / float / 0x0p+0</dd> | <dd>0x7673 / float / 0x0p+0</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>>= -0xB4p+0, <= 0xB4p+0</dd> | <dd>>= -0xB4p+0, <= 0xB4p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPoseYaw</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Video\Projection\ProjectionPoseYaw</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Specifies a yaw rotation to the projection.</dd> | <dd>Specifies a yaw rotation to the projection.</dd> | |||
</dl> | </dl> | |||
<t>Value represents a clockwise rotation, in degrees, around the up vector. This rotation must be applied | <t>Value represents a clockwise rotation, in degrees, around the up vector. This rotation must be applied | |||
before any <tt>ProjectionPosePitch</tt> or <tt>ProjectionPoseRoll</tt> rotations . | before any <tt>ProjectionPosePitch</tt> or <tt>ProjectionPoseRoll</tt> rotations . | |||
The value of this element <bcp14>MUST</bcp14> be in the -180 to 180 degree range , both included.</t> | The value of this element <bcp14>MUST</bcp14> be in the -180 to 180 degree range , both included.</t> | |||
<t>Setting <tt>ProjectionPoseYaw</tt> to 180 or -180 degrees, with the <tt>Proje | <t>Setting <tt>ProjectionPoseYaw</tt> to 180 or -180 degrees with <tt>Projection | |||
ctionPoseRoll</tt> and <tt>ProjectionPosePitch</tt> set to 0 degrees flips the i | PoseRoll</tt> and <tt>ProjectionPosePitch</tt> set to 0 degrees flips the image | |||
mage horizontally.</t> | horizontally.</t> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | <dl spacing="compact"> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | ||||
</section> | </section> | |||
<section anchor="projectionposepitch-element"><name>ProjectionPosePitch Element< /name> | <section anchor="projectionposepitch-element"><name>ProjectionPosePitch Element< /name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x7674 / float / 0x0p+0</dd> | <dd>0x7674 / float / 0x0p+0</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>>= -0x5Ap+0, <= 0x5Ap+0</dd> | <dd>>= -0x5Ap+0, <= 0x5Ap+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
skipping to change at line 3379 ¶ | skipping to change at line 3784 ¶ | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Specifies a pitch rotation to the projection.</dd> | <dd>Specifies a pitch rotation to the projection.</dd> | |||
</dl> | </dl> | |||
<t>Value represents a counter-clockwise rotation, in degrees, around the right v ector. This rotation must be applied | <t>Value represents a counter-clockwise rotation, in degrees, around the right v ector. This rotation must be applied | |||
after the <tt>ProjectionPoseYaw</tt> rotation and before the <tt>ProjectionPoseR oll</tt> rotation. | after the <tt>ProjectionPoseYaw</tt> rotation and before the <tt>ProjectionPoseR oll</tt> rotation. | |||
The value of this element <bcp14>MUST</bcp14> be in the -90 to 90 degree range, both included.</t> | The value of this element <bcp14>MUST</bcp14> be in the -90 to 90 degree range, both included.</t> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | <dl spacing="compact"> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | ||||
</section> | </section> | |||
<section anchor="projectionposeroll-element"><name>ProjectionPoseRoll Element</n ame> | <section anchor="projectionposeroll-element"><name>ProjectionPoseRoll Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x7675 / float / 0x0p+0</dd> | <dd>0x7675 / float / 0x0p+0</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>>= -0xB4p+0, <= 0xB4p+0</dd> | <dd>>= -0xB4p+0, <= 0xB4p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
skipping to change at line 3401 ¶ | skipping to change at line 3809 ¶ | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Specifies a roll rotation to the projection.</dd> | <dd>Specifies a roll rotation to the projection.</dd> | |||
</dl> | </dl> | |||
<t>Value represents a counter-clockwise rotation, in degrees, around the forward vector. This rotation must be applied | <t>Value represents a counter-clockwise rotation, in degrees, around the forward vector. This rotation must be applied | |||
after the <tt>ProjectionPoseYaw</tt> and <tt>ProjectionPosePitch</tt> rotations. | after the <tt>ProjectionPoseYaw</tt> and <tt>ProjectionPosePitch</tt> rotations. | |||
The value of this element <bcp14>MUST</bcp14> be in the -180 to 180 degree range , both included.</t> | The value of this element <bcp14>MUST</bcp14> be in the -180 to 180 degree range , both included.</t> | |||
<t>Setting <tt>ProjectionPoseRoll</tt> to 180 or -180 degrees, the <tt>Projectio | <t>Setting <tt>ProjectionPoseRoll</tt> to 180 or -180 degrees and <tt>Projection | |||
nPoseYaw</tt> to 180 or -180 degrees with <tt>ProjectionPosePitch</tt> set to 0 | PoseYaw</tt> to 180 or -180 degrees with <tt>ProjectionPosePitch</tt> set to 0 d | |||
degrees flips the image vertically.</t> | egrees flips the image vertically.</t> | |||
<t>Setting <tt>ProjectionPoseRoll</tt> to 180 or -180 degrees, with the <tt>Proj | <t>Setting <tt>ProjectionPoseRoll</tt> to 180 or -180 degrees with <tt>Projectio | |||
ectionPoseYaw</tt> and <tt>ProjectionPosePitch</tt> set to 0 degrees flips the i | nPoseYaw</tt> and <tt>ProjectionPosePitch</tt> set to 0 degrees flips the image | |||
mage horizontally and vertically.</t> | horizontally and vertically.</t> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | <dl spacing="compact"> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="audio-element"><name>Audio Element</name> | <section anchor="audio-element"><name>Audio Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xE1 / master</dd> | <dd>0xE1 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Audio</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Audio</tt></dd> | |||
skipping to change at line 3433 ¶ | skipping to change at line 3844 ¶ | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0xB5 / float / 0x1.f4p+12</dd> | <dd>0xB5 / float / 0x1.f4p+12</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>> 0x0p+0</dd> | <dd>> 0x0p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Audio\SamplingFrequency</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Audio\SamplingFrequency</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Sampling frequency in Hz.</dd> | <dd>Sampling frequency in Hz.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="outputsamplingfrequency-element"><name>OutputSamplingFrequency Element</name> | <section anchor="outputsamplingfrequency-element"><name>OutputSamplingFrequency Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x78B5 / float</dd> | <dd>0x78B5 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>> 0x0p+0</dd> | <dd>> 0x0p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
skipping to change at line 3449 ¶ | skipping to change at line 3860 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x78B5 / float</dd> | <dd>0x78B5 / float</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>> 0x0p+0</dd> | <dd>> 0x0p+0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Audio\OutputSamplingFrequency</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Audio\OutputSamplingFrequency</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Real output sampling frequency in Hz (used for SBR techniques).</dd> | <dd>Real output sampling frequency in Hz (used for SBR techniques).</dd> | |||
<dt>notes:</dt> | ||||
<dd>See <xref target="OutputSamplingFrequencyNotes"/>.</dd> | ||||
</dl> | </dl> | |||
<t>notes:</t> | <table anchor="OutputSamplingFrequencyNotes"><name>OutputSamplingFrequency Imple | |||
<table anchor="OutputSamplingFrequencyNotes"><name>OutputSamplingFrequency imple | mentation Notes</name> | |||
mentation notes</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">attribute</th> | <th align="left">attribute</th> | |||
<th align="left">note</th> | <th align="left">note</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">default</td> | <td align="left">default</td> | |||
<td align="left">The default value for OutputSamplingFrequency of the same Track Entry is equal to the SamplingFrequency.</td> | <td align="left">The default value for OutputSamplingFrequency of the same Track Entry is equal to the SamplingFrequency.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table></section> | </table> | |||
</section> | ||||
<section anchor="channels-element"><name>Channels Element</name> | <section anchor="channels-element"><name>Channels Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x9F / uinteger / 1</dd> | <dd>0x9F / uinteger / 1</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Audio\Channels</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Audio\Channels</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Numbers of channels in the track.</dd> | <dd>Numbers of channels in the track.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="bitdepth-element"><name>BitDepth Element</name> | <section anchor="bitdepth-element"><name>BitDepth Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x6264 / uinteger</dd> | <dd>0x6264 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\Audio\BitDepth</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\Audio\BitDepth</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Bits per sample, mostly used for PCM.</dd> | <dd>Bits per sample, mostly used for PCM.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="trackoperation-element"><name>TrackOperation Element</name> | <section anchor="trackoperation-element"><name>TrackOperation Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xE2 / master</dd> | <dd>0xE2 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackOperation</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackOperation</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Operation that needs to be applied on tracks to create this virtual track. | <dd>Operation that needs to be applied on tracks to create this virtual track. F | |||
For more details look at <xref target="track-operation"></xref>.</dd> | or more details, see <xref target="track-operation"></xref>.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
<section anchor="trackcombineplanes-element"><name>TrackCombinePlanes Element</n ame> | <section anchor="trackcombineplanes-element"><name>TrackCombinePlanes Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xE3 / master</dd> | <dd>0xE3 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contains the list of all video plane tracks that need to be combined to crea | <dd>Contains the list of all video plane tracks that need to be combined to crea | |||
te this 3D track</dd> | te this 3D track.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="trackplane-element"><name>TrackPlane Element</name> | <section anchor="trackplane-element"><name>TrackPlane Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xE4 / master</dd> | <dd>0xE4 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes\TrackPlane< /tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes\TrackPlane< /tt></dd> | |||
<dt>minOccurs:</dt> | <dt>minOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contains a video plane track that need to be combined to create this 3D trac | <dd>Contains a video plane track that needs to be combined to create this 3D tra | |||
k</dd> | ck.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="trackplaneuid-element"><name>TrackPlaneUID Element</name> | <section anchor="trackplaneuid-element"><name>TrackPlaneUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xE5 / uinteger</dd> | <dd>0xE5 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes\TrackPlane\ TrackPlaneUID</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes\TrackPlane\ TrackPlaneUID</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The trackUID number of the track representing the plane.</dd> | <dd>The trackUID number of the track representing the plane.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="trackplanetype-element"><name>TrackPlaneType Element</name> | <section anchor="trackplanetype-element"><name>TrackPlaneType Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xE6 / uinteger</dd> | <dd>0xE6 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes\TrackPlane\ TrackPlaneType</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackCombinePlanes\TrackPlane\ TrackPlaneType</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The kind of plane this track corresponds to.</dd> | <dd>The kind of plane this track corresponds to.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="TrackPlaneTypeValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | <table anchor="TrackPlaneTypeValues"><name>TrackPlaneType Values</name> | |||
<table anchor="TrackPlaneTypeValues"><name>TrackPlaneType values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 3612 ¶ | skipping to change at line 4028 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">right eye</td> | <td align="left">right eye</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">background</td> | <td align="left">background</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="trackjoinblocks-element"><name>TrackJoinBlocks Element</name> | <section anchor="trackjoinblocks-element"><name>TrackJoinBlocks Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xE9 / master</dd> | <dd>0xE9 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackJoinBlocks</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackJoinBlocks</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contains the list of all tracks whose Blocks need to be combined to create t | <dd>Contains the list of all tracks whose Blocks need to be combined to create t | |||
his virtual track</dd> | his virtual track.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="trackjoinuid-element"><name>TrackJoinUID Element</name> | <section anchor="trackjoinuid-element"><name>TrackJoinUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xED / uinteger</dd> | <dd>0xED / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackJoinBlocks\TrackJoinUID</ tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\TrackOperation\TrackJoinBlocks\TrackJoinUID</ tt></dd> | |||
<dt>minOccurs:</dt> | <dt>minOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The trackUID number of a track whose blocks are used to create this virtual track.</dd> | <dd>The trackUID number of a track whose blocks are used to create this virtual track.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="contentencodings-element"><name>ContentEncodings Element</name> | <section anchor="contentencodings-element"><name>ContentEncodings Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x6D80 / master</dd> | <dd>0x6D80 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Settings for several content encoding mechanisms like compression or encrypt ion.</dd> | <dd>Settings for several content encoding mechanisms like compression or encrypt ion.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
<section anchor="contentencoding-element"><name>ContentEncoding Element</name> | <section anchor="contentencoding-element"><name>ContentEncoding Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x6240 / master</dd> | <dd>0x6240 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding</tt></dd> | |||
<dt>minOccurs:</dt> | <dt>minOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Settings for one content encoding like compression or encryption.</dd> | <dd>Settings for one content encoding like compression or encryption.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="contentencodingorder-element"><name>ContentEncodingOrder Elemen t</name> | <section anchor="contentencodingorder-element"><name>ContentEncodingOrder Elemen t</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x5031 / uinteger / 0</dd> | <dd>0x5031 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncod ingOrder</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncod ingOrder</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<!-- [rfced] May we rephrase the first sentence of this definition as follows | ||||
for clarity? | ||||
Original: | ||||
Tell in which order to apply each ContentEncoding of the | ||||
ContentEncodings. | ||||
Perhaps: | ||||
Defines the order to apply to each ContentEncoding of the ContentEncodings. | ||||
--> | ||||
<dd>Tell in which order to apply each <tt>ContentEncoding</tt> of the <tt>Conten tEncodings</tt>. | <dd>Tell in which order to apply each <tt>ContentEncoding</tt> of the <tt>Conten tEncodings</tt>. | |||
The decoder/demuxer <bcp14>MUST</bcp14> start with the <tt>ContentEncoding</tt> with the highest <tt>ContentEncodingOrder</tt> and work its way down to the <tt> ContentEncoding</tt> with the lowest <tt>ContentEncodingOrder</tt>. | The decoder/demuxer <bcp14>MUST</bcp14> start with the <tt>ContentEncoding</tt> with the highest <tt>ContentEncodingOrder</tt> and work its way down to the <tt> ContentEncoding</tt> with the lowest <tt>ContentEncodingOrder</tt>. | |||
This value <bcp14>MUST</bcp14> be unique over for each <tt>ContentEncoding</tt> | This value <bcp14>MUST</bcp14> be unique for each <tt>ContentEncoding</tt> found | |||
found in the <tt>ContentEncodings</tt> of this <tt>TrackEntry</tt>.</dd> | in the <tt>ContentEncodings</tt> of this <tt>TrackEntry</tt>.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="contentencodingscope-element"><name>ContentEncodingScope Elemen t</name> | <section anchor="contentencodingscope-element"><name>ContentEncodingScope Elemen t</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x5032 / uinteger / 1</dd> | <dd>0x5032 / uinteger / 1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncod ingScope</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncod ingScope</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A bit field that describes which Elements have been modified in this way. | <dd>A bit field that describes which Elements have been modified in this way. | |||
Values (big-endian) can be OR'ed.</dd> | Values (big-endian) can be OR'ed.</dd> | |||
<dt>defined values:</dt> | ||||
<dd>See <xref target="ContentEncodingScopeValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | <table anchor="ContentEncodingScopeValues"><name>ContentEncodingScope Values</na | |||
<table anchor="ContentEncodingScopeValues"><name>ContentEncodingScope values</na | me> | |||
me> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">definition</th> | <th align="left">definition</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
skipping to change at line 3737 ¶ | skipping to change at line 4165 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">Private</td> | <td align="left">Private</td> | |||
<td align="left">The track's <tt>CodecPrivate</tt> data.</td> | <td align="left">The track's <tt>CodecPrivate</tt> data.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>4</tt></td> | <td align="left"><tt>4</tt></td> | |||
<td align="left">Next</td> | <td align="left">Next</td> | |||
<td align="left">The next ContentEncoding (next <tt>ContentEncodingOrder</tt>. E ither the data inside <tt>ContentCompression</tt> and/or <tt>ContentEncryption</ tt>).This value <bcp14>SHOULD NOT</bcp14> be used as it's not supported by playe rs.</td> | <td align="left">The next ContentEncoding (next <tt>ContentEncodingOrder</tt>; t he data inside <tt>ContentCompression</tt> and/or <tt>ContentEncryption</tt>). T his value <bcp14>SHOULD NOT</bcp14> be used, as it's not supported by players.</ td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="contentencodingtype-element"><name>ContentEncodingType Element< /name> | <section anchor="contentencodingtype-element"><name>ContentEncodingType Element< /name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x5033 / uinteger / 0</dd> | <dd>0x5033 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncod ingType</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncod ingType</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A value describing what kind of transformation is applied.</dd> | <dd>A value describing the kind of transformation that is applied.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="ContentEncodingTypeValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | ||||
<table anchor="ContentEncodingTypeValues"><name>ContentEncodingType values</name | <table anchor="ContentEncodingTypeValues"><name>ContentEncodingType Values</name | |||
> | > | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
<td align="left">Compression</td> | <td align="left">Compression</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">Encryption</td> | <td align="left">Encryption</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="contentcompression-element"><name>ContentCompression Element</n ame> | <section anchor="contentcompression-element"><name>ContentCompression Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x5034 / master</dd> | <dd>0x5034 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentCompr ession</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentCompr ession</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Settings describing the compression used. | <dd>Settings describing the compression used. | |||
This Element <bcp14>MUST</bcp14> be present if the value of ContentEncodingType is 0 and absent otherwise. | This Element <bcp14>MUST</bcp14> be present if the value of ContentEncodingType is 0 and absent otherwise. | |||
Each block <bcp14>MUST</bcp14> be decompressable even if no previous block is av | Each block <bcp14>MUST</bcp14> be decompressable, even if no previous block is a | |||
ailable in order not to prevent seeking.</dd> | vailable in order to not prevent seeking.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="contentcompalgo-element"><name>ContentCompAlgo Element</name> | <section anchor="contentcompalgo-element"><name>ContentCompAlgo Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x4254 / uinteger / 0</dd> | <dd>0x4254 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentCompr ession\ContentCompAlgo</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentCompr ession\ContentCompAlgo</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The compression algorithm used.</dd> | <dd>The compression algorithm used.</dd> | |||
<dt>defined values:</dt> | ||||
<dd>See <xref target="ContentCompAlgoValues"/>.</dd> | ||||
<dt>usage notes:</dt> | ||||
<dd>Compression method "1" (bzlib) and "2" (lzo1x) lack proper documentation on | ||||
the format, which limits implementation possibilities. Due to licensing conflict | ||||
s on commonly available libraries' compression methods, "2" (lzo1x) does not off | ||||
er widespread interoperability. A Matroska Writer <bcp14>SHOULD NOT</bcp14> use | ||||
these compression methods by default. A Matroska Reader <bcp14>MAY</bcp14> suppo | ||||
rt methods "1" and "2" as possible and <bcp14>SHOULD</bcp14> support other metho | ||||
ds.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | ||||
<table anchor="ContentCompAlgoValues"><name>ContentCompAlgo values</name> | <table anchor="ContentCompAlgoValues"><name>ContentCompAlgo Values</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">definition</th> | <th align="left">definition</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
<td align="left">zlib</td> | <td align="left">zlib</td> | |||
<td align="left">zlib compression <xref target="RFC1950"></xref>.</td> | <td align="left">zlib compression <xref target="RFC1950"></xref>.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">bzlib</td> | <td align="left">bzlib</td> | |||
<td align="left">bzip2 compression <xref target="BZIP2"></xref>, <bcp14>SHOULD N OT</bcp14> be used; see usage notes.</td> | <td align="left">bzip2 compression <xref target="BZIP2"></xref> <bcp14>SHOULD NO T</bcp14> be used; see usage notes.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">lzo1x</td> | <td align="left">lzo1x</td> | |||
<td align="left">Lempel-Ziv-Oberhumer compression <xref target="LZO"></xref>, <b cp14>SHOULD NOT</bcp14> be used; see usage notes.</td> | <td align="left">Lempel-Ziv-Oberhumer compression <xref target="LZO"></xref>, <b cp14>SHOULD NOT</bcp14> be used; see usage notes.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>3</tt></td> | <td align="left"><tt>3</tt></td> | |||
<td align="left">Header Stripping</td> | <td align="left">Header Stripping</td> | |||
<td align="left">Octets in <tt>ContentCompSettings</tt> (<xref target="contentco mpsettings-element"></xref>) have been stripped from each frame.</td> | <td align="left">Octets in <tt>ContentCompSettings</tt> (<xref target="contentco mpsettings-element"></xref>) have been stripped from each frame.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<dl spacing="compact"> | ||||
<dt>usage notes:</dt> | <!-- [rfced] Please review "as possible" here. Is this phrase needed? If it is | |||
<dd>Compression method "1" (bzlib) and "2" (lzo1x) are lacki | needed, should it be updated to "if possible"? | |||
ng proper documentation on the format which limits implementation possibilities. | ||||
Due to licensing conflicts on commonly available libraries compression methods & | Original: | |||
quot;2" (lzo1x) does not offer widespread interoperability. | A Matroska Reader MAY support methods "1" and "2" as possible, and | |||
A Matroska Writer <bcp14>SHOULD NOT</bcp14> use these compression methods by def | SHOULD support other methods. | |||
ault. | ||||
A Matroska Reader <bcp14>MAY</bcp14> support methods "1" and "2&q | Perhaps (deleted "as possible"): | |||
uot; as possible, and <bcp14>SHOULD</bcp14> support other methods.</dd> | A Matroska Reader MAY support methods "1" and "2" and | |||
</dl> | SHOULD support other methods. | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
Or (use "if possible"): | ||||
A Matroska Reader MAY support methods "1" and "2" if possible and | ||||
SHOULD support other methods. | ||||
--> | ||||
</section> | </section> | |||
<section anchor="contentcompsettings-element"><name>ContentCompSettings Element< /name> | <section anchor="contentcompsettings-element"><name>ContentCompSettings Element< /name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x4255 / binary</dd> | <dd>0x4255 / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentCompr ession\ContentCompSettings</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentCompr ession\ContentCompSettings</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Settings that might be needed by the decompressor. For Header Stripping (<tt >ContentCompAlgo</tt>=3), | <dd>Settings that might be needed by the decompressor. For Header Stripping (<tt >ContentCompAlgo</tt>=3), | |||
the bytes that were removed from the beginning of each frames of the track.</dd> | the bytes that were removed from the beginning of each frame of the track.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="contentencryption-element"><name>ContentEncryption Element</nam e> | <section anchor="contentencryption-element"><name>ContentEncryption Element</nam e> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x5035 / master</dd> | <dd>0x5035 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncry ption</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncry ption</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Settings describing the encryption used. | <dd>Settings describing the encryption used. | |||
This Element <bcp14>MUST</bcp14> be present if the value of <tt>ContentEncodingT ype</tt> is 1 (encryption) and <bcp14>MUST</bcp14> be ignored otherwise. | This Element <bcp14>MUST</bcp14> be present if the value of <tt>ContentEncodingT ype</tt> is 1 (encryption) and <bcp14>MUST</bcp14> be ignored otherwise. | |||
A Matroska Player <bcp14>MAY</bcp14> support encryption.</dd> | A Matroska Player <bcp14>MAY</bcp14> support encryption.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="contentencalgo-element"><name>ContentEncAlgo Element</name> | <section anchor="contentencalgo-element"><name>ContentEncAlgo Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x47E1 / uinteger / 0</dd> | <dd>0x47E1 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncry ption\ContentEncAlgo</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncry ption\ContentEncAlgo</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The encryption algorithm used.</dd> | <dd>The encryption algorithm used.</dd> | |||
<dt>defined values:</dt> | ||||
<dd>See <xref target="ContentEncAlgoValues"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | <table anchor="ContentEncAlgoValues"><name>ContentEncAlgo Values</name> | |||
<table anchor="ContentEncAlgoValues"><name>ContentEncAlgo values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">definition</th> | <th align="left">definition</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
<td align="left">Not encrypted</td> | <td align="left">Not encrypted</td> | |||
<td align="left">The data are not encrypted.</td> | <td align="left">The data are not encrypted.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">DES</td> | <td align="left">DES</td> | |||
<td align="left">Data Encryption Standard (DES) <xref target="FIPS.46-3"></xref> .This value <bcp14>SHOULD</bcp14> be avoided.</td> | <td align="left">Data Encryption Standard (DES) <xref target="FIPS46-3"></xref>. This value <bcp14>SHOULD</bcp14> be avoided.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">3DES</td> | <td align="left">3DES</td> | |||
<td align="left">Triple Data Encryption Algorithm <xref target="SP.800-67"></xre f>.This value <bcp14>SHOULD</bcp14> be avoided.</td> | <td align="left">Triple Data Encryption Algorithm <xref target="SP800-67"></xref >. This value <bcp14>SHOULD</bcp14> be avoided.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>3</tt></td> | <td align="left"><tt>3</tt></td> | |||
<td align="left">Twofish</td> | <td align="left">Twofish</td> | |||
<td align="left">Twofish Encryption Algorithm <xref target="Twofish"></xref>.</t d> | <td align="left">Twofish Encryption Algorithm <xref target="Twofish"></xref>.</t d> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>4</tt></td> | <td align="left"><tt>4</tt></td> | |||
<td align="left">Blowfish</td> | <td align="left">Blowfish</td> | |||
<td align="left">Blowfish Encryption Algorithm <xref target="Blowfish"></xref>.T his value <bcp14>SHOULD</bcp14> be avoided.</td> | <td align="left">Blowfish Encryption Algorithm <xref target="Blowfish"></xref>. This value <bcp14>SHOULD</bcp14> be avoided.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>5</tt></td> | <td align="left"><tt>5</tt></td> | |||
<td align="left">AES</td> | <td align="left">AES</td> | |||
<td align="left">Advanced Encryption Standard (AES) <xref target="FIPS.197"></xr ef>.</td> | <td align="left">Advanced Encryption Standard (AES) <xref target="FIPS197"></xre f>.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="contentenckeyid-element"><name>ContentEncKeyID Element</name> | <section anchor="contentenckeyid-element"><name>ContentEncKeyID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x47E2 / binary</dd> | <dd>0x47E2 / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncry ption\ContentEncKeyID</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncry ption\ContentEncKeyID</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>For public key algorithms this is the ID of the public key the data was encr | <dd>For public key algorithms, the ID of the public key that the data was encryp | |||
ypted with.</dd> | ted with.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="contentencaessettings-element"><name>ContentEncAESSettings Elem ent</name> | <section anchor="contentencaessettings-element"><name>ContentEncAESSettings Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x47E7 / master</dd> | <dd>0x47E7 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncry ption\ContentEncAESSettings</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncry ption\ContentEncAESSettings</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Settings describing the encryption algorithm used.</dd> | <dd>Settings describing the encryption algorithm used.</dd> | |||
<dt>notes:</dt> | ||||
<dd>See <xref target="ContentEncAESSettingsNotes"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>notes:</t> | <table anchor="ContentEncAESSettingsNotes"><name>ContentEncAESSettings Implement | |||
<table anchor="ContentEncAESSettingsNotes"><name>ContentEncAESSettings implement | ation Notes</name> | |||
ation notes</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">attribute</th> | <th align="left">attribute</th> | |||
<th align="left">note</th> | <th align="left">note</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">maxOccurs</td> | <td align="left">maxOccurs</td> | |||
<td align="left">ContentEncAESSettings <bcp14>MUST NOT</bcp14> be set (maxOccurs =0) if ContentEncAlgo is not AES (5).</td> | <td align="left">ContentEncAESSettings <bcp14>MUST NOT</bcp14> be set (maxOccurs =0) if ContentEncAlgo is not AES (5).</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
<section anchor="aessettingsciphermode-element"><name>AESSettingsCipherMode Elem ent</name> | <section anchor="aessettingsciphermode-element"><name>AESSettingsCipherMode Elem ent</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x47E8 / uinteger</dd> | <dd>0x47E8 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncry ption\ContentEncAESSettings\AESSettingsCipherMode</tt></dd> | <dd><tt>\Segment\Tracks\TrackEntry\ContentEncodings\ContentEncoding\ContentEncry ption\ContentEncAESSettings\AESSettingsCipherMode</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The AES cipher mode used in the encryption.</dd> | <dd>The AES cipher mode used in the encryption.</dd> | |||
<dt>defined values:</dt> | ||||
<dd>See <xref target="AESSettingsCipherModeValues"/>.</dd> | ||||
<dt>notes:</dt> | ||||
<dd>See <xref target="AESSettingsCipherModeNotes"/>.</dd> | ||||
<dt>stream copy:</dt> | ||||
<dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | <table anchor="AESSettingsCipherModeValues"><name>AESSettingsCipherMode Values</ | |||
<table anchor="AESSettingsCipherModeValues"><name>AESSettingsCipherMode values</ | name> | |||
name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">definition</th> | <th align="left">definition</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">AES-CTR</td> | <td align="left">AES-CTR</td> | |||
<td align="left">Counter <xref target="SP.800-38A"></xref>.</td> | <td align="left">Counter <xref target="SP800-38A"></xref></td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">AES-CBC</td> | <td align="left">AES-CBC</td> | |||
<td align="left">Cipher Block Chaining <xref target="SP.800-38A"></xref>.</td> | <td align="left">Cipher Block Chaining <xref target="SP800-38A"></xref></td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>notes:</t> | </table> | |||
<table anchor="AESSettingsCipherModeNotes"><name>AESSettingsCipherMode implement | ||||
ation notes</name> | <table anchor="AESSettingsCipherModeNotes"><name>AESSettingsCipherMode Implement | |||
ation Notes</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">attribute</th> | <th align="left">attribute</th> | |||
<th align="left">note</th> | <th align="left">note</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">maxOccurs</td> | <td align="left">maxOccurs</td> | |||
<td align="left">AESSettingsCipherMode <bcp14>MUST NOT</bcp14> be set (maxOccurs =0) if ContentEncAlgo is not AES (5).</td> | <td align="left">AESSettingsCipherMode <bcp14>MUST NOT</bcp14> be set (maxOccurs =0) if ContentEncAlgo is not AES (5).</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table><t>stream copy: True (<xref target="stream-copy"></xref>)</t> | </table> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="cues-element"><name>Cues Element</name> | <section anchor="cues-element"><name>Cues Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x1C53BB6B / master</dd> | <dd>0x1C53BB6B / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cues</tt></dd> | <dd><tt>\Segment\Cues</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>see implementation notes / 1</dd> | <dd>see implementation notes / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A Top-Level Element to speed seeking access. | <dd>A Top-Level Element to speed seeking access. | |||
All entries are local to the Segment.</dd> | All entries are local to the Segment.</dd> | |||
<dt>notes:</dt> | ||||
<dd>See <xref target="CuesNotes"/>.</dd> | ||||
</dl> | </dl> | |||
<t>notes:</t> | <table anchor="CuesNotes"><name>Cues Implementation Notes</name> | |||
<table anchor="CuesNotes"><name>Cues implementation notes</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">attribute</th> | <th align="left">attribute</th> | |||
<th align="left">note</th> | <th align="left">note</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">minOccurs</td> | <td align="left">minOccurs</td> | |||
skipping to change at line 4119 ¶ | skipping to change at line 4578 ¶ | |||
<section anchor="cuetrackpositions-element"><name>CueTrackPositions Element</nam e> | <section anchor="cuetrackpositions-element"><name>CueTrackPositions Element</nam e> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xB7 / master</dd> | <dd>0xB7 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cues\CuePoint\CueTrackPositions</tt></dd> | <dd><tt>\Segment\Cues\CuePoint\CueTrackPositions</tt></dd> | |||
<dt>minOccurs:</dt> | <dt>minOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contain positions for different tracks corresponding to the timestamp.</dd> | <dd>Contains positions for different tracks corresponding to the timestamp.</dd> | |||
</dl> | </dl> | |||
<section anchor="cuetrack-element"><name>CueTrack Element</name> | <section anchor="cuetrack-element"><name>CueTrack Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xF7 / uinteger</dd> | <dd>0xF7 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
skipping to change at line 4181 ¶ | skipping to change at line 4640 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xB2 / uinteger</dd> | <dd>0xB2 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Cues\CuePoint\CueTrackPositions\CueDuration</tt></dd> | <dd><tt>\Segment\Cues\CuePoint\CueTrackPositions\CueDuration</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The duration of the block, expressed in Segment Ticks which is based on Time stampScale; see <xref target="timestamp-ticks"></xref>. | <dd>The duration of the block, expressed in Segment Ticks, which are based on Ti mestampScale; see <xref target="timestamp-ticks"></xref>. | |||
If missing, the track's DefaultDuration does not apply and no duration informati on is available in terms of the cues.</dd> | If missing, the track's DefaultDuration does not apply and no duration informati on is available in terms of the cues.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="cueblocknumber-element"><name>CueBlockNumber Element</name> | <section anchor="cueblocknumber-element"><name>CueBlockNumber Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x5378 / uinteger</dd> | <dd>0x5378 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
skipping to change at line 4262 ¶ | skipping to change at line 4721 ¶ | |||
<section anchor="attachments-element"><name>Attachments Element</name> | <section anchor="attachments-element"><name>Attachments Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x1941A469 / master</dd> | <dd>0x1941A469 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Attachments</tt></dd> | <dd><tt>\Segment\Attachments</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contain attached files.</dd> | <dd>Contains attached files.</dd> | |||
</dl> | </dl> | |||
<section anchor="attachedfile-element"><name>AttachedFile Element</name> | <section anchor="attachedfile-element"><name>AttachedFile Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x61A7 / master</dd> | <dd>0x61A7 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Attachments\AttachedFile</tt></dd> | <dd><tt>\Segment\Attachments\AttachedFile</tt></dd> | |||
<dt>minOccurs:</dt> | <dt>minOccurs:</dt> | |||
skipping to change at line 4316 ¶ | skipping to change at line 4775 ¶ | |||
<section anchor="filemediatype-element"><name>FileMediaType Element</name> | <section anchor="filemediatype-element"><name>FileMediaType Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x4660 / string</dd> | <dd>0x4660 / string</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Attachments\AttachedFile\FileMediaType</tt></dd> | <dd><tt>\Segment\Attachments\AttachedFile\FileMediaType</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Media type of the file following the <xref target="RFC6838"></xref> format.< | <dd>Media type of the file following the format described in <xref target="RFC68 | |||
/dd> | 38"></xref>.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="filedata-element"><name>FileData Element</name> | <section anchor="filedata-element"><name>FileData Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x465C / binary</dd> | <dd>0x465C / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Attachments\AttachedFile\FileData</tt></dd> | <dd><tt>\Segment\Attachments\AttachedFile\FileData</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The data of the file.</dd> | <dd>The data of the file.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="fileuid-element"><name>FileUID Element</name> | <section anchor="fileuid-element"><name>FileUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x46AE / uinteger</dd> | <dd>0x46AE / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Attachments\AttachedFile\FileUID</tt></dd> | <dd><tt>\Segment\Attachments\AttachedFile\FileUID</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Unique ID representing the file, as random as possible.</dd> | <dd>UID representing the file, as random as possible.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="chapters-element"><name>Chapters Element</name> | <section anchor="chapters-element"><name>Chapters Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x1043A770 / master</dd> | <dd>0x1043A770 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters</tt></dd> | <dd><tt>\Segment\Chapters</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
</dl> | <dt>recurring:</dt><dd>True</dd> | |||
<t>recurring: True</t> | ||||
<dl spacing="compact"> | ||||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A system to define basic menus and partition data. | <dd>A system to define basic menus and partition data. | |||
For more detailed information, look at the Chapters explanation in <xref target= "chapters"></xref>.</dd> | For more detailed information, see <xref target="chapters"></xref>.</dd> | |||
</dl> | </dl> | |||
<section anchor="editionentry-element"><name>EditionEntry Element</name> | <section anchor="editionentry-element"><name>EditionEntry Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x45B9 / master</dd> | <dd>0x45B9 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry</tt></dd> | |||
<dt>minOccurs:</dt> | <dt>minOccurs:</dt> | |||
skipping to change at line 4398 ¶ | skipping to change at line 4854 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x45BC / uinteger</dd> | <dd>0x45BC / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\EditionUID</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\EditionUID</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A unique ID to identify the edition. It's useful for tagging an edition.</dd | <dd>A UID to identify the edition. It's useful for tagging an edition.</dd> | |||
> | <dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | |||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="editionflagdefault-element"><name>EditionFlagDefault Element</n ame> | <section anchor="editionflagdefault-element"><name>EditionFlagDefault Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x45DB / uinteger / 0</dd> | <dd>0x45DB / uinteger / 0</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
skipping to change at line 4444 ¶ | skipping to change at line 4900 ¶ | |||
<section anchor="chapteratom-element"><name>ChapterAtom Element</name> | <section anchor="chapteratom-element"><name>ChapterAtom Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0xB6 / master</dd> | <dd>0xB6 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom</tt></dd> | |||
<dt>minOccurs:</dt> | <dt>minOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
</dl> | <dt>recursive:</dt><dd>True</dd> | |||
<t>recursive: True</t> | ||||
<dl spacing="compact"> | ||||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contains the atom information to use as the chapter atom (apply to all track s).</dd> | <dd>Contains the atom information to use as the chapter atom (applies to all tra cks).</dd> | |||
</dl> | </dl> | |||
<section anchor="chapteruid-element"><name>ChapterUID Element</name> | <section anchor="chapteruid-element"><name>ChapterUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x73C4 / uinteger</dd> | <dd>0x73C4 / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterUID</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterUID</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A unique ID to identify the Chapter.</dd> | <dd>A UID to identify the Chapter.</dd> | |||
<dt>stream copy:</dt><dd>True (<xref target="stream-copy"></xref>)</dd> | ||||
</dl> | </dl> | |||
<t>stream copy: True (<xref target="stream-copy"></xref>)</t> | ||||
</section> | </section> | |||
<section anchor="chapterstringuid-element"><name>ChapterStringUID Element</name> | <section anchor="chapterstringuid-element"><name>ChapterStringUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x5654 / utf-8</dd> | <dd>0x5654 / utf-8</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterStringUID</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterStringUID</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>3</dd> | <dd>3</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A unique string ID to identify the Chapter. | <dd>A unique string ID to identify the Chapter. | |||
For example it is used as the storage for <xref target="WebVTT"></xref> cue iden tifier values.</dd> | For example, it is used as the storage for cue identifier values <xref target="W ebVTT"></xref>.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chaptertimestart-element"><name>ChapterTimeStart Element</name> | <section anchor="chaptertimestart-element"><name>ChapterTimeStart Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x91 / uinteger</dd> | <dd>0x91 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterTimeStart</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterTimeStart</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Timestamp of the start of Chapter, expressed in Matroska Ticks -- i.e., in n anoseconds; see <xref target="timestamp-ticks"></xref>.</dd> | <dd>Timestamp of the start of Chapter, expressed in Matroska Ticks -- i.e., in n anoseconds; see <xref target="timestamp-ticks"></xref>.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chaptertimeend-element"><name>ChapterTimeEnd Element</name> | <section anchor="chaptertimeend-element"><name>ChapterTimeEnd Element</name> | |||
<!-- [rfced] Please clarify "Timestamp of the end of Chapter timestamp | ||||
excluded". | ||||
Original: | ||||
definition: Timestamp of the end of Chapter timestamp excluded, | ||||
expressed in Matroska Ticks - i.e., in nanoseconds; see | ||||
Section 11.1. | ||||
--> | ||||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x92 / uinteger</dd> | <dd>0x92 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterTimeEnd</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterTimeEnd</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>see implementation notes / 1</dd> | <dd>see implementation notes / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Timestamp of the end of Chapter timestamp excluded, expressed in Matroska Ti cks -- i.e., in nanoseconds; see <xref target="timestamp-ticks"></xref>. | <dd>Timestamp of the end of Chapter timestamp excluded, expressed in Matroska Ti cks -- i.e., in nanoseconds; see <xref target="timestamp-ticks"></xref>. | |||
The value <bcp14>MUST</bcp14> be greater than or equal to the <tt>ChapterTimeSta rt</tt> of the same <tt>ChapterAtom</tt>.</dd> | The value <bcp14>MUST</bcp14> be greater than or equal to the <tt>ChapterTimeSta rt</tt> of the same <tt>ChapterAtom</tt>.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>The <tt>ChapterTimeEnd</tt> timestamp value being excluded, it <bcp14>MUST</ bcp14> take in account the duration of | <dd>With the <tt>ChapterTimeEnd</tt> timestamp value being excluded, it <bcp14>M UST</bcp14> take into account the duration of | |||
the last frame it includes, especially for the <tt>ChapterAtom</tt> using the la st frames of the <tt>Segment</tt>.</dd> | the last frame it includes, especially for the <tt>ChapterAtom</tt> using the la st frames of the <tt>Segment</tt>.</dd> | |||
<dt>notes:</dt> | ||||
<dd>See <xref target="ChapterTimeEndNotes"/>.</dd> | ||||
</dl> | </dl> | |||
<t>notes:</t> | <table anchor="ChapterTimeEndNotes"><name>ChapterTimeEnd Implementation Notes</n | |||
<table anchor="ChapterTimeEndNotes"><name>ChapterTimeEnd implementation notes</n | ame> | |||
ame> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">attribute</th> | <th align="left">attribute</th> | |||
<th align="left">note</th> | <th align="left">note</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">minOccurs</td> | <td align="left">minOccurs</td> | |||
<td align="left">ChapterTimeEnd <bcp14>MUST</bcp14> be set (minOccurs=1) if the Edition is an ordered edition; see <xref target="editionflagordered"></xref>, un less it's a <tt>Parent Chapter</tt>; see <xref target="nested-chapters"></xref>< /td> | <td align="left">ChapterTimeEnd <bcp14>MUST</bcp14> be set (minOccurs=1) if the Edition is an ordered edition; see <xref target="editionflagordered"></xref>. If it's a <tt>Parent Chapter</tt>, see <xref target="nested-chapters"></xref>.</td > | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table></section> | </table> | |||
</section> | ||||
<section anchor="chapterflaghidden-element"><name>ChapterFlagHidden Element</nam e> | <section anchor="chapterflaghidden-element"><name>ChapterFlagHidden Element</nam e> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x98 / uinteger / 0</dd> | <dd>0x98 / uinteger / 0</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>0-1</dd> | <dd>0-1</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterFlagHidden</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterFlagHidden</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Set to 1 if a chapter is hidden. Hidden chapters <bcp14>SHOULD NOT</bcp14> b | <dd>Set to 1 if a chapter is hidden. | |||
e available to the user interface | ||||
<!-- [rfced] How may we rephrase the parenthetical in the following sentence for | ||||
clarity? | ||||
Original: | ||||
Hidden chapters SHOULD NOT be available to the user interface (but | ||||
still to Control Tracks; see Section 20.2.5 on Chapter flags). | ||||
Perhaps: | ||||
Hidden chapters SHOULD NOT be available to the user interface (but | ||||
still be available to Control Tracks); see Section 20.2.5 on Chapter flags. | ||||
--> | ||||
Hidden chapters <bcp14>SHOULD NOT</bcp14> be available to the user interface | ||||
(but still to Control Tracks; see <xref target="chapterflaghidden"></xref> on Ch apter flags).</dd> | (but still to Control Tracks; see <xref target="chapterflaghidden"></xref> on Ch apter flags).</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chaptersegmentuuid-element"><name>ChapterSegmentUUID Element</n ame> | <section anchor="chaptersegmentuuid-element"><name>ChapterSegmentUUID Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x6E67 / binary</dd> | <dd>0x6E67 / binary</dd> | |||
<dt>length:</dt> | <dt>length:</dt> | |||
<dd>16</dd> | <dd>16</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterSegmentUUID</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterSegmentUUID</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>see implementation notes / 1</dd> | <dd>see implementation notes / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The SegmentUUID of another Segment to play during this chapter.</dd> | <dd>The SegmentUUID of another Segment to play during this chapter.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>The value <bcp14>MUST NOT</bcp14> be the <tt>SegmentUUID</tt> value of the < tt>Segment</tt> it belongs to.</dd> | <dd>The value <bcp14>MUST NOT</bcp14> be the <tt>SegmentUUID</tt> value of the < tt>Segment</tt> it belongs to.</dd> | |||
<dt>notes:</dt> | ||||
<dd>See <xref target="ChapterSegmentUUIDNotes"/>.</dd> | ||||
</dl> | </dl> | |||
<t>notes:</t> | <table anchor="ChapterSegmentUUIDNotes"><name>ChapterSegmentUUID Implementation | |||
<table anchor="ChapterSegmentUUIDNotes"><name>ChapterSegmentUUID implementation | Notes</name> | |||
notes</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">attribute</th> | <th align="left">attribute</th> | |||
<th align="left">note</th> | <th align="left">note</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">minOccurs</td> | <td align="left">minOccurs</td> | |||
<td align="left">ChapterSegmentUUID <bcp14>MUST</bcp14> be set (minOccurs=1) if ChapterSegmentEditionUID is used; see <xref target="medium-linking"></xref> on m edium-linking Segments.</td> | <td align="left">ChapterSegmentUUID <bcp14>MUST</bcp14> be set (minOccurs=1) if ChapterSegmentEditionUID is used; see <xref target="medium-linking"></xref> on M edium-Linking Segments.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table></section> | </table> | |||
</section> | ||||
<section anchor="chaptersegmenteditionuid-element"><name>ChapterSegmentEditionUI D Element</name> | <section anchor="chaptersegmenteditionuid-element"><name>ChapterSegmentEditionUI D Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x6EBC / uinteger</dd> | <dd>0x6EBC / uinteger</dd> | |||
<dt>range:</dt> | <dt>range:</dt> | |||
<dd>not 0</dd> | <dd>not 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterSegmentEditionUID</tt ></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterSegmentEditionUID</tt ></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>The EditionUID to play from the Segment linked in ChapterSegmentUUID. | <dd>The EditionUID to play from the Segment linked in ChapterSegmentUUID. | |||
If ChapterSegmentEditionUID is undeclared, then no Edition of the linked Segment is used; see <xref target="medium-linking"></xref> on medium-linking Segments.< /dd> | If ChapterSegmentEditionUID is undeclared, then no Edition of the linked Segment is used; see <xref target="medium-linking"></xref> on Medium-Linking Segments.< /dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chapterphysicalequiv-element"><name>ChapterPhysicalEquiv Elemen t</name> | <section anchor="chapterphysicalequiv-element"><name>ChapterPhysicalEquiv Elemen t</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x63C3 / uinteger</dd> | <dd>0x63C3 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterPhysicalEquiv</tt></d d> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterPhysicalEquiv</tt></d d> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Specify the physical equivalent of this ChapterAtom like "DVD" (60 ) or "SIDE" (50); | <dd>Specifies the physical equivalent of this ChapterAtom, e.g., "DVD" (60) or " SIDE" (50); | |||
see <xref target="physical-types"></xref> for a complete list of values.</dd> | see <xref target="physical-types"></xref> for a complete list of values.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chapterdisplay-element"><name>ChapterDisplay Element</name> | <section anchor="chapterdisplay-element"><name>ChapterDisplay Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x80 / master</dd> | <dd>0x80 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
skipping to change at line 4668 ¶ | skipping to change at line 5147 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x437D / string</dd> | <dd>0x437D / string</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterDisplay\ChapLanguageB CP47</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapterDisplay\ChapLanguageB CP47</tt></dd> | |||
<dt>minver:</dt> | <dt>minver:</dt> | |||
<dd>4</dd> | <dd>4</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A language corresponding to the ChapString, | <dd>A language corresponding to the ChapString, | |||
in the <xref target="BCP47"></xref> form; see <xref target="language-codes"></xr ef> on language codes. | in the form defined in <xref target="RFC5646"></xref>; see <xref target="languag e-codes"></xref> on language codes. | |||
If a ChapLanguageBCP47 Element is used, then any ChapLanguage and ChapCountry El ements used in the same ChapterDisplay <bcp14>MUST</bcp14> be ignored.</dd> | If a ChapLanguageBCP47 Element is used, then any ChapLanguage and ChapCountry El ements used in the same ChapterDisplay <bcp14>MUST</bcp14> be ignored.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chapcountry-element"><name>ChapCountry Element</name> | <section anchor="chapcountry-element"><name>ChapCountry Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x437E / string</dd> | <dd>0x437E / string</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
skipping to change at line 4701 ¶ | skipping to change at line 5180 ¶ | |||
<dd>0x6944 / master</dd> | <dd>0x6944 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contains all the commands associated to the Atom.</dd> | <dd>Contains all the commands associated to the Atom.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chapprocesscodecid-element"><name>ChapProcessCodecID Element</n ame> | <section anchor="chapprocesscodecid-element"><name>ChapProcessCodecID Element</n ame> | |||
<!-- [rfced] We have two questions about the definition below: | ||||
a) Does "to be defined" need further clarification, perhaps "to be defined in | ||||
future specifications"? | ||||
b) Section 20.3 defines value 0 as "matroska script" and value 1 as "menu | ||||
borrowed from the DVD [DVD-Video]". Should the definitions match? Or is the | ||||
current okay? | ||||
Original: | ||||
definition: Contains the type of the codec used for the processing. | ||||
A value of 0 means built-in Matroska processing (to be defined), a | ||||
value of 1 means the DVD command set is used; see Section 20.3 on | ||||
DVD menus. | ||||
--> | ||||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x6955 / uinteger / 0</dd> | <dd>0x6955 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapProcessCodec ID</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapProcessCodec ID</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contains the type of the codec used for the processing. | <dd>Contains the type of the codec used for processing. | |||
A value of 0 means built-in Matroska processing (to be defined), a value of 1 me | A value of 0 means built-in Matroska processing (to be defined), and a value of | |||
ans the DVD command set is used; see <xref target="menu-features"></xref> on DVD | 1 means the DVD command set is used; see <xref target="menu-features"></xref> on | |||
menus. | DVD menus. | |||
More codec IDs can be added later.</dd> | More codec IDs can be added later.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chapprocessprivate-element"><name>ChapProcessPrivate Element</n ame> | <section anchor="chapprocessprivate-element"><name>ChapProcessPrivate Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x450D / binary</dd> | <dd>0x450D / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapProcessPriva te</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapProcessPriva te</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Some optional data attached to the ChapProcessCodecID information. | <dd>Optional data attached to the ChapProcessCodecID information. | |||
For ChapProcessCodecID = 1, it is the "DVD level" equivalent; see <xre | For ChapProcessCodecID = 1, it is the "DVD level" equivalent; see <xref target=" | |||
f target="menu-features"></xref> on DVD menus.</dd> | menu-features"></xref> on DVD menus.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chapprocesscommand-element"><name>ChapProcessCommand Element</n ame> | <section anchor="chapprocesscommand-element"><name>ChapProcessCommand Element</n ame> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x6911 / master</dd> | <dd>0x6911 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapProcessComma nd</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapProcessComma nd</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contains all the commands associated to the Atom.</dd> | <dd>Contains all the commands associated with the Atom.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="chapprocesstime-element"><name>ChapProcessTime Element</name> | <section anchor="chapprocesstime-element"><name>ChapProcessTime Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x6922 / uinteger</dd> | <dd>0x6922 / uinteger</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapProcessComma nd\ChapProcessTime</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapProcessComma nd\ChapProcessTime</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Defines when the process command <bcp14>SHOULD</bcp14> be handled</dd> | <dd>Defines when the process command <bcp14>SHOULD</bcp14> be handled.</dd> | |||
<dt>restrictions:</dt> | ||||
<dd>See <xref target="ChapProcessTimeValues"/>.</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | <table anchor="ChapProcessTimeValues"><name>ChapProcessTime Values</name> | |||
<table anchor="ChapProcessTimeValues"><name>ChapProcessTime values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>0</tt></td> | <td align="left"><tt>0</tt></td> | |||
skipping to change at line 4779 ¶ | skipping to change at line 5275 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>1</tt></td> | <td align="left"><tt>1</tt></td> | |||
<td align="left">before starting playback</td> | <td align="left">before starting playback</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>2</tt></td> | <td align="left"><tt>2</tt></td> | |||
<td align="left">after playback of the chapter</td> | <td align="left">after playback of the chapter</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table></section> | </table> | |||
</section> | ||||
<section anchor="chapprocessdata-element"><name>ChapProcessData Element</name> | <section anchor="chapprocessdata-element"><name>ChapProcessData Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x6933 / binary</dd> | <dd>0x6933 / binary</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapProcessComma nd\ChapProcessData</tt></dd> | <dd><tt>\Segment\Chapters\EditionEntry\+ChapterAtom\ChapProcess\ChapProcessComma nd\ChapProcessData</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
skipping to change at line 4809 ¶ | skipping to change at line 5306 ¶ | |||
<section anchor="tags-element"><name>Tags Element</name> | <section anchor="tags-element"><name>Tags Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x1254C367 / master</dd> | <dd>0x1254C367 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags</tt></dd> | <dd><tt>\Segment\Tags</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Element containing metadata describing Tracks, Editions, Chapters, Attachmen ts, or the Segment as a whole. | <dd>Element containing metadata describing Tracks, Editions, Chapters, Attachmen ts, or the Segment as a whole. | |||
A list of valid tags can be found in <xref target="MatroskaTags"></xref>.</dd> | A list of valid tags can be found in <xref target="I-D.ietf-cellar-tags"></xref> .</dd> | |||
</dl> | </dl> | |||
<section anchor="tag-element"><name>Tag Element</name> | <section anchor="tag-element"><name>Tag Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x7373 / master</dd> | <dd>0x7373 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags\Tag</tt></dd> | <dd><tt>\Segment\Tags\Tag</tt></dd> | |||
<dt>minOccurs:</dt> | <dt>minOccurs:</dt> | |||
skipping to change at line 4850 ¶ | skipping to change at line 5347 ¶ | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x68CA / uinteger / 50</dd> | <dd>0x68CA / uinteger / 50</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags\Tag\Targets\TargetTypeValue</tt></dd> | <dd><tt>\Segment\Tags\Tag\Targets\TargetTypeValue</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A number to indicate the logical level of the target.</dd> | <dd>A number to indicate the logical level of the target.</dd> | |||
<dt>defined values:</dt> | ||||
<dd>See <xref target="TargetTypeValueValues"/>.</dd> | ||||
</dl> | </dl> | |||
<t>defined values:</t> | <table anchor="TargetTypeValueValues"><name>TargetTypeValue Values</name> | |||
<table anchor="TargetTypeValueValues"><name>TargetTypeValue values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
<th align="left">definition</th> | <th align="left">definition</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
skipping to change at line 4877 ¶ | skipping to change at line 5375 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>60</tt></td> | <td align="left"><tt>60</tt></td> | |||
<td align="left">EDITION / ISSUE / VOLUME / OPUS / SEASON / SEQUEL</td> | <td align="left">EDITION / ISSUE / VOLUME / OPUS / SEASON / SEQUEL</td> | |||
<td align="left">A list of lower levels grouped together.</td> | <td align="left">A list of lower levels grouped together.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>50</tt></td> | <td align="left"><tt>50</tt></td> | |||
<td align="left">ALBUM / OPERA / CONCERT / MOVIE / EPISODE</td> | <td align="left">ALBUM / OPERA / CONCERT / MOVIE / EPISODE</td> | |||
<td align="left">The most common grouping level of music and video (equals to an episode for TV series).</td> | <td align="left">The most common grouping level of music and video (e.g., an epi sode for TV series).</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>40</tt></td> | <td align="left"><tt>40</tt></td> | |||
<td align="left">PART / SESSION</td> | <td align="left">PART / SESSION</td> | |||
<td align="left">When an album or episode has different logical parts.</td> | <td align="left">When an album or episode has different logical parts.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>30</tt></td> | <td align="left"><tt>30</tt></td> | |||
<td align="left">TRACK / SONG / CHAPTER</td> | <td align="left">TRACK / SONG / CHAPTER</td> | |||
<td align="left">The common parts of an album or movie.</td> | <td align="left">The common parts of an album or movie.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>20</tt></td> | <td align="left"><tt>20</tt></td> | |||
<td align="left">SUBTRACK / MOVEMENT / SCENE</td> | <td align="left">SUBTRACK / MOVEMENT / SCENE</td> | |||
<td align="left">Corresponds to parts of a track for audio like a movement, or a scene in a movie.</td> | <td align="left">Corresponds to parts of a track for audio, such as a movement o r scene in a movie.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>10</tt></td> | <td align="left"><tt>10</tt></td> | |||
<td align="left">SHOT</td> | <td align="left">SHOT</td> | |||
<td align="left">The lowest hierarchy found in music or movies.</td> | <td align="left">The lowest hierarchy found in music or movies.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table></section> | </table> | |||
</section> | ||||
<section anchor="targettype-element"><name>TargetType Element</name> | <section anchor="targettype-element"><name>TargetType Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x63CA / string</dd> | <dd>0x63CA / string</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags\Tag\Targets\TargetType</tt></dd> | <dd><tt>\Segment\Tags\Tag\Targets\TargetType</tt></dd> | |||
<dt>maxOccurs:</dt> | <dt>maxOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>An informational string that can be used to display the logical level of the | <dd>An informational string that can be used to display the logical level of the | |||
target like "ALBUM", "TRACK", "MOVIE", "CHAP | target, such as "ALBUM", "TRACK", "MOVIE", "CHAPTER", etc.</dd> | |||
TER", etc.</dd> | <dt>restrictions:</dt> | |||
<dd>See <xref target="TargetTypeValues"/>.</dd> | ||||
</dl> | </dl> | |||
<t>restrictions:</t> | <table anchor="TargetTypeValues"><name>TargetType Values</name> | |||
<table anchor="TargetTypeValues"><name>TargetType values</name> | ||||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">value</th> | <th align="left">value</th> | |||
<th align="left">label</th> | <th align="left">label</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left"><tt>COLLECTION</tt></td> | <td align="left"><tt>COLLECTION</tt></td> | |||
skipping to change at line 5033 ¶ | skipping to change at line 5533 ¶ | |||
<tr> | <tr> | |||
<td align="left"><tt>SCENE</tt></td> | <td align="left"><tt>SCENE</tt></td> | |||
<td align="left">TargetTypeValue 20</td> | <td align="left">TargetTypeValue 20</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left"><tt>SHOT</tt></td> | <td align="left"><tt>SHOT</tt></td> | |||
<td align="left">TargetTypeValue 10</td> | <td align="left">TargetTypeValue 10</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table></section> | </table> | |||
</section> | ||||
<section anchor="tagtrackuid-element"><name>TagTrackUID Element</name> | <section anchor="tagtrackuid-element"><name>TagTrackUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x63C5 / uinteger / 0</dd> | <dd>0x63C5 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags\Tag\Targets\TagTrackUID</tt></dd> | <dd><tt>\Segment\Tags\Tag\Targets\TagTrackUID</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A unique ID to identify the Track(s) the tags belong to.</dd> | <dd>A UID to identify the Track(s) that the tags belong to.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>If the value is 0 at this level, the tags apply to all tracks in the Segment . | <dd>If the value is 0 at this level, the tags apply to all tracks in the Segment . | |||
If set to any other value, it <bcp14>MUST</bcp14> match the <tt>TrackUID</tt> va lue of a track found in this Segment.</dd> | If set to any other value, it <bcp14>MUST</bcp14> match the <tt>TrackUID</tt> va lue of a track found in this Segment.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="tageditionuid-element"><name>TagEditionUID Element</name> | <section anchor="tageditionuid-element"><name>TagEditionUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x63C9 / uinteger / 0</dd> | <dd>0x63C9 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags\Tag\Targets\TagEditionUID</tt></dd> | <dd><tt>\Segment\Tags\Tag\Targets\TagEditionUID</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A unique ID to identify the EditionEntry(s) the tags belong to.</dd> | <dd>A UID to identify the EditionEntry(s) that the tags belong to.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>If the value is 0 at this level, the tags apply to all editions in the Segme nt. | <dd>If the value is 0 at this level, the tags apply to all editions in the Segme nt. | |||
If set to any other value, it <bcp14>MUST</bcp14> match the <tt>EditionUID</tt> value of an edition found in this Segment.</dd> | If set to any other value, it <bcp14>MUST</bcp14> match the <tt>EditionUID</tt> value of an edition found in this Segment.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="tagchapteruid-element"><name>TagChapterUID Element</name> | <section anchor="tagchapteruid-element"><name>TagChapterUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x63C4 / uinteger / 0</dd> | <dd>0x63C4 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags\Tag\Targets\TagChapterUID</tt></dd> | <dd><tt>\Segment\Tags\Tag\Targets\TagChapterUID</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A unique ID to identify the Chapter(s) the tags belong to.</dd> | <dd>A UID to identify the Chapter(s) that the tags belong to.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>If the value is 0 at this level, the tags apply to all chapters in the Segme nt. | <dd>If the value is 0 at this level, the tags apply to all chapters in the Segme nt. | |||
If set to any other value, it <bcp14>MUST</bcp14> match the <tt>ChapterUID</tt> value of a chapter found in this Segment.</dd> | If set to any other value, it <bcp14>MUST</bcp14> match the <tt>ChapterUID</tt> value of a chapter found in this Segment.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="tagattachmentuid-element"><name>TagAttachmentUID Element</name> | <section anchor="tagattachmentuid-element"><name>TagAttachmentUID Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x63C6 / uinteger / 0</dd> | <dd>0x63C6 / uinteger / 0</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags\Tag\Targets\TagAttachmentUID</tt></dd> | <dd><tt>\Segment\Tags\Tag\Targets\TagAttachmentUID</tt></dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>A unique ID to identify the Attachment(s) the tags belong to.</dd> | <dd>A UID to identify the Attachment(s) that the tags belong to.</dd> | |||
<dt>usage notes:</dt> | <dt>usage notes:</dt> | |||
<dd>If the value is 0 at this level, the tags apply to all the attachments in th e Segment. | <dd>If the value is 0 at this level, the tags apply to all the attachments in th e Segment. | |||
If set to any other value, it <bcp14>MUST</bcp14> match the <tt>FileUID</tt> val ue of an attachment found in this Segment.</dd> | If set to any other value, it <bcp14>MUST</bcp14> match the <tt>FileUID</tt> val ue of an attachment found in this Segment.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="simpletag-element"><name>SimpleTag Element</name> | <section anchor="simpletag-element"><name>SimpleTag Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x67C8 / master</dd> | <dd>0x67C8 / master</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags\Tag\+SimpleTag</tt></dd> | <dd><tt>\Segment\Tags\Tag\+SimpleTag</tt></dd> | |||
<dt>minOccurs:</dt> | <dt>minOccurs:</dt> | |||
<dd>1</dd> | <dd>1</dd> | |||
</dl> | <dt>recursive:</dt><dd>True</dd> | |||
<t>recursive: True</t> | ||||
<dl spacing="compact"> | ||||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Contains general information about the target.</dd> | <dd>Contains general information about the target.</dd> | |||
</dl> | </dl> | |||
<section anchor="tagname-element"><name>TagName Element</name> | <section anchor="tagname-element"><name>TagName Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x45A3 / utf-8</dd> | <dd>0x45A3 / utf-8</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
skipping to change at line 5137 ¶ | skipping to change at line 5635 ¶ | |||
<section anchor="taglanguage-element"><name>TagLanguage Element</name> | <section anchor="taglanguage-element"><name>TagLanguage Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type / default:</dt> | <dt>id / type / default:</dt> | |||
<dd>0x447A / string / und</dd> | <dd>0x447A / string / und</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags\Tag\+SimpleTag\TagLanguage</tt></dd> | <dd><tt>\Segment\Tags\Tag\+SimpleTag\TagLanguage</tt></dd> | |||
<dt>minOccurs / maxOccurs:</dt> | <dt>minOccurs / maxOccurs:</dt> | |||
<dd>1 / 1</dd> | <dd>1 / 1</dd> | |||
<dt>definition:</dt> | <dt>definition:</dt> | |||
<dd>Specifies the language of the tag specified, | <dd>Specifies the language of the specified tag in the Matroska languages form; | |||
in the Matroska languages form; see <xref target="language-codes"></xref> on lan | see <xref target="language-codes"></xref> on language codes. | |||
guage codes. | ||||
This Element <bcp14>MUST</bcp14> be ignored if the TagLanguageBCP47 Element is u sed within the same SimpleTag Element.</dd> | This Element <bcp14>MUST</bcp14> be ignored if the TagLanguageBCP47 Element is u sed within the same SimpleTag Element.</dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
<section anchor="taglanguagebcp47-element"><name>TagLanguageBCP47 Element</name> | <section anchor="taglanguagebcp47-element"><name>TagLanguageBCP47 Element</name> | |||
<dl spacing="compact"> | <dl spacing="compact"> | |||
<dt>id / type:</dt> | <dt>id / type:</dt> | |||
<dd>0x447B / string</dd> | <dd>0x447B / string</dd> | |||
<dt>path:</dt> | <dt>path:</dt> | |||
<dd><tt>\Segment\Tags\Tag\+SimpleTag\TagLanguageBCP47</tt></dd> | <dd><tt>\Segment\Tags\Tag\+SimpleTag\TagLanguageBCP47</tt></dd> | |||
<dt>maxOccurs:</dt> |