From e748079e873fd8138c9950e8eb0cf7e67d56dfed Mon Sep 17 00:00:00 2001 From: Mattias Wadman Date: Sat, 8 Oct 2022 15:45:46 +0200 Subject: [PATCH] matroska: Update spec and regenerate The new type "TargetType" used in labels is bit confusing, should be handled differently? --- .../matroska/ebml_matroska/ebml_matroska.go | 2 +- .../matroska/ebml_matroska/ebml_matroska.xml | 346 +++++++++++------- .../ebml_matroska/ebml_matroska_gen.go | 320 ++++++++++------ format/matroska/testdata/aac.fqtest | 28 +- format/matroska/testdata/av1.fqtest | 28 +- format/matroska/testdata/avc.fqtest | 28 +- format/matroska/testdata/flac.fqtest | 28 +- format/matroska/testdata/hevc.fqtest | 28 +- format/matroska/testdata/mp3.fqtest | 28 +- format/matroska/testdata/mpeg2.fqtest | 28 +- format/matroska/testdata/opus.fqtest | 28 +- .../sweep-with-DC.mkvmerge13.mka.fqtest | 70 ++-- format/matroska/testdata/vorbis.fqtest | 28 +- format/matroska/testdata/vp8.fqtest | 28 +- format/matroska/testdata/vp9.fqtest | 28 +- 15 files changed, 631 insertions(+), 415 deletions(-) diff --git a/format/matroska/ebml_matroska/ebml_matroska.go b/format/matroska/ebml_matroska/ebml_matroska.go index 63ad9859..1f0c51b0 100644 --- a/format/matroska/ebml_matroska/ebml_matroska.go +++ b/format/matroska/ebml_matroska/ebml_matroska.go @@ -1,5 +1,5 @@ //nolint:revive package ebml_matroska -// https://raw.githubusercontent.com/cellar-wg/matroska-specification/aa2144a58b661baf54b99bab41113d66b0f5ff62/ebml_matroska.xml +// https://raw.githubusercontent.com/ietf-wg-cellar/matroska-specification/master/ebml_matroska.xml //go:generate sh -c "go run ../ebml/gen/main.go ebml_matroska.xml ebml_matroska github.com/wader/fq/format/matroska/ebml github.com/wader/fq/pkg/scalar Segment | gofmt -s > ebml_matroska_gen.go" diff --git a/format/matroska/ebml_matroska/ebml_matroska.xml b/format/matroska/ebml_matroska/ebml_matroska.xml index e07afb48..c5f576b8 100644 --- a/format/matroska/ebml_matroska/ebml_matroska.xml +++ b/format/matroska/ebml_matroska/ebml_matroska.xml @@ -4,11 +4,10 @@ - The Root Element that contains all other Top-Level Elements (Elements defined only at Level 1). -A Matroska file is composed of 1 Segment. + The Root Element that contains all other Top-Level Elements; see (#data-layout). - Contains the Segment Position of other Top-Level Elements. + Contains seeking information of Top-Level Elements; see (#data-layout). @@ -16,48 +15,55 @@ A Matroska file is composed of 1 Segment. - The binary ID corresponding to the Element name. + The binary EBML ID of a Top-Level Element. - The Segment Position of the Element. + The Segment Position ((#segment-position)) of a Top-Level Element. Contains general information about the Segment. - - A randomly generated unique ID to identify the Segment amongst many others (128 bits). + + A randomly generated unique ID to identify the Segment amongst many others (128 bits). +It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122]. If the Segment is a part of a Linked Segment, then this Element is **REQUIRED**. + A filename corresponding to this Segment. - - A unique ID to identify the previous Segment of a Linked Segment (128 bits). - If the Segment is a part of a Linked Segment that uses Hard Linking, -then either the PrevUID or the NextUID Element is **REQUIRED**. If a Segment contains a PrevUID but not a NextUID, -then it **MAY** be considered as the last Segment of the Linked Segment. The PrevUID **MUST NOT** be equal to the SegmentUID. + + A unique ID to identify the previous Segment of a Linked Segment (128 bits). +Like the SegmentUUID, it is a Universally Unique IDentifier stored in binary form [@!RFC4122]. + If the Segment is a part of a Linked Segment that uses Hard Linking ((#hard-linking)), +then either the PrevUUID or the NextUUID Element is **REQUIRED**. If a Segment contains a PrevUUID but not a NextUUID, +then it **MAY** be considered as the last Segment of the Linked Segment. The PrevUUID **MUST NOT** be equal to the SegmentUUID. + A filename corresponding to the file of the previous Linked Segment. Provision of the previous filename is for display convenience, -but PrevUID **SHOULD** be considered authoritative for identifying the previous Segment in a Linked Segment. +but PrevUUID **SHOULD** be considered authoritative for identifying the previous Segment in a Linked Segment. - - A unique ID to identify the next Segment of a Linked Segment (128 bits). - If the Segment is a part of a Linked Segment that uses Hard Linking, -then either the PrevUID or the NextUID Element is **REQUIRED**. If a Segment contains a NextUID but not a PrevUID, -then it **MAY** be considered as the first Segment of the Linked Segment. The NextUID **MUST NOT** be equal to the SegmentUID. + + A unique ID to identify the next Segment of a Linked Segment (128 bits). +Like the SegmentUUID, it is a Universally Unique IDentifier stored in binary form [@!RFC4122]. + If the Segment is a part of a Linked Segment that uses Hard Linking ((#hard-linking)), +then either the PrevUUID or the NextUUID Element is **REQUIRED**. If a Segment contains a NextUUID but not a PrevUUID, +then it **MAY** be considered as the first Segment of the Linked Segment. The NextUUID **MUST NOT** be equal to the SegmentUUID. + A filename corresponding to the file of the next Linked Segment. Provision of the next filename is for display convenience, -but NextUID **SHOULD** be considered authoritative for identifying the Next Segment. +but NextUUID **SHOULD** be considered authoritative for identifying the Next Segment. - A randomly generated unique ID that all Segments of a Linked Segment **MUST** share (128 bits). + A randomly generated unique ID that all Segments of a Linked Segment **MUST** share (128 bits). +It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122]. If the Segment Info contains a `ChapterTranslate` element, this Element is **REQUIRED**. @@ -133,7 +139,7 @@ It is useful when using overlay tracks on seeking or to decide what track to use It could change later if not specified as silent in a further Cluster. - + The Segment Position of the Cluster in the Segment (0 in live streams). It might help to resynchronise offset on damaged streams. @@ -163,7 +169,7 @@ see (#block-structure) on Block Structure. - Contain additional blocks to complete the main one. + Contain additional binary data to complete the main one; see Codec BlockAdditions section of [@?MatroskaCodec] for more information. An EBML parser that has no knowledge of the Block structure could still see and use/skip these data. @@ -171,15 +177,18 @@ An EBML parser that has no knowledge of the Block structure could still see and Contain the BlockAdditional and some parameters. - - An ID to identify the BlockAdditional level. -If BlockAddIDType of the corresponding block is 0, this value is also the value of BlockAddIDType for the meaning of the content of BlockAdditional. - - Interpreted by the codec as it wishes (using the BlockAddID). + + An ID to identify how to interpret the BlockAdditional data; see Codec BlockAdditions section of [@?MatroskaCodec] for more information. +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. + 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. + + The duration of the Block, expressed in Track Ticks; see (#timestamp-ticks). The BlockDuration Element can be useful at the end of a Track to define the duration of the last frame (as there is no subsequent Block available), @@ -217,14 +226,14 @@ This information **SHOULD** always be referenced by a seek entry. - + Contains slices description. Contains extra time information about the data contained in the Block. Being able to interpret this Element is not **REQUIRED** for playback. - + The reverse number of the frame in the lace (0 is the last frame, 1 is the next to last, etc). Being able to interpret this Element is not **REQUIRED** for playback. @@ -374,7 +383,7 @@ see (#defaultdecodedfieldduration) for more information - DEPRECATED, DO NOT USE. The scale to apply on this track to work at normal speed in relation with other tracks + The scale to apply on this track to work at normal speed in relation with other tracks (mostly used to adjust video speed when the audio length differs). @@ -393,10 +402,10 @@ A value 0 means there is no BlockAdditions ((#blockadditions-element)) for this with BlockAddID ((#blockaddid-element)), or to the track as a whole with BlockAddIDExtraData. - + If the track format extension needs content beside frames, -the value refers to the BlockAddID ((#blockaddid-element)), value being described. -To keep MaxBlockAdditionID as low as possible, small values **SHOULD** be used. +the value refers to the BlockAddID ((#blockaddid-element)), value being described. + To keep MaxBlockAdditionID as low as possible, small values **SHOULD** be used. A human-friendly name describing the type of BlockAdditional data, @@ -405,6 +414,7 @@ as defined by the associated Block Additional Mapping. Stores the registered identifier of the Block Additional Mapping to define how the BlockAdditional data should be handled. + If BlockAddIDType is 0, the BlockAddIDValue and corresponding BlockAddID values **MUST** be 1. Extra binary data that the BlockAddIDType can use to interpret the BlockAdditional data. @@ -416,20 +426,21 @@ The interpretation of the binary data depends on the BlockAddIDType value and th - Specifies the language of the track in the Matroska languages form; -see (#language-codes) on language codes. -This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry. + The language of the track, +in the Matroska languages form; see (#language-codes) on language codes. +This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry. - - Specifies the language of the track according to [@!BCP47] -and using the IANA Language Subtag Registry [@!IANALangRegistry]. + + The language of the track, +in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any Language Elements used in the same TrackEntry **MUST** be ignored. + An ID corresponding to the codec, -see [@!MatroskaCodec] for more info. +see [@?MatroskaCodec] for more info. @@ -596,8 +607,9 @@ Undefined values **SHOULD NOT** be used as the behavior of known implementations - - DEPRECATED, DO NOT USE. Bogus StereoMode value used in old versions of libmatroska. + + Bogus StereoMode value used in old versions of libmatroska. + This Element **MUST NOT** be used. It was an incorrect value used in libmatroska up to 0.9.0. @@ -682,7 +694,6 @@ PixelHeight - PixelCropTop - PixelCropBottom, else there is no default value.Specify the uncompressed pixel format used for the Track's data as a FourCC. This value is similar in scope to the biCompression value of AVI's `BITMAPINFO` [@?AVIFormat]. See the YUV video formats [@?FourCC-YUV] and RGB video formats [@?FourCC-RGB] for common values. UncompressedFourCC **MUST** be set (minOccurs=1) in TrackEntry, when the CodecID Element of the TrackEntry is set to "V_UNCOMPRESSED". - This Element **MUST NOT** be used if the CodecID Element of the TrackEntry is set to "V_UNCOMPRESSED". @@ -800,7 +811,7 @@ the value and meanings for TransferCharacteristics are adopted from Table 3 of I - + @@ -828,7 +839,7 @@ the value and meanings for Primaries are adopted from Table 2 of ISO/IEC 23091-4 - + @@ -865,49 +876,49 @@ in candelas per square meter (cd/m^2^). - Red X chromaticity coordinate, as defined by CIE 1931. + Red X chromaticity coordinate, as defined by [@!CIE-1931]. - Red Y chromaticity coordinate, as defined by CIE 1931. + Red Y chromaticity coordinate, as defined by [@!CIE-1931]. - Green X chromaticity coordinate, as defined by CIE 1931. + Green X chromaticity coordinate, as defined by [@!CIE-1931]. - Green Y chromaticity coordinate, as defined by CIE 1931. + Green Y chromaticity coordinate, as defined by [@!CIE-1931]. - Blue X chromaticity coordinate, as defined by CIE 1931. + Blue X chromaticity coordinate, as defined by [@!CIE-1931]. - Blue Y chromaticity coordinate, as defined by CIE 1931. + Blue Y chromaticity coordinate, as defined by [@!CIE-1931]. - White X chromaticity coordinate, as defined by CIE 1931. + White X chromaticity coordinate, as defined by [@!CIE-1931]. - White Y chromaticity coordinate, as defined by CIE 1931. + White Y chromaticity coordinate, as defined by [@!CIE-1931]. @@ -973,7 +984,7 @@ Setting `ProjectionPoseYaw` to 180 or -180 degrees, with the `ProjectionPoseRoll - + Specifies a pitch rotation to the projection. Value represents a counter-clockwise rotation, in degrees, around the right vector. This rotation must be applied @@ -983,7 +994,7 @@ The value of this element **MUST** be in the -90 to 90 degree range, both includ - + Specifies a roll rotation to the projection. Value represents a counter-clockwise rotation, in degrees, around the forward vector. This rotation must be applied @@ -1030,6 +1041,47 @@ Setting `ProjectionPoseRoll` to 180 or -180 degrees, with the `ProjectionPoseYaw + + Audio emphasis applied on audio samples. The player **MUST** apply the inverse emphasis to get the proper audio samples. + + + + First order filter with zero point at 50 microseconds and a pole at 15 microseconds. Also found on DVD Audio and MPEG audio. + + + + Defined in [@!ITU-J.17]. + + + FM Radio in Europe. RC Filter with a time constant of 50 microseconds. + + + FM Radio in the USA. RC Filter with a time constant of 75 microseconds. + + + Phono filter with time constants of t1=3180, t2=318 and t3=75 microseconds. [@!NAB1964] + + + Phono filter with time constants of t1=3180, t2=450 and t3=50 microseconds. + + + Phono filter with time constants of t1=3180, t2=318 and t3=50 microseconds. + + + Phono filter with time constants of t1=2500, t2=500 and t3=70 microseconds. + + + Phono filter with time constants of t1=1590, t2=318 and t3=100 microseconds. + + + Phono filter with time constants of t1=1590, t2=318 and t3=50 microseconds. + + + Phono filter with time constants of t1=3180, t2=318 and t3=100 microseconds. + + + + Operation that needs to be applied on tracks to create this virtual track. For more details look at (#track-operation). @@ -1137,23 +1189,24 @@ Each block **MUST** be decompressable even if no previous block is available in The compression algorithm used. + Compression method "1" (bzlib) and "2" (lzo1x) are lacking proper documentation on the format which limits implementation possibilities. +Due to licensing conflicts on commonly available libraries compression methods "2" (lzo1x) does not offer widespread interoperability. +A Matroska Writer **SHOULD NOT** use these compression methods by default. +A Matroska Reader **MAY** support methods "1" and "2" as possible, and **SHOULD** support other methods. zlib compression [@!RFC1950]. - bzip2 compression [@!BZIP2], **SHOULD NOT** be used; see usage notes. + bzip2 compression [@?BZIP2], **SHOULD NOT** be used; see usage notes. - Lempel-Ziv-Oberhumer compression [@!LZO], **SHOULD NOT** be used; see usage notes. + Lempel-Ziv-Oberhumer compression [@?LZO], **SHOULD NOT** be used; see usage notes. Octets in `ContentCompSettings` ((#contentcompsettings-element)) have been stripped from each frame. - Compression method "1" (bzlib) and "2" (lzo1x) are lacking proper documentation on the format which limits implementation possibilities. -Due to licensing conflicts on commonly available libraries compression methods "2" (lzo1x) does not offer widespread interoperability. -Decoding implementations **MAY** support methods "1" and "2" as possible. The use of these compression methods **SHOULD NOT** be used as a default. @@ -1163,29 +1216,31 @@ the bytes that were removed from the beginning of each frames of the track. Settings describing the encryption used. -This Element **MUST** be present if the value of `ContentEncodingType` is 1 (encryption) and **MUST** be ignored otherwise. +This Element **MUST** be present if the value of `ContentEncodingType` is 1 (encryption) and **MUST** be ignored otherwise. +A Matroska Player **MAY** support encryption. - The encryption algorithm used. -The value "0" means that the contents have not been encrypted. + The encryption algorithm used. - + + The data are not encrypted. + - Data Encryption Standard (DES) [@!FIPS.46-3]. + Data Encryption Standard (DES) [@?FIPS.46-3]. - Triple Data Encryption Algorithm [@!SP.800-67]. + Triple Data Encryption Algorithm [@?SP.800-67]. - Twofish Encryption Algorithm [@!Twofish]. + Twofish Encryption Algorithm [@?Twofish]. - Blowfish Encryption Algorithm [@!Blowfish]. + Blowfish Encryption Algorithm [@?Blowfish]. - Advanced Encryption Standard (AES) [@!FIPS.197]. + Advanced Encryption Standard (AES) [@?FIPS.197]. @@ -1197,20 +1252,20 @@ The value "0" means that the contents have not been encrypted. - Settings describing the encryption algorithm used. -It **MUST** be ignored if `ContentEncAlgo` is not AES (5). + Settings describing the encryption algorithm used. + ContentEncAESSettings **MUST NOT** be set (maxOccurs=0) if ContentEncAlgo is not AES (5). - The AES cipher mode used in the encryption. -It **MUST** be ignored if `ContentEncAlgo` is not AES (5). + The AES cipher mode used in the encryption. + AESSettingsCipherMode **MUST NOT** be set (maxOccurs=0) if ContentEncAlgo is not AES (5). - Counter [@!SP.800-38A]. + Counter [@?SP.800-38A]. - Cipher Block Chaining [@!SP.800-38A]. + Cipher Block Chaining [@?SP.800-38A]. @@ -1260,7 +1315,7 @@ All entries are local to the Segment. - The Segment Position of the Cluster containing the associated Block. + The Segment Position ((#segment-position)) of the Cluster containing the associated Block. @@ -1278,7 +1333,7 @@ If missing, the track's DefaultDuration does not apply and no duration informati - The Segment Position of the Codec State corresponding to this Cue Element. + The Segment Position ((#segment-position)) of the Codec State corresponding to this Cue Element. 0 means that the data is taken from the initial Track Entry. @@ -1310,8 +1365,8 @@ If missing, the track's DefaultDuration does not apply and no duration informati Filename of the attached file. - - MIME type of the file. + + Media type of the file following the [@!RFC6838] format. @@ -1360,6 +1415,16 @@ For more detailed information, look at the Chapters explanation in (#chapters).< Set to 1 if the chapters can be defined multiple times and the order to play them is enforced; see (#editionflagordered). + + Contains a possible string to use for the edition display for the given languages. + + + Contains the string to use as the edition name. + + + One language corresponding to the EditionString, +in the [@!BCP47] form; see (#language-codes) on language codes. + Contains the atom information to use as the chapter atom (apply to all tracks). @@ -1371,7 +1436,7 @@ For more detailed information, look at the Chapters explanation in (#chapters).< A unique string ID to identify the Chapter. -Use for WebVTT cue identifier storage [@!WebVTT]. +Use for WebVTT cue identifier storage [@?WebVTT]. @@ -1395,13 +1460,45 @@ the last frame it includes, especially for the `ChapterAtom` using the last fram When disabled, the movie **SHOULD** skip all the content between the TimeStart and TimeEnd of this chapter; see (#chapter-flags) on Chapter flags. - - The SegmentUID of another Segment to play during this chapter. - The value **MUST NOT** be the `SegmentUID` value of the `Segment` it belongs to. - ChapterSegmentUID **MUST** be set (minOccurs=1) if ChapterSegmentEditionUID is used; see (#medium-linking) on medium-linking Segments. + + The SegmentUUID of another Segment to play during this chapter (128 bits). +Like the SegmentUUID, it is a Universally Unique IDentifier stored in binary form [@!RFC4122]. + The value **MUST NOT** be the `SegmentUUID` value of the `Segment` it belongs to. + ChapterSegmentUUID **MUST** be set (minOccurs=1) if ChapterSegmentEditionUID is used; see (#medium-linking) on medium-linking Segments. + + + + Indicate what type of content the ChapterAtom contains and might be skipped. It can be used to automatically skip content based on the type. +If a `ChapterAtom` is inside a `ChapterAtom` that has a `ChapterSkipType` set, it **MUST NOT** have a `ChapterSkipType` or have a `ChapterSkipType` with the same value as it's parent `ChapterAtom`. +If the `ChapterAtom` doesn't contain a `ChapterTimeEnd`, the value of the `ChapterSkipType` is only valid until the next `ChapterAtom` with a `ChapterSkipType` value or the end of the file. + + + + + Content which should not be skipped. + + + Credits usually found at the beginning of the content. + + + Credits usually found at the end of the content. + + + Recap of previous episodes of the content, usually found around the beginning. + + + Preview of the next episode of the content, usually found around the end. It may contain spoilers the user wants to avoid. + + + Preview of the current episode of the content, usually found around the beginning. It may contain spoilers the user want to avoid. + + + Advertisement within the content. + + - The EditionUID to play from the Segment linked in ChapterSegmentUID. + The EditionUID to play from the Segment linked in ChapterSegmentUUID. If ChapterSegmentEditionUID is undeclared, then no Edition of the linked Segment is used; see (#medium-linking) on medium-linking Segments. @@ -1430,19 +1527,21 @@ Absence of this Element indicates that the Chapter **SHOULD** be applied to any A language corresponding to the string, -in the bibliographic ISO-639-2 form [@!ISO639-2]. -This Element **MUST** be ignored if a ChapLanguageIETF Element is used within the same ChapterDisplay Element. +in the Matroska languages form; see (#language-codes) on language codes. +This Element **MUST** be ignored if a ChapLanguageBCP47 Element is used within the same ChapterDisplay Element. - - Specifies a language corresponding to the ChapString in the format defined in [@!BCP47] -and using the IANA Language Subtag Registry [@!IANALangRegistry]. -If a ChapLanguageIETF Element is used, then any ChapLanguage and ChapCountry Elements used in the same ChapterDisplay **MUST** be ignored. + + A language corresponding to the ChapString, +in the [@!BCP47] form; see (#language-codes) on language codes. +If a ChapLanguageBCP47 Element is used, then any ChapLanguage and ChapCountry Elements used in the same ChapterDisplay **MUST** be ignored. + - A country corresponding to the string, using the same 2 octets country-codes as in Internet domains [@!IANADomains] based on [@!ISO3166-1] alpha-2 codes. -This Element **MUST** be ignored if a ChapLanguageIETF Element is used within the same ChapterDisplay Element. + A country corresponding to the string, +in the Matroska countries form; see (#country-codes) on country codes. +This Element **MUST** be ignored if a ChapLanguageBCP47 Element is used within the same ChapterDisplay Element. @@ -1482,7 +1581,7 @@ the data correspond to the binary DVD cell pre/post commands; see (#menu-feature Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. -A list of valid tags can be found in [@!MatroskaTags]. +A list of valid tags can be found in [@?MatroskaTags]. @@ -1525,30 +1624,30 @@ If empty or not present, then the Tag describes everything in the Segment. An informational string that can be used to display the logical level of the target like "ALBUM", "TRACK", "MOVIE", "CHAPTER", etc -; see Section 6.4 of [@!MatroskaTags]. +; see Section 6.4 of [@?MatroskaTags]. - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + @@ -1584,16 +1683,17 @@ If set to any other value, it **MUST** match the `FileUID` value of an attachmen - Specifies the language of the tag specified, in the Matroska languages form; -see (#language-codes) on language codes. -This Element **MUST** be ignored if the TagLanguageIETF Element is used within the same SimpleTag Element. + Specifies the language of the tag specified, +in the Matroska languages form; see (#language-codes) on language codes. +This Element **MUST** be ignored if the TagLanguageBCP47 Element is used within the same SimpleTag Element. - - Specifies the language used in the TagString according to [@!BCP47] -and using the IANA Language Subtag Registry [@!IANALangRegistry]. + + The language used in the TagString, +in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored. + A boolean value to indicate if this is the default/original language to use for the given tag. diff --git a/format/matroska/ebml_matroska/ebml_matroska_gen.go b/format/matroska/ebml_matroska/ebml_matroska_gen.go index 764b7ae2..9757ec98 100644 --- a/format/matroska/ebml_matroska/ebml_matroska_gen.go +++ b/format/matroska/ebml_matroska/ebml_matroska_gen.go @@ -22,11 +22,11 @@ const ( SeekIDID = 0x53ab SeekPositionID = 0x53ac InfoID = 0x1549a966 - SegmentUIDID = 0x73a4 + SegmentUUIDID = 0x73a4 SegmentFilenameID = 0x7384 - PrevUIDID = 0x3cb923 + PrevUUIDID = 0x3cb923 PrevFilenameID = 0x3c83ab - NextUIDID = 0x3eb923 + NextUUIDID = 0x3eb923 NextFilenameID = 0x3e83bb SegmentFamilyID = 0x4444 ChapterTranslateID = 0x6924 @@ -51,8 +51,8 @@ const ( BlockVirtualID = 0xa2 BlockAdditionsID = 0x75a1 BlockMoreID = 0xa6 - BlockAddIDID = 0xee BlockAdditionalID = 0xa5 + BlockAddIDID = 0xee BlockDurationID = 0x9b ReferencePriorityID = 0xfa ReferenceBlockID = 0xfb @@ -98,7 +98,7 @@ const ( BlockAddIDExtraDataID = 0x41ed NameID = 0x536e LanguageID = 0x22b59c - LanguageIETFID = 0x22b59d + LanguageBCP47ID = 0x22b59d CodecIDID = 0x86 CodecPrivateID = 0x63a2 CodecNameID = 0x258688 @@ -170,6 +170,7 @@ const ( ChannelsID = 0x9f ChannelPositionsID = 0x7d7b BitDepthID = 0x6264 + EmphasisID = 0x52f1 TrackOperationID = 0xe2 TrackCombinePlanesID = 0xe3 TrackPlaneID = 0xe4 @@ -218,7 +219,7 @@ const ( AttachedFileID = 0x61a7 FileDescriptionID = 0x467e FileNameID = 0x466e - FileMimeTypeID = 0x4660 + FileMediaTypeID = 0x4660 FileDataID = 0x465c FileUIDID = 0x46ae FileReferralID = 0x4675 @@ -230,6 +231,9 @@ const ( EditionFlagHiddenID = 0x45bd EditionFlagDefaultID = 0x45db EditionFlagOrderedID = 0x45dd + EditionDisplayID = 0x4520 + EditionStringID = 0x4521 + EditionLanguageIETFID = 0x45e4 ChapterAtomID = 0xb6 ChapterUIDID = 0x73c4 ChapterStringUIDID = 0x5654 @@ -237,7 +241,8 @@ const ( ChapterTimeEndID = 0x92 ChapterFlagHiddenID = 0x98 ChapterFlagEnabledID = 0x4598 - ChapterSegmentUIDID = 0x6e67 + ChapterSegmentUUIDID = 0x6e67 + ChapterSkipTypeID = 0x4588 ChapterSegmentEditionUIDID = 0x6ebc ChapterPhysicalEquivID = 0x63c3 ChapterTrackID = 0x8f @@ -245,7 +250,7 @@ const ( ChapterDisplayID = 0x80 ChapStringID = 0x85 ChapLanguageID = 0x437c - ChapLanguageIETFID = 0x437d + ChapLanguageBCP47ID = 0x437d ChapCountryID = 0x437e ChapProcessID = 0x6944 ChapProcessCodecIDID = 0x6955 @@ -265,7 +270,7 @@ const ( SimpleTagID = 0x67c8 TagNameID = 0x45a3 TagLanguageID = 0x447a - TagLanguageIETFID = 0x447b + TagLanguageBCP47ID = 0x447b TagDefaultID = 0x4484 TagDefaultBogusID = 0x44b4 TagStringID = 0x4487 @@ -275,7 +280,7 @@ const ( var Segment = ebml.Tag{ SeekHeadID: { Name: "seek_head", - Definition: "Contains the Segment Position of other Top-Level Elements.", + Definition: "Contains seeking information of Top-Level Elements; see (#data-layout).", Type: ebml.Master, Tag: SeekHead, }, InfoID: { @@ -310,7 +315,7 @@ var Segment = ebml.Tag{ }, TagsID: { Name: "tags", - Definition: "Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].", + Definition: "Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].", Type: ebml.Master, Tag: Tags, }, } @@ -326,20 +331,20 @@ var SeekHead = ebml.Tag{ var Seek = ebml.Tag{ SeekIDID: { Name: "seek_id", - Definition: "The binary ID corresponding to the Element name.", + Definition: "The binary EBML ID of a Top-Level Element.", Type: ebml.Binary, }, SeekPositionID: { Name: "seek_position", - Definition: "The Segment Position of the Element.", + Definition: "The Segment Position ((#segment-position)) of a Top-Level Element.", Type: ebml.Uinteger, }, } var Info = ebml.Tag{ - SegmentUIDID: { - Name: "segment_uid", - Definition: "A randomly generated unique ID to identify the Segment amongst many others (128 bits).", + SegmentUUIDID: { + Name: "segment_uuid", + Definition: "A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].", Type: ebml.Binary, }, SegmentFilenameID: { @@ -347,9 +352,9 @@ var Info = ebml.Tag{ Definition: "A filename corresponding to this Segment.", Type: ebml.UTF8, }, - PrevUIDID: { - Name: "prev_uid", - Definition: "A unique ID to identify the previous Segment of a Linked Segment (128 bits).", + PrevUUIDID: { + Name: "prev_uuid", + Definition: "A unique ID to identify the previous Segment of a Linked Segment (128 bits). Like the SegmentUUID, it is a Universally Unique IDentifier stored in binary form [@!RFC4122].", Type: ebml.Binary, }, PrevFilenameID: { @@ -357,9 +362,9 @@ var Info = ebml.Tag{ Definition: "A filename corresponding to the file of the previous Linked Segment.", Type: ebml.UTF8, }, - NextUIDID: { - Name: "next_uid", - Definition: "A unique ID to identify the next Segment of a Linked Segment (128 bits).", + NextUUIDID: { + Name: "next_uuid", + Definition: "A unique ID to identify the next Segment of a Linked Segment (128 bits). Like the SegmentUUID, it is a Universally Unique IDentifier stored in binary form [@!RFC4122].", Type: ebml.Binary, }, NextFilenameID: { @@ -369,7 +374,7 @@ var Info = ebml.Tag{ }, SegmentFamilyID: { Name: "segment_family", - Definition: "A randomly generated unique ID that all Segments of a Linked Segment **MUST** share (128 bits).", + Definition: "A randomly generated unique ID that all Segments of a Linked Segment **MUST** share (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].", Type: ebml.Binary, }, ChapterTranslateID: { @@ -496,7 +501,7 @@ var BlockGroup = ebml.Tag{ }, BlockAdditionsID: { Name: "block_additions", - Definition: "Contain additional blocks to complete the main one. An EBML parser that has no knowledge of the Block structure could still see and use/skip these data.", + Definition: "Contain additional binary data to complete the main one; see Codec BlockAdditions section of [@?MatroskaCodec] for more information. An EBML parser that has no knowledge of the Block structure could still see and use/skip these data.", Type: ebml.Master, Tag: BlockAdditions, }, BlockDurationID: { @@ -550,16 +555,16 @@ var BlockAdditions = ebml.Tag{ } var BlockMore = ebml.Tag{ - BlockAddIDID: { - Name: "block_add_id", - Definition: "An ID to identify the BlockAdditional level. If BlockAddIDType of the corresponding block is 0, this value is also the value of BlockAddIDType for the meaning of the content of BlockAdditional.", - Type: ebml.Uinteger, - }, BlockAdditionalID: { Name: "block_additional", Definition: "Interpreted by the codec as it wishes (using the BlockAddID).", Type: ebml.Binary, }, + BlockAddIDID: { + Name: "block_add_id", + Definition: "An ID to identify how to interpret the BlockAdditional data; see Codec BlockAdditions section of [@?MatroskaCodec] for more information. 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.", + Type: ebml.Uinteger, + }, } var Slices = ebml.Tag{ @@ -736,7 +741,7 @@ var TrackEntry = ebml.Tag{ }, TrackTimestampScaleID: { Name: "track_timestamp_scale", - Definition: "DEPRECATED, DO NOT USE. The scale to apply on this track to work at normal speed in relation with other tracks (mostly used to adjust video speed when the audio length differs).", + Definition: "The scale to apply on this track to work at normal speed in relation with other tracks (mostly used to adjust video speed when the audio length differs).", Type: ebml.Float, }, TrackOffsetID: { @@ -761,17 +766,17 @@ var TrackEntry = ebml.Tag{ }, LanguageID: { Name: "language", - Definition: "Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.", + Definition: "The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.", Type: ebml.String, }, - LanguageIETFID: { - Name: "language_ietf", - Definition: "Specifies the language of the track according to [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If this Element is used, then any Language Elements used in the same TrackEntry **MUST** be ignored.", + LanguageBCP47ID: { + Name: "language_bcp47", + Definition: "The language of the track, in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any Language Elements used in the same TrackEntry **MUST** be ignored.", Type: ebml.String, }, CodecIDID: { Name: "codec_id", - Definition: "An ID corresponding to the codec, see [@!MatroskaCodec] for more info.", + Definition: "An ID corresponding to the codec, see [@?MatroskaCodec] for more info.", Type: ebml.String, }, CodecPrivateID: { @@ -879,7 +884,7 @@ var TrackEntry = ebml.Tag{ var BlockAdditionMapping = ebml.Tag{ BlockAddIDValueID: { Name: "block_add_idvalue", - Definition: "If the track format extension needs content beside frames, the value refers to the BlockAddID ((#blockaddid-element)), value being described. To keep MaxBlockAdditionID as low as possible, small values **SHOULD** be used.", + Definition: "If the track format extension needs content beside frames, the value refers to the BlockAddID ((#blockaddid-element)), value being described.", Type: ebml.Uinteger, }, BlockAddIDNameID: { @@ -1045,7 +1050,7 @@ var Video = ebml.Tag{ }, OldStereoModeID: { Name: "old_stereo_mode", - Definition: "DEPRECATED, DO NOT USE. Bogus StereoMode value used in old versions of libmatroska.", + Definition: "Bogus StereoMode value used in old versions of libmatroska.", Type: ebml.Uinteger, UintegerEnums: scalar.UToScalar{ 0: { @@ -1311,7 +1316,7 @@ var Colour = ebml.Tag{ Sym: "unspecified", }, 3: { - Sym: "reserved", + Sym: "reserved2", }, 4: { Sym: "gamma_2_2_curve_bt_470m", @@ -1375,7 +1380,7 @@ var Colour = ebml.Tag{ Sym: "unspecified", }, 3: { - Sym: "reserved", + Sym: "reserved2", }, 4: { Sym: "itu_r_bt_470m", @@ -1429,42 +1434,42 @@ var Colour = ebml.Tag{ var MasteringMetadata = ebml.Tag{ PrimaryRChromaticityXID: { Name: "primary_rchromaticity_x", - Definition: "Red X chromaticity coordinate, as defined by CIE 1931.", + Definition: "Red X chromaticity coordinate, as defined by [@!CIE-1931].", Type: ebml.Float, }, PrimaryRChromaticityYID: { Name: "primary_rchromaticity_y", - Definition: "Red Y chromaticity coordinate, as defined by CIE 1931.", + Definition: "Red Y chromaticity coordinate, as defined by [@!CIE-1931].", Type: ebml.Float, }, PrimaryGChromaticityXID: { Name: "primary_gchromaticity_x", - Definition: "Green X chromaticity coordinate, as defined by CIE 1931.", + Definition: "Green X chromaticity coordinate, as defined by [@!CIE-1931].", Type: ebml.Float, }, PrimaryGChromaticityYID: { Name: "primary_gchromaticity_y", - Definition: "Green Y chromaticity coordinate, as defined by CIE 1931.", + Definition: "Green Y chromaticity coordinate, as defined by [@!CIE-1931].", Type: ebml.Float, }, PrimaryBChromaticityXID: { Name: "primary_bchromaticity_x", - Definition: "Blue X chromaticity coordinate, as defined by CIE 1931.", + Definition: "Blue X chromaticity coordinate, as defined by [@!CIE-1931].", Type: ebml.Float, }, PrimaryBChromaticityYID: { Name: "primary_bchromaticity_y", - Definition: "Blue Y chromaticity coordinate, as defined by CIE 1931.", + Definition: "Blue Y chromaticity coordinate, as defined by [@!CIE-1931].", Type: ebml.Float, }, WhitePointChromaticityXID: { Name: "white_point_chromaticity_x", - Definition: "White X chromaticity coordinate, as defined by CIE 1931.", + Definition: "White X chromaticity coordinate, as defined by [@!CIE-1931].", Type: ebml.Float, }, WhitePointChromaticityYID: { Name: "white_point_chromaticity_y", - Definition: "White Y chromaticity coordinate, as defined by CIE 1931.", + Definition: "White Y chromaticity coordinate, as defined by [@!CIE-1931].", Type: ebml.Float, }, LuminanceMaxID: { @@ -1547,6 +1552,63 @@ var Audio = ebml.Tag{ Definition: "Bits per sample, mostly used for PCM.", Type: ebml.Uinteger, }, + EmphasisID: { + Name: "emphasis", + Definition: "Audio emphasis applied on audio samples. The player **MUST** apply the inverse emphasis to get the proper audio samples.", + Type: ebml.Uinteger, + UintegerEnums: scalar.UToScalar{ + 0: { + Sym: "no_emphasis", + }, + 1: { + Sym: "cd_audio", + Description: "First order filter with zero point at 50 microseconds and a pole at 15 microseconds. Also found on DVD Audio and MPEG audio.", + }, + 2: { + Sym: "reserved", + }, + 3: { + Sym: "ccit_j_17", + Description: "Defined in [@!ITU-J.17].", + }, + 4: { + Sym: "fm_50", + Description: "FM Radio in Europe. RC Filter with a time constant of 50 microseconds.", + }, + 5: { + Sym: "fm_75", + Description: "FM Radio in the USA. RC Filter with a time constant of 75 microseconds.", + }, + 10: { + Sym: "phono_riaa", + Description: "Phono filter with time constants of t1=3180, t2=318 and t3=75 microseconds. [@!NAB1964]", + }, + 11: { + Sym: "phono_iec_n78", + Description: "Phono filter with time constants of t1=3180, t2=450 and t3=50 microseconds.", + }, + 12: { + Sym: "phono_teldec", + Description: "Phono filter with time constants of t1=3180, t2=318 and t3=50 microseconds.", + }, + 13: { + Sym: "phono_emi", + Description: "Phono filter with time constants of t1=2500, t2=500 and t3=70 microseconds.", + }, + 14: { + Sym: "phono_columbia_lp", + Description: "Phono filter with time constants of t1=1590, t2=318 and t3=100 microseconds.", + }, + 15: { + Sym: "phono_london", + Description: "Phono filter with time constants of t1=1590, t2=318 and t3=50 microseconds.", + }, + 16: { + Sym: "phono_nartb", + Description: "Phono filter with time constants of t1=3180, t2=318 and t3=100 microseconds.", + }, + }, + }, } var TrackOperation = ebml.Tag{ @@ -1655,7 +1717,7 @@ var ContentEncoding = ebml.Tag{ }, ContentEncryptionID: { Name: "content_encryption", - Definition: "Settings describing the encryption used. This Element **MUST** be present if the value of `ContentEncodingType` is 1 (encryption) and **MUST** be ignored otherwise.", + Definition: "Settings describing the encryption used. This Element **MUST** be present if the value of `ContentEncodingType` is 1 (encryption) and **MUST** be ignored otherwise. A Matroska Player **MAY** support encryption.", Type: ebml.Master, Tag: ContentEncryption, }, } @@ -1672,11 +1734,11 @@ var ContentCompression = ebml.Tag{ }, 1: { Sym: "bzlib", - Description: "bzip2 compression [@!BZIP2], **SHOULD NOT** be used; see usage notes.", + Description: "bzip2 compression [@?BZIP2], **SHOULD NOT** be used; see usage notes.", }, 2: { Sym: "lzo1x", - Description: "Lempel-Ziv-Oberhumer compression [@!LZO], **SHOULD NOT** be used; see usage notes.", + Description: "Lempel-Ziv-Oberhumer compression [@?LZO], **SHOULD NOT** be used; see usage notes.", }, 3: { Sym: "header_stripping", @@ -1694,31 +1756,32 @@ var ContentCompression = ebml.Tag{ var ContentEncryption = ebml.Tag{ ContentEncAlgoID: { Name: "content_enc_algo", - Definition: "The encryption algorithm used. The value \"0\" means that the contents have not been encrypted.", + Definition: "The encryption algorithm used.", Type: ebml.Uinteger, UintegerEnums: scalar.UToScalar{ 0: { - Sym: "not_encrypted", + Sym: "not_encrypted", + Description: "The data are not encrypted.", }, 1: { Sym: "des", - Description: "Data Encryption Standard (DES) [@!FIPS.46-3].", + Description: "Data Encryption Standard (DES) [@?FIPS.46-3].", }, 2: { Sym: "3des", - Description: "Triple Data Encryption Algorithm [@!SP.800-67].", + Description: "Triple Data Encryption Algorithm [@?SP.800-67].", }, 3: { Sym: "twofish", - Description: "Twofish Encryption Algorithm [@!Twofish].", + Description: "Twofish Encryption Algorithm [@?Twofish].", }, 4: { Sym: "blowfish", - Description: "Blowfish Encryption Algorithm [@!Blowfish].", + Description: "Blowfish Encryption Algorithm [@?Blowfish].", }, 5: { Sym: "aes", - Description: "Advanced Encryption Standard (AES) [@!FIPS.197].", + Description: "Advanced Encryption Standard (AES) [@?FIPS.197].", }, }, }, @@ -1729,7 +1792,7 @@ var ContentEncryption = ebml.Tag{ }, ContentEncAESSettingsID: { Name: "content_enc_aessettings", - Definition: "Settings describing the encryption algorithm used. It **MUST** be ignored if `ContentEncAlgo` is not AES (5).", + Definition: "Settings describing the encryption algorithm used.", Type: ebml.Master, Tag: ContentEncAESSettings, }, ContentSignatureID: { @@ -1776,16 +1839,16 @@ var ContentEncryption = ebml.Tag{ var ContentEncAESSettings = ebml.Tag{ AESSettingsCipherModeID: { Name: "aessettings_cipher_mode", - Definition: "The AES cipher mode used in the encryption. It **MUST** be ignored if `ContentEncAlgo` is not AES (5).", + Definition: "The AES cipher mode used in the encryption.", Type: ebml.Uinteger, UintegerEnums: scalar.UToScalar{ 1: { Sym: "aes_ctr", - Description: "Counter [@!SP.800-38A].", + Description: "Counter [@?SP.800-38A].", }, 2: { Sym: "aes_cbc", - Description: "Cipher Block Chaining [@!SP.800-38A].", + Description: "Cipher Block Chaining [@?SP.800-38A].", }, }, }, @@ -1820,7 +1883,7 @@ var CueTrackPositions = ebml.Tag{ }, CueClusterPositionID: { Name: "cue_cluster_position", - Definition: "The Segment Position of the Cluster containing the associated Block.", + Definition: "The Segment Position ((#segment-position)) of the Cluster containing the associated Block.", Type: ebml.Uinteger, }, CueRelativePositionID: { @@ -1840,7 +1903,7 @@ var CueTrackPositions = ebml.Tag{ }, CueCodecStateID: { Name: "cue_codec_state", - Definition: "The Segment Position of the Codec State corresponding to this Cue Element. 0 means that the data is taken from the initial Track Entry.", + Definition: "The Segment Position ((#segment-position)) of the Codec State corresponding to this Cue Element. 0 means that the data is taken from the initial Track Entry.", Type: ebml.Uinteger, }, CueReferenceID: { @@ -1892,9 +1955,9 @@ var AttachedFile = ebml.Tag{ Definition: "Filename of the attached file.", Type: ebml.UTF8, }, - FileMimeTypeID: { - Name: "file_mime_type", - Definition: "MIME type of the file.", + FileMediaTypeID: { + Name: "file_media_type", + Definition: "Media type of the file following the [@!RFC6838] format.", Type: ebml.String, }, FileDataID: { @@ -1953,6 +2016,11 @@ var EditionEntry = ebml.Tag{ Definition: "Set to 1 if the chapters can be defined multiple times and the order to play them is enforced; see (#editionflagordered).", Type: ebml.Uinteger, }, + EditionDisplayID: { + Name: "edition_display", + Definition: "Contains a possible string to use for the edition display for the given languages.", + Type: ebml.Master, Tag: EditionDisplay, + }, ChapterAtomID: { Name: "chapter_atom", Definition: "Contains the atom information to use as the chapter atom (apply to all tracks).", @@ -1960,6 +2028,19 @@ var EditionEntry = ebml.Tag{ }, } +var EditionDisplay = ebml.Tag{ + EditionStringID: { + Name: "edition_string", + Definition: "Contains the string to use as the edition name.", + Type: ebml.UTF8, + }, + EditionLanguageIETFID: { + Name: "edition_language_ietf", + Definition: "One language corresponding to the EditionString, in the [@!BCP47] form; see (#language-codes) on language codes.", + Type: ebml.String, + }, +} + var ChapterAtom = ebml.Tag{ ChapterUIDID: { Name: "chapter_uid", @@ -1968,7 +2049,7 @@ var ChapterAtom = ebml.Tag{ }, ChapterStringUIDID: { Name: "chapter_string_uid", - Definition: "A unique string ID to identify the Chapter. Use for WebVTT cue identifier storage [@!WebVTT].", + Definition: "A unique string ID to identify the Chapter. Use for WebVTT cue identifier storage [@?WebVTT].", Type: ebml.UTF8, }, ChapterTimeStartID: { @@ -1991,14 +2072,49 @@ var ChapterAtom = ebml.Tag{ Definition: "Set to 1 if the chapter is enabled. It can be enabled/disabled by a Control Track. When disabled, the movie **SHOULD** skip all the content between the TimeStart and TimeEnd of this chapter; see (#chapter-flags) on Chapter flags.", Type: ebml.Uinteger, }, - ChapterSegmentUIDID: { - Name: "chapter_segment_uid", - Definition: "The SegmentUID of another Segment to play during this chapter.", + ChapterSegmentUUIDID: { + Name: "chapter_segment_uuid", + Definition: "The SegmentUUID of another Segment to play during this chapter (128 bits). Like the SegmentUUID, it is a Universally Unique IDentifier stored in binary form [@!RFC4122].", Type: ebml.Binary, }, + ChapterSkipTypeID: { + Name: "chapter_skip_type", + Definition: "Indicate what type of content the ChapterAtom contains and might be skipped. It can be used to automatically skip content based on the type. If a `ChapterAtom` is inside a `ChapterAtom` that has a `ChapterSkipType` set, it **MUST NOT** have a `ChapterSkipType` or have a `ChapterSkipType` with the same value as it's parent `ChapterAtom`. If the `ChapterAtom` doesn't contain a `ChapterTimeEnd`, the value of the `ChapterSkipType` is only valid until the next `ChapterAtom` with a `ChapterSkipType` value or the end of the file.", + Type: ebml.Uinteger, + UintegerEnums: scalar.UToScalar{ + 0: { + Sym: "no_skipping", + Description: "Content which should not be skipped.", + }, + 1: { + Sym: "opening_credits", + Description: "Credits usually found at the beginning of the content.", + }, + 2: { + Sym: "end_credits", + Description: "Credits usually found at the end of the content.", + }, + 3: { + Sym: "recap", + Description: "Recap of previous episodes of the content, usually found around the beginning.", + }, + 4: { + Sym: "next_preview", + Description: "Preview of the next episode of the content, usually found around the end. It may contain spoilers the user wants to avoid.", + }, + 5: { + Sym: "preview", + Description: "Preview of the current episode of the content, usually found around the beginning. It may contain spoilers the user want to avoid.", + }, + 6: { + Sym: "advertisement", + Description: "Advertisement within the content.", + }, + }, + }, ChapterSegmentEditionUIDID: { Name: "chapter_segment_edition_uid", - Definition: "The EditionUID to play from the Segment linked in ChapterSegmentUID. If ChapterSegmentEditionUID is undeclared, then no Edition of the linked Segment is used; see (#medium-linking) on medium-linking Segments.", + Definition: "The EditionUID to play from the Segment linked in ChapterSegmentUUID. If ChapterSegmentEditionUID is undeclared, then no Edition of the linked Segment is used; see (#medium-linking) on medium-linking Segments.", Type: ebml.Uinteger, }, ChapterPhysicalEquivID: { @@ -2039,17 +2155,17 @@ var ChapterDisplay = ebml.Tag{ }, ChapLanguageID: { Name: "chap_language", - Definition: "A language corresponding to the string, in the bibliographic ISO-639-2 form [@!ISO639-2]. This Element **MUST** be ignored if a ChapLanguageIETF Element is used within the same ChapterDisplay Element.", + Definition: "A language corresponding to the string, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if a ChapLanguageBCP47 Element is used within the same ChapterDisplay Element.", Type: ebml.String, }, - ChapLanguageIETFID: { - Name: "chap_language_ietf", - Definition: "Specifies a language corresponding to the ChapString in the format defined in [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If a ChapLanguageIETF Element is used, then any ChapLanguage and ChapCountry Elements used in the same ChapterDisplay **MUST** be ignored.", + ChapLanguageBCP47ID: { + Name: "chap_language_bcp47", + Definition: "A language corresponding to the ChapString, in the [@!BCP47] form; see (#language-codes) on language codes. If a ChapLanguageBCP47 Element is used, then any ChapLanguage and ChapCountry Elements used in the same ChapterDisplay **MUST** be ignored.", Type: ebml.String, }, ChapCountryID: { Name: "chap_country", - Definition: "A country corresponding to the string, using the same 2 octets country-codes as in Internet domains [@!IANADomains] based on [@!ISO3166-1] alpha-2 codes. This Element **MUST** be ignored if a ChapLanguageIETF Element is used within the same ChapterDisplay Element.", + Definition: "A country corresponding to the string, in the Matroska countries form; see (#country-codes) on country codes. This Element **MUST** be ignored if a ChapLanguageBCP47 Element is used within the same ChapterDisplay Element.", Type: ebml.String, }, } @@ -2155,71 +2271,71 @@ var Targets = ebml.Tag{ }, TargetTypeID: { Name: "target_type", - Definition: "An informational string that can be used to display the logical level of the target like \"ALBUM\", \"TRACK\", \"MOVIE\", \"CHAPTER\", etc ; see Section 6.4 of [@!MatroskaTags].", + Definition: "An informational string that can be used to display the logical level of the target like \"ALBUM\", \"TRACK\", \"MOVIE\", \"CHAPTER\", etc ; see Section 6.4 of [@?MatroskaTags].", Type: ebml.String, StringEnums: scalar.StrToScalar{ "COLLECTION": { - Sym: "collection", + Sym: "targettypevalue_70", }, "EDITION": { - Sym: "edition", + Sym: "targettypevalue_60", }, "ISSUE": { - Sym: "issue", + Sym: "targettypevalue_60", }, "VOLUME": { - Sym: "volume", + Sym: "targettypevalue_60", }, "OPUS": { - Sym: "opus", + Sym: "targettypevalue_60", }, "SEASON": { - Sym: "season", + Sym: "targettypevalue_60", }, "SEQUEL": { - Sym: "sequel", + Sym: "targettypevalue_60", }, "ALBUM": { - Sym: "album", + Sym: "targettypevalue_50", }, "OPERA": { - Sym: "opera", + Sym: "targettypevalue_50", }, "CONCERT": { - Sym: "concert", + Sym: "targettypevalue_50", }, "MOVIE": { - Sym: "movie", + Sym: "targettypevalue_50", }, "EPISODE": { - Sym: "episode", + Sym: "targettypevalue_50", }, "PART": { - Sym: "part", + Sym: "targettypevalue_40", }, "SESSION": { - Sym: "session", + Sym: "targettypevalue_40", }, "TRACK": { - Sym: "track", + Sym: "targettypevalue_30", }, "SONG": { - Sym: "song", + Sym: "targettypevalue_30", }, "CHAPTER": { - Sym: "chapter", + Sym: "targettypevalue_30", }, "SUBTRACK": { - Sym: "subtrack", + Sym: "targettypevalue_20", }, "MOVEMENT": { - Sym: "movement", + Sym: "targettypevalue_20", }, "SCENE": { - Sym: "scene", + Sym: "targettypevalue_20", }, "SHOT": { - Sym: "shot", + Sym: "targettypevalue_10", }, }, }, @@ -2253,12 +2369,12 @@ var SimpleTag = ebml.Tag{ }, TagLanguageID: { Name: "tag_language", - Definition: "Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageIETF Element is used within the same SimpleTag Element.", + Definition: "Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageBCP47 Element is used within the same SimpleTag Element.", Type: ebml.String, }, - TagLanguageIETFID: { - Name: "tag_language_ietf", - Definition: "Specifies the language used in the TagString according to [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.", + TagLanguageBCP47ID: { + Name: "tag_language_bcp47", + Definition: "The language used in the TagString, in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.", Type: ebml.String, }, TagDefaultID: { diff --git a/format/matroska/testdata/aac.fqtest b/format/matroska/testdata/aac.fqtest index 9d3c2199..2b454fdf 100644 --- a/format/matroska/testdata/aac.fqtest +++ b/format/matroska/testdata/aac.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv aac.mkv 0x030|00 00 04 90 |.... | | | | elements[0:7]: 0x34-0x4c3.7 (1168) | | | [0]{}: element 0x34-0x78.7 (69) -0x030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv aac.mkv 0x040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x040| 84 | . | size: 4 0x44-0x44.7 (1) 0x040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv aac.mkv 0x040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x050| 84 | . | size: 4 0x52-0x52.7 (1) 0x050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x050| 81 | . | size: 1 0x59-0x59.7 (1) 0x050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv aac.mkv 0x050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x060|84 |. | size: 4 0x60-0x60.7 (1) 0x060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x060| 82 | . | size: 2 0x67-0x67.7 (1) 0x060| 01 42 | .B | value: 322 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv aac.mkv 0x060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x070| 82 | . | size: 2 0x76-0x76.7 (1) 0x070| 04 74 | .t | value: 1140 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv aac.mkv 0x0f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x100| 90 | . | size: 16 0x109-0x109.7 (1) 0x100| 17 bd f9 34 6e 97| ...4n.| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv aac.mkv 0x140| 81 | . | size: 1 0x148-0x148.7 (1) 0x140| 00 | . | value: 0 0x149-0x149.7 (1) | | | [3]{}: element 0x14a-0x150.7 (7) -0x140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) +0x140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) | | | type: "string" 0x14d-NA (0) 0x140| 83 | . | size: 3 0x14d-0x14d.7 (1) 0x140| 75 6e| un| value: "und" 0x14e-0x150.7 (3) 0x150|64 |d | | | | [4]{}: element 0x151-0x157.7 (7) -0x150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x151-0x151.7 (1) +0x150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x151-0x151.7 (1) | | | type: "string" 0x152-NA (0) 0x150| 85 | . | size: 5 0x152-0x152.7 (1) 0x150| 41 5f 41 41 43 | A_AAC | value: "A_AAC" 0x153-0x157.7 (5) @@ -243,7 +243,7 @@ $ fq -d matroska dv aac.mkv 0x170| 08 | . | channel_configuration: 1 (front-center) 0x172.1-0x172.4 (0.4) 0x170| 08 56 e5 00 | .V.. | var_aot_or_byte_align: raw bits 0x172.5-0x175.7 (3.3) | | | [4]{}: element 0x176-0x217.7 (162) -0x170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0x176-0x179.7 (4) +0x170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0x176-0x179.7 (4) | | | type: "master" 0x17a-NA (0) 0x170| 40 9c | @. | size: 156 0x17a-0x17b.7 (2) | | | elements[0:3]: 0x17c-0x217.7 (156) @@ -497,7 +497,7 @@ $ fq -d matroska dv aac.mkv 0x4b0| 81 | . | size: 1 0x4bb-0x4bb.7 (1) 0x4b0| 01 | . | value: 1 0x4bc-0x4bc.7 (1) | | | [1]{}: element 0x4bd-0x4c0.7 (4) -0x4b0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x4bd-0x4bd.7 (1) +0x4b0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x4bd-0x4bd.7 (1) | | | type: "uinteger" 0x4be-NA (0) 0x4b0| 82 | . | size: 2 0x4be-0x4be.7 (1) 0x4b0| 01| .| value: 484 0x4bf-0x4c0.7 (2) diff --git a/format/matroska/testdata/av1.fqtest b/format/matroska/testdata/av1.fqtest index cb1666cc..791048a6 100644 --- a/format/matroska/testdata/av1.fqtest +++ b/format/matroska/testdata/av1.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv av1.mkv 0x0030|00 00 13 b3 |.... | | | | elements[0:7]: 0x34-0x13e6.7 (5043) | | | [0]{}: element 0x34-0x78.7 (69) -0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x0030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv av1.mkv 0x0040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x0040| 84 | . | size: 4 0x44-0x44.7 (1) 0x0040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x0040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x0040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv av1.mkv 0x0040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x0050| 84 | . | size: 4 0x52-0x52.7 (1) 0x0050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x0050| 81 | . | size: 1 0x59-0x59.7 (1) 0x0050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv av1.mkv 0x0050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x0060|84 |. | size: 4 0x60-0x60.7 (1) 0x0060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x0060| 82 | . | size: 2 0x67-0x67.7 (1) 0x0060| 01 46 | .F | value: 326 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv av1.mkv 0x0060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x0060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x0070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x0070| 82 | . | size: 2 0x76-0x76.7 (1) 0x0070| 13 97 | .. | value: 5015 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv av1.mkv 0x00f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x0100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x0100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x0100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x0100| 90 | . | size: 16 0x109-0x109.7 (1) 0x0100| 46 bd 6f 31 1c 40| F.o1.@| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv av1.mkv 0x0140| 81 | . | size: 1 0x148-0x148.7 (1) 0x0140| 00 | . | value: 0 0x149-0x149.7 (1) | | | [3]{}: element 0x14a-0x150.7 (7) -0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) +0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) | | | type: "string" 0x14d-NA (0) 0x0140| 83 | . | size: 3 0x14d-0x14d.7 (1) 0x0140| 75 6e| un| value: "und" 0x14e-0x150.7 (3) 0x0150|64 |d | | | | [4]{}: element 0x151-0x157.7 (7) -0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x151-0x151.7 (1) +0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x151-0x151.7 (1) | | | type: "string" 0x152-NA (0) 0x0150| 85 | . | size: 5 0x152-0x152.7 (1) 0x0150| 56 5f 41 56 31 | V_AV1 | value: "V_AV1" 0x153-0x157.7 (5) @@ -254,7 +254,7 @@ $ fq -d matroska dv av1.mkv 0x0170| 00 | . | initial_presentation_delay_present: false 0x179.3-0x179.3 (0.1) 0x0170| 00 | . | reserved: 0 0x179.4-0x179.7 (0.4) | | | [4]{}: element 0x17a-0x220.7 (167) -0x0170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0x17a-0x17d.7 (4) +0x0170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0x17a-0x17d.7 (4) | | | type: "master" 0x17e-NA (0) 0x0170| 40 a1| @.| size: 161 0x17e-0x17f.7 (2) | | | elements[0:3]: 0x180-0x220.7 (161) @@ -431,7 +431,7 @@ $ fq -d matroska dv av1.mkv 0x13d0| 81 | . | size: 1 0x13de-0x13de.7 (1) 0x13d0| 01| .| value: 1 0x13df-0x13df.7 (1) | | | [1]{}: element 0x13e0-0x13e3.7 (4) -0x13e0|f1 |. | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x13e0-0x13e0.7 (1) +0x13e0|f1 |. | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x13e0-0x13e0.7 (1) | | | type: "uinteger" 0x13e1-NA (0) 0x13e0| 82 | . | size: 2 0x13e1-0x13e1.7 (1) 0x13e0| 01 ed | .. | value: 493 0x13e2-0x13e3.7 (2) diff --git a/format/matroska/testdata/avc.fqtest b/format/matroska/testdata/avc.fqtest index 3a2637c1..f79facf5 100644 --- a/format/matroska/testdata/avc.fqtest +++ b/format/matroska/testdata/avc.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv avc.mkv 0x00030|00 00 0d 13 |.... | | | | elements[0:7]: 0x34-0xd46.7 (3347) | | | [0]{}: element 0x34-0x78.7 (69) -0x00030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x00030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x00030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv avc.mkv 0x00040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x00040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x00040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x00040| 84 | . | size: 4 0x44-0x44.7 (1) 0x00040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x00040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x00040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x00040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x00040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv avc.mkv 0x00040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x00050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x00050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x00050| 84 | . | size: 4 0x52-0x52.7 (1) 0x00050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x00050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x00050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x00050| 81 | . | size: 1 0x59-0x59.7 (1) 0x00050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv avc.mkv 0x00050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x00050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x00050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x00060|84 |. | size: 4 0x60-0x60.7 (1) 0x00060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x00060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x00060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x00060| 82 | . | size: 2 0x67-0x67.7 (1) 0x00060| 01 7b | .{ | value: 379 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv avc.mkv 0x00060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x00060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x00060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x00060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x00070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x00070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x00070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x00070| 82 | . | size: 2 0x76-0x76.7 (1) 0x00070| 0c f7 | .. | value: 3319 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv avc.mkv 0x000f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x00100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x00100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x00100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x00100| 90 | . | size: 16 0x109-0x109.7 (1) 0x00100| 7c 01 b0 2d a3 3f| |..-.?| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv avc.mkv 0x00140| 81 | . | size: 1 0x149-0x149.7 (1) 0x00140| 00 | . | value: 0 0x14a-0x14a.7 (1) | | | [3]{}: element 0x14b-0x151.7 (7) -0x00140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14b-0x14d.7 (3) +0x00140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14b-0x14d.7 (3) | | | type: "string" 0x14e-NA (0) 0x00140| 83 | . | size: 3 0x14e-0x14e.7 (1) 0x00140| 75| u| value: "und" 0x14f-0x151.7 (3) 0x00150|6e 64 |nd | | | | [4]{}: element 0x152-0x162.7 (17) -0x00150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x152-0x152.7 (1) +0x00150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x152-0x152.7 (1) | | | type: "string" 0x153-NA (0) 0x00150| 8f | . | size: 15 0x153-0x153.7 (1) 0x00150| 56 5f 4d 50 45 47 34 2f 49 53 4f 2f| V_MPEG4/ISO/| value: "V_MPEG4/ISO/AVC" 0x154-0x162.7 (15) @@ -340,7 +340,7 @@ $ fq -d matroska dv avc.mkv 0x001a0| eb e3 c4 48 44 | ...HD | data: raw bits 0x1a6-0x1aa.7 (5) 0x001a0| ff f8 f8 00 | .... | data: raw bits 0x1ab-0x1ae.7 (4) | | | [4]{}: element 0x1af-0x254.7 (166) -0x001a0| 12| .| id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0x1af-0x1b2.7 (4) +0x001a0| 12| .| id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0x1af-0x1b2.7 (4) 0x001b0|54 c3 67 |T.g | | | | type: "master" 0x1b3-NA (0) 0x001b0| 40 a0 | @. | size: 160 0x1b3-0x1b4.7 (2) @@ -517,7 +517,7 @@ $ fq -d matroska dv avc.mkv 0x00d30| 81 | . | size: 1 0xd3e-0xd3e.7 (1) 0x00d30| 01| .| value: 1 0xd3f-0xd3f.7 (1) | | | [1]{}: element 0xd40-0xd43.7 (4) -0x00d40|f1 |. | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0xd40-0xd40.7 (1) +0x00d40|f1 |. | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0xd40-0xd40.7 (1) | | | type: "uinteger" 0xd41-NA (0) 0x00d40| 82 | . | size: 2 0xd41-0xd41.7 (1) 0x00d40| 02 21 | .! | value: 545 0xd42-0xd43.7 (2) diff --git a/format/matroska/testdata/flac.fqtest b/format/matroska/testdata/flac.fqtest index 147aa8ef..5938184e 100644 --- a/format/matroska/testdata/flac.fqtest +++ b/format/matroska/testdata/flac.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv flac.mkv 0x030|00 00 04 9b |.... | | | | elements[0:7]: 0x34-0x4ce.7 (1179) | | | [0]{}: element 0x34-0x78.7 (69) -0x030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv flac.mkv 0x040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x040| 84 | . | size: 4 0x44-0x44.7 (1) 0x040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv flac.mkv 0x040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x050| 84 | . | size: 4 0x52-0x52.7 (1) 0x050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x050| 81 | . | size: 1 0x59-0x59.7 (1) 0x050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv flac.mkv 0x050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x060|84 |. | size: 4 0x60-0x60.7 (1) 0x060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x060| 82 | . | size: 2 0x67-0x67.7 (1) 0x060| 01 68 | .h | value: 360 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv flac.mkv 0x060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x070| 82 | . | size: 2 0x76-0x76.7 (1) 0x070| 04 7f | .. | value: 1151 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv flac.mkv 0x0f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x100| 90 | . | size: 16 0x109-0x109.7 (1) 0x100| 57 0f ef b3 6f 8c| W...o.| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv flac.mkv 0x140| 81 | . | size: 1 0x148-0x148.7 (1) 0x140| 00 | . | value: 0 0x149-0x149.7 (1) | | | [3]{}: element 0x14a-0x150.7 (7) -0x140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) +0x140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) | | | type: "string" 0x14d-NA (0) 0x140| 83 | . | size: 3 0x14d-0x14d.7 (1) 0x140| 75 6e| un| value: "und" 0x14e-0x150.7 (3) 0x150|64 |d | | | | [4]{}: element 0x151-0x158.7 (8) -0x150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x151-0x151.7 (1) +0x150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x151-0x151.7 (1) | | | type: "string" 0x152-NA (0) 0x150| 86 | . | size: 6 0x152-0x152.7 (1) 0x150| 41 5f 46 4c 41 43 | A_FLAC | value: "A_FLAC" 0x153-0x158.7 (6) @@ -257,7 +257,7 @@ $ fq -d matroska dv flac.mkv 0x180| e9 16 ab 02| ....| md5: "e916ab02137281386a28174fe11bffec" (raw bits) 0x18c-0x19b.7 (16) 0x190|13 72 81 38 6a 28 17 4f e1 1b ff ec |.r.8j(.O.... | | | | [4]{}: element 0x19c-0x23e.7 (163) -0x190| 12 54 c3 67| .T.g| id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0x19c-0x19f.7 (4) +0x190| 12 54 c3 67| .T.g| id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0x19c-0x19f.7 (4) | | | type: "master" 0x1a0-NA (0) 0x1a0|40 9d |@. | size: 157 0x1a0-0x1a1.7 (2) | | | elements[0:3]: 0x1a2-0x23e.7 (157) @@ -462,7 +462,7 @@ $ fq -d matroska dv flac.mkv 0x4c0| 81 | . | size: 1 0x4c6-0x4c6.7 (1) 0x4c0| 01 | . | value: 1 0x4c7-0x4c7.7 (1) | | | [1]{}: element 0x4c8-0x4cb.7 (4) -0x4c0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x4c8-0x4c8.7 (1) +0x4c0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x4c8-0x4c8.7 (1) | | | type: "uinteger" 0x4c9-NA (0) 0x4c0| 82 | . | size: 2 0x4c9-0x4c9.7 (1) 0x4c0| 02 0b | .. | value: 523 0x4ca-0x4cb.7 (2) diff --git a/format/matroska/testdata/hevc.fqtest b/format/matroska/testdata/hevc.fqtest index fe1eecfd..bf17faea 100644 --- a/format/matroska/testdata/hevc.fqtest +++ b/format/matroska/testdata/hevc.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv hevc.mkv 0x0030|00 00 13 b7 |.... | | | | elements[0:7]: 0x34-0x13ea.7 (5047) | | | [0]{}: element 0x34-0x78.7 (69) -0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x0030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv hevc.mkv 0x0040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x0040| 84 | . | size: 4 0x44-0x44.7 (1) 0x0040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x0040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x0040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv hevc.mkv 0x0040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x0050| 84 | . | size: 4 0x52-0x52.7 (1) 0x0050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x0050| 81 | . | size: 1 0x59-0x59.7 (1) 0x0050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv hevc.mkv 0x0050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x0060|84 |. | size: 4 0x60-0x60.7 (1) 0x0060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x0060| 82 | . | size: 2 0x67-0x67.7 (1) 0x0060| 0a 8a | .. | value: 2698 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv hevc.mkv 0x0060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x0060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x0070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x0070| 82 | . | size: 2 0x76-0x76.7 (1) 0x0070| 13 9b | .. | value: 5019 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv hevc.mkv 0x00f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x0100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x0100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x0100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x0100| 90 | . | size: 16 0x109-0x109.7 (1) 0x0100| 64 a4 6f b2 71 ea| d.o.q.| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv hevc.mkv 0x0140| 81 | . | size: 1 0x149-0x149.7 (1) 0x0140| 00 | . | value: 0 0x14a-0x14a.7 (1) | | | [3]{}: element 0x14b-0x151.7 (7) -0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14b-0x14d.7 (3) +0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14b-0x14d.7 (3) | | | type: "string" 0x14e-NA (0) 0x0140| 83 | . | size: 3 0x14e-0x14e.7 (1) 0x0140| 75| u| value: "und" 0x14f-0x151.7 (3) 0x0150|6e 64 |nd | | | | [4]{}: element 0x152-0x163.7 (18) -0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x152-0x152.7 (1) +0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x152-0x152.7 (1) | | | type: "string" 0x153-NA (0) 0x0150| 90 | . | size: 16 0x153-0x153.7 (1) 0x0150| 56 5f 4d 50 45 47 48 2f 49 53 4f 2f| V_MPEGH/ISO/| value: "V_MPEGH/ISO/HEVC" 0x154-0x163.7 (16) @@ -547,7 +547,7 @@ $ fq -d matroska dv hevc.mkv 0x0200|ff ff ff c1 2c a2 de 09 b5 17 47 db bb 55 a4 fe|....,.....G..U..| * |until 0xabd.7 (2244) | | | | | [4]{}: element 0xabe-0xb63.7 (166) -0x0ab0| 12 54| .T| id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0xabe-0xac1.7 (4) +0x0ab0| 12 54| .T| id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0xabe-0xac1.7 (4) 0x0ac0|c3 67 |.g | | | | type: "master" 0xac2-NA (0) 0x0ac0| 40 a0 | @. | size: 160 0xac2-0xac3.7 (2) @@ -704,7 +704,7 @@ $ fq -d matroska dv hevc.mkv 0x13e0| 81 | . | size: 1 0x13e2-0x13e2.7 (1) 0x13e0| 01 | . | value: 1 0x13e3-0x13e3.7 (1) | | | [1]{}: element 0x13e4-0x13e7.7 (4) -0x13e0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x13e4-0x13e4.7 (1) +0x13e0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x13e4-0x13e4.7 (1) | | | type: "uinteger" 0x13e5-NA (0) 0x13e0| 82 | . | size: 2 0x13e5-0x13e5.7 (1) 0x13e0| 0b 30 | .0 | value: 2864 0x13e6-0x13e7.7 (2) diff --git a/format/matroska/testdata/mp3.fqtest b/format/matroska/testdata/mp3.fqtest index f6081b38..fd4a4585 100644 --- a/format/matroska/testdata/mp3.fqtest +++ b/format/matroska/testdata/mp3.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv mp3.mkv 0x030|00 00 04 a8 |.... | | | | elements[0:7]: 0x34-0x4db.7 (1192) | | | [0]{}: element 0x34-0x78.7 (69) -0x030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv mp3.mkv 0x040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x040| 84 | . | size: 4 0x44-0x44.7 (1) 0x040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv mp3.mkv 0x040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x050| 84 | . | size: 4 0x52-0x52.7 (1) 0x050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x050| 81 | . | size: 1 0x59-0x59.7 (1) 0x050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv mp3.mkv 0x050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x060|84 |. | size: 4 0x60-0x60.7 (1) 0x060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x060| 82 | . | size: 2 0x67-0x67.7 (1) 0x060| 01 3e | .> | value: 318 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv mp3.mkv 0x060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x070| 82 | . | size: 2 0x76-0x76.7 (1) 0x070| 04 8c | .. | value: 1164 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv mp3.mkv 0x0f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x100| 90 | . | size: 16 0x109-0x109.7 (1) 0x100| ed af 16 3e 3c c6| ...><.| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv mp3.mkv 0x140| 81 | . | size: 1 0x148-0x148.7 (1) 0x140| 00 | . | value: 0 0x149-0x149.7 (1) | | | [3]{}: element 0x14a-0x150.7 (7) -0x140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) +0x140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) | | | type: "string" 0x14d-NA (0) 0x140| 83 | . | size: 3 0x14d-0x14d.7 (1) 0x140| 75 6e| un| value: "und" 0x14e-0x150.7 (3) 0x150|64 |d | | | | [4]{}: element 0x151-0x15b.7 (11) -0x150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x151-0x151.7 (1) +0x150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x151-0x151.7 (1) | | | type: "string" 0x152-NA (0) 0x150| 89 | . | size: 9 0x152-0x152.7 (1) 0x150| 41 5f 4d 50 45 47 2f 4c 33 | A_MPEG/L3 | value: "A_MPEG/L3" 0x153-0x15b.7 (9) @@ -234,7 +234,7 @@ $ fq -d matroska dv mp3.mkv 0x170|81 |. | size: 1 0x170-0x170.7 (1) 0x170| 10 | . | value: 16 0x171-0x171.7 (1) | | | [4]{}: element 0x172-0x21a.7 (169) -0x170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0x172-0x175.7 (4) +0x170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0x172-0x175.7 (4) | | | type: "master" 0x176-NA (0) 0x170| 40 a3 | @. | size: 163 0x176-0x177.7 (2) | | | elements[0:3]: 0x178-0x21a.7 (163) @@ -595,7 +595,7 @@ $ fq -d matroska dv mp3.mkv 0x4d0| 81 | . | size: 1 0x4d3-0x4d3.7 (1) 0x4d0| 01 | . | value: 1 0x4d4-0x4d4.7 (1) | | | [1]{}: element 0x4d5-0x4d8.7 (4) -0x4d0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x4d5-0x4d5.7 (1) +0x4d0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x4d5-0x4d5.7 (1) | | | type: "uinteger" 0x4d6-NA (0) 0x4d0| 82 | . | size: 2 0x4d6-0x4d6.7 (1) 0x4d0| 01 e7 | .. | value: 487 0x4d7-0x4d8.7 (2) diff --git a/format/matroska/testdata/mpeg2.fqtest b/format/matroska/testdata/mpeg2.fqtest index ad302f33..12a1f6a8 100644 --- a/format/matroska/testdata/mpeg2.fqtest +++ b/format/matroska/testdata/mpeg2.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv mpeg2.mkv 0x0030|00 00 21 96 |..!. | | | | elements[0:7]: 0x34-0x21c9.7 (8598) | | | [0]{}: element 0x34-0x78.7 (69) -0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x0030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv mpeg2.mkv 0x0040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x0040| 84 | . | size: 4 0x44-0x44.7 (1) 0x0040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x0040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x0040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv mpeg2.mkv 0x0040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x0050| 84 | . | size: 4 0x52-0x52.7 (1) 0x0050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x0050| 81 | . | size: 1 0x59-0x59.7 (1) 0x0050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv mpeg2.mkv 0x0050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x0060|84 |. | size: 4 0x60-0x60.7 (1) 0x0060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x0060| 82 | . | size: 2 0x67-0x67.7 (1) 0x0060| 01 41 | .A | value: 321 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv mpeg2.mkv 0x0060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x0060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x0070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x0070| 82 | . | size: 2 0x76-0x76.7 (1) 0x0070| 21 7a | !z | value: 8570 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv mpeg2.mkv 0x00f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x0100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x0100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x0100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x0100| 90 | . | size: 16 0x109-0x109.7 (1) 0x0100| 97 68 53 5b 2a ea| .hS[*.| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv mpeg2.mkv 0x0140| 81 | . | size: 1 0x148-0x148.7 (1) 0x0140| 00 | . | value: 0 0x149-0x149.7 (1) | | | [3]{}: element 0x14a-0x150.7 (7) -0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) +0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) | | | type: "string" 0x14d-NA (0) 0x0140| 83 | . | size: 3 0x14d-0x14d.7 (1) 0x0140| 75 6e| un| value: "und" 0x14e-0x150.7 (3) 0x0150|64 |d | | | | [4]{}: element 0x151-0x159.7 (9) -0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x151-0x151.7 (1) +0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x151-0x151.7 (1) | | | type: "string" 0x152-NA (0) 0x0150| 87 | . | size: 7 0x152-0x152.7 (1) 0x0150| 56 5f 4d 50 45 47 32 | V_MPEG2 | value: "V_MPEG2" 0x153-0x159.7 (7) @@ -234,7 +234,7 @@ $ fq -d matroska dv mpeg2.mkv 0x0170| 81 | . | size: 1 0x173-0x173.7 (1) 0x0170| f0 | . | value: 240 0x174-0x174.7 (1) | | | [4]{}: element 0x175-0x21d.7 (169) -0x0170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0x175-0x178.7 (4) +0x0170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0x175-0x178.7 (4) | | | type: "master" 0x179-NA (0) 0x0170| 40 a3 | @. | size: 163 0x179-0x17a.7 (2) | | | elements[0:3]: 0x17b-0x21d.7 (163) @@ -396,7 +396,7 @@ $ fq -d matroska dv mpeg2.mkv 0x21c0| 81 | . | size: 1 0x21c1-0x21c1.7 (1) 0x21c0| 01 | . | value: 1 0x21c2-0x21c2.7 (1) | | | [1]{}: element 0x21c3-0x21c6.7 (4) -0x21c0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x21c3-0x21c3.7 (1) +0x21c0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x21c3-0x21c3.7 (1) | | | type: "uinteger" 0x21c4-NA (0) 0x21c0| 82 | . | size: 2 0x21c4-0x21c4.7 (1) 0x21c0| 01 ea | .. | value: 490 0x21c5-0x21c6.7 (2) diff --git a/format/matroska/testdata/opus.fqtest b/format/matroska/testdata/opus.fqtest index c9639e73..63508c09 100644 --- a/format/matroska/testdata/opus.fqtest +++ b/format/matroska/testdata/opus.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv opus.mkv 0x030|00 00 03 b9 |.... | | | | elements[0:7]: 0x34-0x3ec.7 (953) | | | [0]{}: element 0x34-0x78.7 (69) -0x030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv opus.mkv 0x040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x040| 84 | . | size: 4 0x44-0x44.7 (1) 0x040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv opus.mkv 0x040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x050| 84 | . | size: 4 0x52-0x52.7 (1) 0x050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x050| 81 | . | size: 1 0x59-0x59.7 (1) 0x050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv opus.mkv 0x050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x060|84 |. | size: 4 0x60-0x60.7 (1) 0x060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x060| 82 | . | size: 2 0x67-0x67.7 (1) 0x060| 01 5e | .^ | value: 350 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv opus.mkv 0x060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x070| 82 | . | size: 2 0x76-0x76.7 (1) 0x070| 03 9d | .. | value: 925 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv opus.mkv 0x0f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x100| 90 | . | size: 16 0x109-0x109.7 (1) 0x100| a0 33 a6 65 a7 8d| .3.e..| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv opus.mkv 0x140| 81 | . | size: 1 0x148-0x148.7 (1) 0x140| 00 | . | value: 0 0x149-0x149.7 (1) | | | [3]{}: element 0x14a-0x150.7 (7) -0x140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) +0x140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) | | | type: "string" 0x14d-NA (0) 0x140| 83 | . | size: 3 0x14d-0x14d.7 (1) 0x140| 75 6e| un| value: "und" 0x14e-0x150.7 (3) 0x150|64 |d | | | | [4]{}: element 0x151-0x158.7 (8) -0x150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x151-0x151.7 (1) +0x150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x151-0x151.7 (1) | | | type: "string" 0x152-NA (0) 0x150| 86 | . | size: 6 0x152-0x152.7 (1) 0x150| 41 5f 4f 50 55 53 | A_OPUS | value: "A_OPUS" 0x153-0x158.7 (6) @@ -260,7 +260,7 @@ $ fq -d matroska dv opus.mkv 0x190|00 |. | 0x190| 00 | . | map_family: 0 0x191-0x191.7 (1) | | | [4]{}: element 0x192-0x234.7 (163) -0x190| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0x192-0x195.7 (4) +0x190| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0x192-0x195.7 (4) | | | type: "master" 0x196-NA (0) 0x190| 40 9d | @. | size: 157 0x196-0x197.7 (2) | | | elements[0:3]: 0x198-0x234.7 (157) @@ -487,7 +487,7 @@ $ fq -d matroska dv opus.mkv 0x3e0| 81 | . | size: 1 0x3e4-0x3e4.7 (1) 0x3e0| 01 | . | value: 1 0x3e5-0x3e5.7 (1) | | | [1]{}: element 0x3e6-0x3e9.7 (4) -0x3e0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x3e6-0x3e6.7 (1) +0x3e0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x3e6-0x3e6.7 (1) | | | type: "uinteger" 0x3e7-NA (0) 0x3e0| 82 | . | size: 2 0x3e7-0x3e7.7 (1) 0x3e0| 02 01 | .. | value: 513 0x3e8-0x3e9.7 (2) diff --git a/format/matroska/testdata/sweep-with-DC.mkvmerge13.mka.fqtest b/format/matroska/testdata/sweep-with-DC.mkvmerge13.mka.fqtest index d69ce63a..2a1275a0 100644 --- a/format/matroska/testdata/sweep-with-DC.mkvmerge13.mka.fqtest +++ b/format/matroska/testdata/sweep-with-DC.mkvmerge13.mka.fqtest @@ -51,7 +51,7 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x0030|00 00 48 4b |..HK | | | | elements[0:11]: 0x34-0x487e.7 (18507) | | | [0]{}: element 0x34-0x74.7 (65) -0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x0030| bc | . | size: 60 0x38-0x38.7 (1) | | | elements[0:4]: 0x39-0x74.7 (60) @@ -61,13 +61,13 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x0030| 8c | . | size: 12 0x3b-0x3b.7 (1) | | | elements[0:2]: 0x3c-0x47.7 (12) | | | [0]{}: element 0x3c-0x42.7 (7) -0x0030| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x3c-0x3d.7 (2) +0x0030| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x3c-0x3d.7 (2) | | | type: "binary" 0x3e-NA (0) 0x0030| 84 | . | size: 4 0x3e-0x3e.7 (1) 0x0030| 15| .| value: raw bits 0x3f-0x42.7 (4) 0x0040|49 a9 66 |I.f | | | | [1]{}: element 0x43-0x47.7 (5) -0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x43-0x44.7 (2) +0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x43-0x44.7 (2) | | | type: "uinteger" 0x45-NA (0) 0x0040| 82 | . | size: 2 0x45-0x45.7 (1) 0x0040| 10 03 | .. | value: 4099 0x46-0x47.7 (2) @@ -77,13 +77,13 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x0040| 8c | . | size: 12 0x4a-0x4a.7 (1) | | | elements[0:2]: 0x4b-0x56.7 (12) | | | [0]{}: element 0x4b-0x51.7 (7) -0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x4b-0x4c.7 (2) +0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x4b-0x4c.7 (2) | | | type: "binary" 0x4d-NA (0) 0x0040| 84 | . | size: 4 0x4d-0x4d.7 (1) 0x0040| 16 54| .T| value: raw bits 0x4e-0x51.7 (4) 0x0050|ae 6b |.k | | | | [1]{}: element 0x52-0x56.7 (5) -0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x52-0x53.7 (2) +0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x52-0x53.7 (2) | | | type: "uinteger" 0x54-NA (0) 0x0050| 82 | . | size: 2 0x54-0x54.7 (1) 0x0050| 10 8f | .. | value: 4239 0x55-0x56.7 (2) @@ -93,13 +93,13 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x0050| 8c | . | size: 12 0x59-0x59.7 (1) | | | elements[0:2]: 0x5a-0x65.7 (12) | | | [0]{}: element 0x5a-0x60.7 (7) -0x0050| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5a-0x5b.7 (2) +0x0050| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5a-0x5b.7 (2) | | | type: "binary" 0x5c-NA (0) 0x0050| 84 | . | size: 4 0x5c-0x5c.7 (1) 0x0050| 1c 53 bb| .S.| value: raw bits 0x5d-0x60.7 (4) 0x0060|6b |k | | | | [1]{}: element 0x61-0x65.7 (5) -0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x61-0x62.7 (2) +0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x61-0x62.7 (2) | | | type: "uinteger" 0x63-NA (0) 0x0060| 82 | . | size: 2 0x63-0x63.7 (1) 0x0060| 46 41 | FA | value: 17985 0x64-0x65.7 (2) @@ -109,12 +109,12 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x0060| 8c | . | size: 12 0x68-0x68.7 (1) | | | elements[0:2]: 0x69-0x74.7 (12) | | | [0]{}: element 0x69-0x6f.7 (7) -0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x69-0x6a.7 (2) +0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x69-0x6a.7 (2) | | | type: "binary" 0x6b-NA (0) 0x0060| 84 | . | size: 4 0x6b-0x6b.7 (1) 0x0060| 12 54 c3 67| .T.g| value: raw bits 0x6c-0x6f.7 (4) | | | [1]{}: element 0x70-0x74.7 (5) -0x0070|53 ac |S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x70-0x71.7 (2) +0x0070|53 ac |S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x70-0x71.7 (2) | | | type: "uinteger" 0x72-NA (0) 0x0070| 82 | . | size: 2 0x72-0x72.7 (1) 0x0070| 46 a2 | F. | value: 18082 0x73-0x74.7 (2) @@ -161,7 +161,7 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x10a0| 88 | . | size: 8 0x10a7-0x10a7.7 (1) 0x10a0| 09 7b f0 a0 97 43 d2 00| .{...C..| value: raw bits 0x10a8-0x10af.7 (8) | | | [5]{}: element 0x10b0-0x10c2.7 (19) -0x10b0|73 a4 |s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x10b0-0x10b1.7 (2) +0x10b0|73 a4 |s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x10b0-0x10b1.7 (2) | | | type: "binary" 0x10b2-NA (0) 0x10b0| 90 | . | size: 16 0x10b2-0x10b2.7 (1) 0x10b0| 3b 9f 28 c7 c4 90 8a e0 cd 66 8f 11 8f| ;.(......f...| value: raw bits 0x10b3-0x10c2.7 (16) @@ -193,7 +193,7 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x10d0| 81 | . | size: 1 0x10db-0x10db.7 (1) 0x10d0| 02 | . | value: "audio" (2) (Audio samples.) 0x10dc-0x10dc.7 (1) | | | [3]{}: element 0x10dd-0x10e4.7 (8) -0x10d0| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x10dd-0x10dd.7 (1) +0x10d0| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x10dd-0x10dd.7 (1) | | | type: "string" 0x10de-NA (0) 0x10d0| 86 | . | size: 6 0x10de-0x10de.7 (1) 0x10d0| 41| A| value: "A_FLAC" 0x10df-0x10e4.7 (6) @@ -254,12 +254,12 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x1170| 84 | . | size: 4 0x1171-0x1171.7 (1) 0x1170| 02 6c 0a 28 | .l.( | value: 40634920 0x1172-0x1175.7 (4) | | | [6]{}: element 0x1176-0x117c.7 (7) -0x1170| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x1176-0x1178.7 (3) +0x1170| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x1176-0x1178.7 (3) | | | type: "string" 0x1179-NA (0) 0x1170| 83 | . | size: 3 0x1179-0x1179.7 (1) 0x1170| 75 6e 64 | und | value: "und" 0x117a-0x117c.7 (3) | | | [7]{}: element 0x117d-0x1183.7 (7) -0x1170| 22 b5 9d| "..| id: "language_ietf" (0x22b59d) (Specifies the language of the track according to [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If this Element is used, then any Language Elements used in the same TrackEntry **MUST** be ignored.) 0x117d-0x117f.7 (3) +0x1170| 22 b5 9d| "..| id: "language_bcp47" (0x22b59d) (The language of the track, in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any Language Elements used in the same TrackEntry **MUST** be ignored.) 0x117d-0x117f.7 (3) | | | type: "string" 0x1180-NA (0) 0x1180|83 |. | size: 3 0x1180-0x1180.7 (1) 0x1180| 75 6e 64 | und | value: "und" 0x1181-0x1183.7 (3) @@ -2957,7 +2957,7 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x4680| 81 | . | size: 1 0x4682-0x4682.7 (1) 0x4680| 01 | . | value: 1 0x4683-0x4683.7 (1) | | | [1]{}: element 0x4684-0x4687.7 (4) -0x4680| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x4684-0x4684.7 (1) +0x4680| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x4684-0x4684.7 (1) | | | type: "uinteger" 0x4685-NA (0) 0x4680| 82 | . | size: 2 0x4685-0x4685.7 (1) 0x4680| 15 86 | .. | value: 5510 0x4686-0x4687.7 (2) @@ -2988,7 +2988,7 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x4690| 81 | . | size: 1 0x4694-0x4694.7 (1) 0x4690| 01 | . | value: 1 0x4695-0x4695.7 (1) | | | [1]{}: element 0x4696-0x4699.7 (4) -0x4690| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x4696-0x4696.7 (1) +0x4690| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x4696-0x4696.7 (1) | | | type: "uinteger" 0x4697-NA (0) 0x4690| 82 | . | size: 2 0x4697-0x4697.7 (1) 0x4690| 15 86 | .. | value: 5510 0x4698-0x4699.7 (2) @@ -3018,7 +3018,7 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x46a0| 81 | . | size: 1 0x46a6-0x46a6.7 (1) 0x46a0| 01 | . | value: 1 0x46a7-0x46a7.7 (1) | | | [1]{}: element 0x46a8-0x46ab.7 (4) -0x46a0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x46a8-0x46a8.7 (1) +0x46a0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x46a8-0x46a8.7 (1) | | | type: "uinteger" 0x46a9-NA (0) 0x46a0| 82 | . | size: 2 0x46a9-0x46a9.7 (1) 0x46a0| 19 46 | .F | value: 6470 0x46aa-0x46ab.7 (2) @@ -3048,7 +3048,7 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x46b0| 81 | . | size: 1 0x46b9-0x46b9.7 (1) 0x46b0| 01 | . | value: 1 0x46ba-0x46ba.7 (1) | | | [1]{}: element 0x46bb-0x46be.7 (4) -0x46b0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x46bb-0x46bb.7 (1) +0x46b0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x46bb-0x46bb.7 (1) | | | type: "uinteger" 0x46bc-NA (0) 0x46b0| 82 | . | size: 2 0x46bc-0x46bc.7 (1) 0x46b0| 2b 6b | +k | value: 11115 0x46bd-0x46be.7 (2) @@ -3078,7 +3078,7 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x46c0| 81 | . | size: 1 0x46cc-0x46cc.7 (1) 0x46c0| 01 | . | value: 1 0x46cd-0x46cd.7 (1) | | | [1]{}: element 0x46ce-0x46d1.7 (4) -0x46c0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x46ce-0x46ce.7 (1) +0x46c0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x46ce-0x46ce.7 (1) | | | type: "uinteger" 0x46cf-NA (0) 0x46c0| 82| .| size: 2 0x46cf-0x46cf.7 (1) 0x46d0|2b 6b |+k | value: 11115 0x46d0-0x46d1.7 (2) @@ -3088,7 +3088,7 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x46d0| 82 | . | size: 2 0x46d3-0x46d3.7 (1) 0x46d0| 07 d6 | .. | value: 2006 0x46d4-0x46d5.7 (2) | | | [10]{}: element 0x46d6-0x487e.7 (425) -0x46d0| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0x46d6-0x46d9.7 (4) +0x46d0| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0x46d6-0x46d9.7 (4) | | | type: "master" 0x46da-NA (0) 0x46d0| 41 a3 | A. | size: 419 0x46da-0x46db.7 (2) | | | elements[0:1]: 0x46dc-0x487e.7 (419) @@ -3114,10 +3114,10 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x46e0| 34 a9 ce 93 aa 66| 4....f| value: 3794791294650729286 0x46ea-0x46f1.7 (8) 0x46f0|c3 46 |.F | | | | [2]{}: element 0x46f2-0x46f9.7 (8) -0x46f0| 63 ca | c. | id: "target_type" (0x63ca) (An informational string that can be used to display the logical level of the target like "ALBUM", "TRACK", "MOVIE", "CHAPTER", etc ; see Section 6.4 of [@!MatroskaTags].) 0x46f2-0x46f3.7 (2) +0x46f0| 63 ca | c. | id: "target_type" (0x63ca) (An informational string that can be used to display the logical level of the target like "ALBUM", "TRACK", "MOVIE", "CHAPTER", etc ; see Section 6.4 of [@?MatroskaTags].) 0x46f2-0x46f3.7 (2) | | | type: "string" 0x46f4-NA (0) 0x46f0| 85 | . | size: 5 0x46f4-0x46f4.7 (1) -0x46f0| 4d 4f 56 49 45 | MOVIE | value: "movie" ("MOVIE") 0x46f5-0x46f9.7 (5) +0x46f0| 4d 4f 56 49 45 | MOVIE | value: "targettypevalue_50" ("MOVIE") 0x46f5-0x46f9.7 (5) | | | [1]{}: element 0x46fa-0x4715.7 (28) 0x46f0| 67 c8 | g. | id: "simple_tag" (0x67c8) (Contains general information about the target.) 0x46fa-0x46fb.7 (2) | | | type: "master" 0x46fc-NA (0) @@ -3134,13 +3134,13 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x4700| 85 | . | size: 5 0x4705-0x4705.7 (1) 0x4700| 33 37 37 34 37 | 37747 | value: "37747" 0x4706-0x470a.7 (5) | | | [2]{}: element 0x470b-0x4710.7 (6) -0x4700| 44 7a | Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageIETF Element is used within the same SimpleTag Element.) 0x470b-0x470c.7 (2) +0x4700| 44 7a | Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageBCP47 Element is used within the same SimpleTag Element.) 0x470b-0x470c.7 (2) | | | type: "string" 0x470d-NA (0) 0x4700| 83 | . | size: 3 0x470d-0x470d.7 (1) 0x4700| 65 6e| en| value: "eng" 0x470e-0x4710.7 (3) 0x4710|67 |g | | | | [3]{}: element 0x4711-0x4715.7 (5) -0x4710| 44 7b | D{ | id: "tag_language_ietf" (0x447b) (Specifies the language used in the TagString according to [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x4711-0x4712.7 (2) +0x4710| 44 7b | D{ | id: "tag_language_bcp47" (0x447b) (The language used in the TagString, in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x4711-0x4712.7 (2) | | | type: "string" 0x4713-NA (0) 0x4710| 82 | . | size: 2 0x4713-0x4713.7 (1) 0x4710| 65 6e | en | value: "en" 0x4714-0x4715.7 (2) @@ -3162,12 +3162,12 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x4720| 30 30 3a 30 30 3a 30 32 2e| 00:00:02.| value: "00:00:02.607714066" 0x4727-0x4738.7 (18) 0x4730|36 30 37 37 31 34 30 36 36 |607714066 | | | | [2]{}: element 0x4739-0x473e.7 (6) -0x4730| 44 7a | Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageIETF Element is used within the same SimpleTag Element.) 0x4739-0x473a.7 (2) +0x4730| 44 7a | Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageBCP47 Element is used within the same SimpleTag Element.) 0x4739-0x473a.7 (2) | | | type: "string" 0x473b-NA (0) 0x4730| 83 | . | size: 3 0x473b-0x473b.7 (1) 0x4730| 65 6e 67 | eng | value: "eng" 0x473c-0x473e.7 (3) | | | [3]{}: element 0x473f-0x4743.7 (5) -0x4730| 44| D| id: "tag_language_ietf" (0x447b) (Specifies the language used in the TagString according to [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x473f-0x4740.7 (2) +0x4730| 44| D| id: "tag_language_bcp47" (0x447b) (The language used in the TagString, in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x473f-0x4740.7 (2) 0x4740|7b |{ | | | | type: "string" 0x4741-NA (0) 0x4740| 82 | . | size: 2 0x4741-0x4741.7 (1) @@ -3189,13 +3189,13 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x4750| 82 | . | size: 2 0x475c-0x475c.7 (1) 0x4750| 36 35 | 65 | value: "65" 0x475d-0x475e.7 (2) | | | [2]{}: element 0x475f-0x4764.7 (6) -0x4750| 44| D| id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageIETF Element is used within the same SimpleTag Element.) 0x475f-0x4760.7 (2) +0x4750| 44| D| id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageBCP47 Element is used within the same SimpleTag Element.) 0x475f-0x4760.7 (2) 0x4760|7a |z | | | | type: "string" 0x4761-NA (0) 0x4760| 83 | . | size: 3 0x4761-0x4761.7 (1) 0x4760| 65 6e 67 | eng | value: "eng" 0x4762-0x4764.7 (3) | | | [3]{}: element 0x4765-0x4769.7 (5) -0x4760| 44 7b | D{ | id: "tag_language_ietf" (0x447b) (Specifies the language used in the TagString according to [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x4765-0x4766.7 (2) +0x4760| 44 7b | D{ | id: "tag_language_bcp47" (0x447b) (The language used in the TagString, in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x4765-0x4766.7 (2) | | | type: "string" 0x4767-NA (0) 0x4760| 82 | . | size: 2 0x4767-0x4767.7 (1) 0x4760| 65 6e | en | value: "en" 0x4768-0x4769.7 (2) @@ -3216,12 +3216,12 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x4780| 85 | . | size: 5 0x4781-0x4781.7 (1) 0x4780| 31 32 33 30 31 | 12301 | value: "12301" 0x4782-0x4786.7 (5) | | | [2]{}: element 0x4787-0x478c.7 (6) -0x4780| 44 7a | Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageIETF Element is used within the same SimpleTag Element.) 0x4787-0x4788.7 (2) +0x4780| 44 7a | Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageBCP47 Element is used within the same SimpleTag Element.) 0x4787-0x4788.7 (2) | | | type: "string" 0x4789-NA (0) 0x4780| 83 | . | size: 3 0x4789-0x4789.7 (1) 0x4780| 65 6e 67 | eng | value: "eng" 0x478a-0x478c.7 (3) | | | [3]{}: element 0x478d-0x4791.7 (5) -0x4780| 44 7b | D{ | id: "tag_language_ietf" (0x447b) (Specifies the language used in the TagString according to [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x478d-0x478e.7 (2) +0x4780| 44 7b | D{ | id: "tag_language_bcp47" (0x447b) (The language used in the TagString, in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x478d-0x478e.7 (2) | | | type: "string" 0x478f-NA (0) 0x4780| 82| .| size: 2 0x478f-0x478f.7 (1) 0x4790|65 6e |en | value: "en" 0x4790-0x4791.7 (2) @@ -3245,12 +3245,12 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x47c0|2e 30 20 28 27 53 65 63 72 65 74 20 46 6f 72 20|.0 ('Secret For | 0x47d0|54 68 65 20 4d 61 64 27 29 20 36 34 2d 62 69 74|The Mad') 64-bit| | | | [2]{}: element 0x47e0-0x47e5.7 (6) -0x47e0|44 7a |Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageIETF Element is used within the same SimpleTag Element.) 0x47e0-0x47e1.7 (2) +0x47e0|44 7a |Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageBCP47 Element is used within the same SimpleTag Element.) 0x47e0-0x47e1.7 (2) | | | type: "string" 0x47e2-NA (0) 0x47e0| 83 | . | size: 3 0x47e2-0x47e2.7 (1) 0x47e0| 65 6e 67 | eng | value: "eng" 0x47e3-0x47e5.7 (3) | | | [3]{}: element 0x47e6-0x47ea.7 (5) -0x47e0| 44 7b | D{ | id: "tag_language_ietf" (0x447b) (Specifies the language used in the TagString according to [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x47e6-0x47e7.7 (2) +0x47e0| 44 7b | D{ | id: "tag_language_bcp47" (0x447b) (The language used in the TagString, in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x47e6-0x47e7.7 (2) | | | type: "string" 0x47e8-NA (0) 0x47e0| 82 | . | size: 2 0x47e8-0x47e8.7 (1) 0x47e0| 65 6e | en | value: "en" 0x47e9-0x47ea.7 (2) @@ -3272,12 +3272,12 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x4810|32 30 32 32 2d 30 38 2d 32 38 20 31 38 3a 33 32|2022-08-28 18:32| value: "2022-08-28 18:32:21" 0x4810-0x4822.7 (19) 0x4820|3a 32 31 |:21 | | | | [2]{}: element 0x4823-0x4828.7 (6) -0x4820| 44 7a | Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageIETF Element is used within the same SimpleTag Element.) 0x4823-0x4824.7 (2) +0x4820| 44 7a | Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageBCP47 Element is used within the same SimpleTag Element.) 0x4823-0x4824.7 (2) | | | type: "string" 0x4825-NA (0) 0x4820| 83 | . | size: 3 0x4825-0x4825.7 (1) 0x4820| 65 6e 67 | eng | value: "eng" 0x4826-0x4828.7 (3) | | | [3]{}: element 0x4829-0x482d.7 (5) -0x4820| 44 7b | D{ | id: "tag_language_ietf" (0x447b) (Specifies the language used in the TagString according to [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x4829-0x482a.7 (2) +0x4820| 44 7b | D{ | id: "tag_language_bcp47" (0x447b) (The language used in the TagString, in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x4829-0x482a.7 (2) | | | type: "string" 0x482b-NA (0) 0x4820| 82 | . | size: 2 0x482b-0x482b.7 (1) 0x4820| 65 6e | en | value: "en" 0x482c-0x482d.7 (2) @@ -3300,12 +3300,12 @@ $ fq dv sweep-with-DC.mkvmerge13.mka 0x4850|49 4f 4e 20 4e 55 4d 42 45 52 5f 4f 46 5f 46 52|ION NUMBER_OF_FR| * |until 0x4873.7 (45) | | | | | [2]{}: element 0x4874-0x4879.7 (6) -0x4870| 44 7a | Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageIETF Element is used within the same SimpleTag Element.) 0x4874-0x4875.7 (2) +0x4870| 44 7a | Dz | id: "tag_language" (0x447a) (Specifies the language of the tag specified, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the TagLanguageBCP47 Element is used within the same SimpleTag Element.) 0x4874-0x4875.7 (2) | | | type: "string" 0x4876-NA (0) 0x4870| 83 | . | size: 3 0x4876-0x4876.7 (1) 0x4870| 65 6e 67 | eng | value: "eng" 0x4877-0x4879.7 (3) | | | [3]{}: element 0x487a-0x487e.7 (5) -0x4870| 44 7b | D{ | id: "tag_language_ietf" (0x447b) (Specifies the language used in the TagString according to [@!BCP47] and using the IANA Language Subtag Registry [@!IANALangRegistry]. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x487a-0x487b.7 (2) +0x4870| 44 7b | D{ | id: "tag_language_bcp47" (0x447b) (The language used in the TagString, in the [@!BCP47] form; see (#language-codes) on language codes. If this Element is used, then any TagLanguage Elements used in the same SimpleTag **MUST** be ignored.) 0x487a-0x487b.7 (2) | | | type: "string" 0x487c-NA (0) 0x4870| 82 | . | size: 2 0x487c-0x487c.7 (1) 0x4870| 65 6e| | en|| value: "en" 0x487d-0x487e.7 (2) diff --git a/format/matroska/testdata/vorbis.fqtest b/format/matroska/testdata/vorbis.fqtest index 381b2768..d89a724a 100644 --- a/format/matroska/testdata/vorbis.fqtest +++ b/format/matroska/testdata/vorbis.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv vorbis.mkv 0x0030|00 00 10 c7 |.... | | | | elements[0:7]: 0x34-0x10fa.7 (4295) | | | [0]{}: element 0x34-0x78.7 (69) -0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x0030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv vorbis.mkv 0x0040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x0040| 84 | . | size: 4 0x44-0x44.7 (1) 0x0040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x0040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x0040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv vorbis.mkv 0x0040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x0050| 84 | . | size: 4 0x52-0x52.7 (1) 0x0050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x0050| 81 | . | size: 1 0x59-0x59.7 (1) 0x0050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv vorbis.mkv 0x0050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x0060|84 |. | size: 4 0x60-0x60.7 (1) 0x0060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x0060| 82 | . | size: 2 0x67-0x67.7 (1) 0x0060| 0e 22 | ." | value: 3618 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv vorbis.mkv 0x0060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x0060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x0070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x0070| 82 | . | size: 2 0x76-0x76.7 (1) 0x0070| 10 ab | .. | value: 4267 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv vorbis.mkv 0x00f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x0100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x0100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x0100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x0100| 90 | . | size: 16 0x109-0x109.7 (1) 0x0100| 55 86 bb 9d 18 21| U....!| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv vorbis.mkv 0x0140| 81 | . | size: 1 0x149-0x149.7 (1) 0x0140| 00 | . | value: 0 0x14a-0x14a.7 (1) | | | [3]{}: element 0x14b-0x151.7 (7) -0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14b-0x14d.7 (3) +0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14b-0x14d.7 (3) | | | type: "string" 0x14e-NA (0) 0x0140| 83 | . | size: 3 0x14e-0x14e.7 (1) 0x0140| 75| u| value: "und" 0x14f-0x151.7 (3) 0x0150|6e 64 |nd | | | | [4]{}: element 0x152-0x15b.7 (10) -0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x152-0x152.7 (1) +0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x152-0x152.7 (1) | | | type: "string" 0x153-NA (0) 0x0150| 88 | . | size: 8 0x153-0x153.7 (1) 0x0150| 41 5f 56 4f 52 42 49 53 | A_VORBIS | value: "A_VORBIS" 0x154-0x15b.7 (8) @@ -279,7 +279,7 @@ $ fq -d matroska dv vorbis.mkv 0x01c0|86 81 d0 90 95 00 00 02 00 00 60 84 22 0c 31 20|..........`.".1 | * |until 0xe55.7 (3231) | | | | | [4]{}: element 0xe56-0xefa.7 (165) -0x0e50| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0xe56-0xe59.7 (4) +0x0e50| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0xe56-0xe59.7 (4) | | | type: "master" 0xe5a-NA (0) 0x0e50| 40 9f | @. | size: 159 0xe5a-0xe5b.7 (2) | | | elements[0:3]: 0xe5c-0xefa.7 (159) @@ -476,7 +476,7 @@ $ fq -d matroska dv vorbis.mkv 0x10f0| 81 | . | size: 1 0x10f2-0x10f2.7 (1) 0x10f0| 01 | . | value: 1 0x10f3-0x10f3.7 (1) | | | [1]{}: element 0x10f4-0x10f7.7 (4) -0x10f0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x10f4-0x10f4.7 (1) +0x10f0| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x10f4-0x10f4.7 (1) | | | type: "uinteger" 0x10f5-NA (0) 0x10f0| 82 | . | size: 2 0x10f5-0x10f5.7 (1) 0x10f0| 0e c7 | .. | value: 3783 0x10f6-0x10f7.7 (2) diff --git a/format/matroska/testdata/vp8.fqtest b/format/matroska/testdata/vp8.fqtest index b1b454a0..fad18561 100644 --- a/format/matroska/testdata/vp8.fqtest +++ b/format/matroska/testdata/vp8.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv vp8.mkv 0x0030|00 00 14 58 |...X | | | | elements[0:7]: 0x34-0x148b.7 (5208) | | | [0]{}: element 0x34-0x78.7 (69) -0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x0030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv vp8.mkv 0x0040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x0040| 84 | . | size: 4 0x44-0x44.7 (1) 0x0040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x0040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x0040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv vp8.mkv 0x0040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x0050| 84 | . | size: 4 0x52-0x52.7 (1) 0x0050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x0050| 81 | . | size: 1 0x59-0x59.7 (1) 0x0050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv vp8.mkv 0x0050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x0060|84 |. | size: 4 0x60-0x60.7 (1) 0x0060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x0060| 82 | . | size: 2 0x67-0x67.7 (1) 0x0060| 01 3f | .? | value: 319 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv vp8.mkv 0x0060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x0060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x0070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x0070| 82 | . | size: 2 0x76-0x76.7 (1) 0x0070| 14 3c | .< | value: 5180 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv vp8.mkv 0x00f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x0100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x0100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x0100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x0100| 90 | . | size: 16 0x109-0x109.7 (1) 0x0100| b6 f7 5d 8a 6f c3| ..].o.| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv vp8.mkv 0x0140| 81 | . | size: 1 0x148-0x148.7 (1) 0x0140| 00 | . | value: 0 0x149-0x149.7 (1) | | | [3]{}: element 0x14a-0x150.7 (7) -0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) +0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) | | | type: "string" 0x14d-NA (0) 0x0140| 83 | . | size: 3 0x14d-0x14d.7 (1) 0x0140| 75 6e| un| value: "und" 0x14e-0x150.7 (3) 0x0150|64 |d | | | | [4]{}: element 0x151-0x157.7 (7) -0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x151-0x151.7 (1) +0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x151-0x151.7 (1) | | | type: "string" 0x152-NA (0) 0x0150| 85 | . | size: 5 0x152-0x152.7 (1) 0x0150| 56 5f 56 50 38 | V_VP8 | value: "V_VP8" 0x153-0x157.7 (5) @@ -235,7 +235,7 @@ $ fq -d matroska dv vp8.mkv 0x0170| 81 | . | size: 1 0x171-0x171.7 (1) 0x0170| f0 | . | value: 240 0x172-0x172.7 (1) | | | [4]{}: element 0x173-0x217.7 (165) -0x0170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0x173-0x176.7 (4) +0x0170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0x173-0x176.7 (4) | | | type: "master" 0x177-NA (0) 0x0170| 40 9f | @. | size: 159 0x177-0x178.7 (2) | | | elements[0:3]: 0x179-0x217.7 (159) @@ -402,7 +402,7 @@ $ fq -d matroska dv vp8.mkv 0x1480| 81 | . | size: 1 0x1483-0x1483.7 (1) 0x1480| 01 | . | value: 1 0x1484-0x1484.7 (1) | | | [1]{}: element 0x1485-0x1488.7 (4) -0x1480| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x1485-0x1485.7 (1) +0x1480| f1 | . | id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x1485-0x1485.7 (1) | | | type: "uinteger" 0x1486-NA (0) 0x1480| 82 | . | size: 2 0x1486-0x1486.7 (1) 0x1480| 01 e4 | .. | value: 484 0x1487-0x1488.7 (2) diff --git a/format/matroska/testdata/vp9.fqtest b/format/matroska/testdata/vp9.fqtest index 4a335856..cc4508fe 100644 --- a/format/matroska/testdata/vp9.fqtest +++ b/format/matroska/testdata/vp9.fqtest @@ -49,7 +49,7 @@ $ fq -d matroska dv vp9.mkv 0x0030|00 00 17 52 |...R | | | | elements[0:7]: 0x34-0x1785.7 (5970) | | | [0]{}: element 0x34-0x78.7 (69) -0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains the Segment Position of other Top-Level Elements.) 0x34-0x37.7 (4) +0x0030| 11 4d 9b 74 | .M.t | id: "seek_head" (0x114d9b74) (Contains seeking information of Top-Level Elements; see (#data-layout).) 0x34-0x37.7 (4) | | | type: "master" 0x38-NA (0) 0x0030| c0 | . | size: 64 0x38-0x38.7 (1) | | | elements[0:5]: 0x39-0x78.7 (64) @@ -65,12 +65,12 @@ $ fq -d matroska dv vp9.mkv 0x0040| 8b | . | size: 11 0x41-0x41.7 (1) | | | elements[0:2]: 0x42-0x4c.7 (11) | | | [0]{}: element 0x42-0x48.7 (7) -0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x42-0x43.7 (2) +0x0040| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x42-0x43.7 (2) | | | type: "binary" 0x44-NA (0) 0x0040| 84 | . | size: 4 0x44-0x44.7 (1) 0x0040| 15 49 a9 66 | .I.f | value: raw bits 0x45-0x48.7 (4) | | | [1]{}: element 0x49-0x4c.7 (4) -0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x49-0x4a.7 (2) +0x0040| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x49-0x4a.7 (2) | | | type: "uinteger" 0x4b-NA (0) 0x0040| 81 | . | size: 1 0x4b-0x4b.7 (1) 0x0040| a1 | . | value: 161 0x4c-0x4c.7 (1) @@ -80,12 +80,12 @@ $ fq -d matroska dv vp9.mkv 0x0040| 8b| .| size: 11 0x4f-0x4f.7 (1) | | | elements[0:2]: 0x50-0x5a.7 (11) | | | [0]{}: element 0x50-0x56.7 (7) -0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x50-0x51.7 (2) +0x0050|53 ab |S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x50-0x51.7 (2) | | | type: "binary" 0x52-NA (0) 0x0050| 84 | . | size: 4 0x52-0x52.7 (1) 0x0050| 16 54 ae 6b | .T.k | value: raw bits 0x53-0x56.7 (4) | | | [1]{}: element 0x57-0x5a.7 (4) -0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x57-0x58.7 (2) +0x0050| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x57-0x58.7 (2) | | | type: "uinteger" 0x59-NA (0) 0x0050| 81 | . | size: 1 0x59-0x59.7 (1) 0x0050| f1 | . | value: 241 0x5a-0x5a.7 (1) @@ -95,12 +95,12 @@ $ fq -d matroska dv vp9.mkv 0x0050| 8c | . | size: 12 0x5d-0x5d.7 (1) | | | elements[0:2]: 0x5e-0x69.7 (12) | | | [0]{}: element 0x5e-0x64.7 (7) -0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x5e-0x5f.7 (2) +0x0050| 53 ab| S.| id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x5e-0x5f.7 (2) | | | type: "binary" 0x60-NA (0) 0x0060|84 |. | size: 4 0x60-0x60.7 (1) 0x0060| 12 54 c3 67 | .T.g | value: raw bits 0x61-0x64.7 (4) | | | [1]{}: element 0x65-0x69.7 (5) -0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x65-0x66.7 (2) +0x0060| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x65-0x66.7 (2) | | | type: "uinteger" 0x67-NA (0) 0x0060| 82 | . | size: 2 0x67-0x67.7 (1) 0x0060| 01 3f | .? | value: 319 0x68-0x69.7 (2) @@ -110,12 +110,12 @@ $ fq -d matroska dv vp9.mkv 0x0060| 8c | . | size: 12 0x6c-0x6c.7 (1) | | | elements[0:2]: 0x6d-0x78.7 (12) | | | [0]{}: element 0x6d-0x73.7 (7) -0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary ID corresponding to the Element name.) 0x6d-0x6e.7 (2) +0x0060| 53 ab | S. | id: "seek_id" (0x53ab) (The binary EBML ID of a Top-Level Element.) 0x6d-0x6e.7 (2) | | | type: "binary" 0x6f-NA (0) 0x0060| 84| .| size: 4 0x6f-0x6f.7 (1) 0x0070|1c 53 bb 6b |.S.k | value: raw bits 0x70-0x73.7 (4) | | | [1]{}: element 0x74-0x78.7 (5) -0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position of the Element.) 0x74-0x75.7 (2) +0x0070| 53 ac | S. | id: "seek_position" (0x53ac) (The Segment Position ((#segment-position)) of a Top-Level Element.) 0x74-0x75.7 (2) | | | type: "uinteger" 0x76-NA (0) 0x0070| 82 | . | size: 2 0x76-0x76.7 (1) 0x0070| 17 36 | .6 | value: 5942 0x77-0x78.7 (2) @@ -155,7 +155,7 @@ $ fq -d matroska dv vp9.mkv 0x00f0| 4c 61 76 66 35 38| Lavf58| value: "Lavf58.45.100" 0xfa-0x106.7 (13) 0x0100|2e 34 35 2e 31 30 30 |.45.100 | | | | [4]{}: element 0x107-0x119.7 (19) -0x0100| 73 a4 | s. | id: "segment_uid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits).) 0x107-0x108.7 (2) +0x0100| 73 a4 | s. | id: "segment_uuid" (0x73a4) (A randomly generated unique ID to identify the Segment amongst many others (128 bits). It is effectively a Universally Unique IDentifier stored in binary form [@!RFC4122].) 0x107-0x108.7 (2) | | | type: "binary" 0x109-NA (0) 0x0100| 90 | . | size: 16 0x109-0x109.7 (1) 0x0100| 79 44 d8 c6 65 1a| yD..e.| value: raw bits 0x10a-0x119.7 (16) @@ -198,13 +198,13 @@ $ fq -d matroska dv vp9.mkv 0x0140| 81 | . | size: 1 0x148-0x148.7 (1) 0x0140| 00 | . | value: 0 0x149-0x149.7 (1) | | | [3]{}: element 0x14a-0x150.7 (7) -0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (Specifies the language of the track in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageIETF Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) +0x0140| 22 b5 9c | ".. | id: "language" (0x22b59c) (The language of the track, in the Matroska languages form; see (#language-codes) on language codes. This Element **MUST** be ignored if the LanguageBCP47 Element is used in the same TrackEntry.) 0x14a-0x14c.7 (3) | | | type: "string" 0x14d-NA (0) 0x0140| 83 | . | size: 3 0x14d-0x14d.7 (1) 0x0140| 75 6e| un| value: "und" 0x14e-0x150.7 (3) 0x0150|64 |d | | | | [4]{}: element 0x151-0x157.7 (7) -0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@!MatroskaCodec] for more info.) 0x151-0x151.7 (1) +0x0150| 86 | . | id: "codec_id" (0x86) (An ID corresponding to the codec, see [@?MatroskaCodec] for more info.) 0x151-0x151.7 (1) | | | type: "string" 0x152-NA (0) 0x0150| 85 | . | size: 5 0x152-0x152.7 (1) 0x0150| 56 5f 56 50 39 | V_VP9 | value: "V_VP9" 0x153-0x157.7 (5) @@ -235,7 +235,7 @@ $ fq -d matroska dv vp9.mkv 0x0170| 81 | . | size: 1 0x171-0x171.7 (1) 0x0170| f0 | . | value: 240 0x172-0x172.7 (1) | | | [4]{}: element 0x173-0x21b.7 (169) -0x0170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@!MatroskaTags].) 0x173-0x176.7 (4) +0x0170| 12 54 c3 67 | .T.g | id: "tags" (0x1254c367) (Element containing metadata describing Tracks, Editions, Chapters, Attachments, or the Segment as a whole. A list of valid tags can be found in [@?MatroskaTags].) 0x173-0x176.7 (4) | | | type: "master" 0x177-NA (0) 0x0170| 40 a3 | @. | size: 163 0x177-0x178.7 (2) | | | elements[0:3]: 0x179-0x21b.7 (163) @@ -403,7 +403,7 @@ $ fq -d matroska dv vp9.mkv 0x1770| 81 | . | size: 1 0x177d-0x177d.7 (1) 0x1770| 01 | . | value: 1 0x177e-0x177e.7 (1) | | | [1]{}: element 0x177f-0x1782.7 (4) -0x1770| f1| .| id: "cue_cluster_position" (0xf1) (The Segment Position of the Cluster containing the associated Block.) 0x177f-0x177f.7 (1) +0x1770| f1| .| id: "cue_cluster_position" (0xf1) (The Segment Position ((#segment-position)) of the Cluster containing the associated Block.) 0x177f-0x177f.7 (1) | | | type: "uinteger" 0x1780-NA (0) 0x1780|82 |. | size: 2 0x1780-0x1780.7 (1) 0x1780| 01 e8 | .. | value: 488 0x1781-0x1782.7 (2)