diff mbox series

[FFmpeg-devel,14/14] avformat/matroska: use the generated semantic files

Message ID 20200322085933.7532-14-robUx4@ycbcr.xyz
State New
Headers show
Series [FFmpeg-devel,01/14] avformat/matroska: add missing Buttons track type
Related show

Checks

Context Check Description
andriy/ffmpeg-patchwork pending
andriy/ffmpeg-patchwork success Applied patch
andriy/ffmpeg-patchwork success Configure finished
andriy/ffmpeg-patchwork success Make finished
andriy/ffmpeg-patchwork success Make fate finished

Commit Message

Steve Lhomme March 22, 2020, 8:59 a.m. UTC
From: Steve Lhomme <robux4@ycbcr.xyz>

No functional value/added removed, only more regular spacing.
---
 libavformat/matroska_ids.h | 290 +++++++++++++++---------------
 libavformat/matroskasem.c  | 356 +++++++++++++++++++------------------
 2 files changed, 326 insertions(+), 320 deletions(-)
diff mbox series

Patch

diff --git a/libavformat/matroska_ids.h b/libavformat/matroska_ids.h
index 321e555bec..f8e7cc927e 100644
--- a/libavformat/matroska_ids.h
+++ b/libavformat/matroska_ids.h
@@ -1,5 +1,7 @@ 
 /*
  * Matroska Semantic constants
+ *  DO NOT EDIT, GENERATED WITH schema_2_lavf_h.xsl
+ *
  * Copyright (c) 2003-2020 The FFmpeg Project
  *
  * This file is part of FFmpeg.
@@ -30,162 +32,164 @@ 
 #define MATROSKA_ID_SEGMENT    0x18538067
 
 /* Matroska top-level master IDs */
-#define MATROSKA_ID_INFO       0x1549A966
-#define MATROSKA_ID_TRACKS     0x1654AE6B
-#define MATROSKA_ID_CUES       0x1C53BB6B
-#define MATROSKA_ID_TAGS       0x1254C367
-#define MATROSKA_ID_SEEKHEAD   0x114D9B74
-#define MATROSKA_ID_ATTACHMENTS 0x1941A469
-#define MATROSKA_ID_CLUSTER    0x1F43B675
-#define MATROSKA_ID_CHAPTERS   0x1043A770
+#define MATROSKA_ID_INFO                0x1549A966
+#define MATROSKA_ID_TRACKS              0x1654AE6B
+#define MATROSKA_ID_CUES                0x1C53BB6B
+#define MATROSKA_ID_TAGS                0x1254C367
+#define MATROSKA_ID_SEEKHEAD            0x114D9B74
+#define MATROSKA_ID_ATTACHMENTS         0x1941A469
+#define MATROSKA_ID_CLUSTER             0x1F43B675
+#define MATROSKA_ID_CHAPTERS            0x1043A770
 
 /* IDs in the info master */
-#define MATROSKA_ID_TIMECODESCALE 0x2AD7B1
-#define MATROSKA_ID_DURATION   0x4489
-#define MATROSKA_ID_TITLE      0x7BA9
-#define MATROSKA_ID_WRITINGAPP 0x5741
-#define MATROSKA_ID_MUXINGAPP  0x4D80
-#define MATROSKA_ID_DATEUTC    0x4461
-#define MATROSKA_ID_SEGMENTUID 0x73A4
+#define MATROSKA_ID_TIMECODESCALE       0x2AD7B1
+#define MATROSKA_ID_DURATION            0x4489
+#define MATROSKA_ID_TITLE               0x7BA9
+#define MATROSKA_ID_WRITINGAPP          0x5741
+#define MATROSKA_ID_MUXINGAPP           0x4D80
+#define MATROSKA_ID_DATEUTC             0x4461
+#define MATROSKA_ID_SEGMENTUID          0x73A4
 
-/* ID in the tracks master */
-#define MATROSKA_ID_TRACKENTRY 0xAE
+/* IDs in the tracks master */
+#define MATROSKA_ID_TRACKENTRY          0xAE
 
 /* IDs in the trackentry master */
-#define MATROSKA_ID_TRACKNUMBER 0xD7
-#define MATROSKA_ID_TRACKUID   0x73C5
-#define MATROSKA_ID_TRACKTYPE  0x83
-#define MATROSKA_ID_TRACKVIDEO     0xE0
-#define MATROSKA_ID_TRACKAUDIO     0xE1
-#define MATROSKA_ID_TRACKOPERATION 0xE2
-#define MATROSKA_ID_TRACKTIMECODESCALE 0x23314F
-#define MATROSKA_ID_TRACKMAXBLKADDID 0x55EE
-#define MATROSKA_ID_TRACKNAME  0x536E
-#define MATROSKA_ID_TRACKLANGUAGE 0x22B59C
-#define MATROSKA_ID_CODECID    0x86
-#define MATROSKA_ID_CODECPRIVATE 0x63A2
-#define MATROSKA_ID_CODECNAME  0x258688
-#define MATROSKA_ID_CODECINFOURL 0x3B4040
-#define MATROSKA_ID_CODECDOWNLOADURL 0x26B240
-#define MATROSKA_ID_CODECDECODEALL 0xAA
-#define MATROSKA_ID_CODECDELAY 0x56AA
-#define MATROSKA_ID_SEEKPREROLL 0x56BB
-#define MATROSKA_ID_TRACKFLAGENABLED 0xB9
-#define MATROSKA_ID_TRACKFLAGDEFAULT 0x88
-#define MATROSKA_ID_TRACKFLAGFORCED 0x55AA
-#define MATROSKA_ID_TRACKFLAGLACING 0x9C
-#define MATROSKA_ID_TRACKMINCACHE 0x6DE7
-#define MATROSKA_ID_TRACKMAXCACHE 0x6DF8
-#define MATROSKA_ID_TRACKDEFAULTDURATION 0x23E383
-#define MATROSKA_ID_TRACKCONTENTENCODINGS 0x6D80
+#define MATROSKA_ID_TRACKNUMBER         0xD7
+#define MATROSKA_ID_TRACKUID            0x73C5
+#define MATROSKA_ID_TRACKTYPE           0x83
+#define MATROSKA_ID_TRACKVIDEO          0xE0
+#define MATROSKA_ID_TRACKAUDIO          0xE1
+#define MATROSKA_ID_TRACKOPERATION      0xE2
+#define MATROSKA_ID_TRACKTIMECODESCALE  0x23314F
+#define MATROSKA_ID_TRACKMAXBLKADDID    0x55EE
+#define MATROSKA_ID_TRACKNAME           0x536E
+#define MATROSKA_ID_TRACKLANGUAGE       0x22B59C
+#define MATROSKA_ID_CODECID             0x86
+#define MATROSKA_ID_CODECPRIVATE        0x63A2
+#define MATROSKA_ID_CODECNAME           0x258688
+#define MATROSKA_ID_CODECINFOURL        0x3B4040
+#define MATROSKA_ID_CODECDOWNLOADURL    0x26B240
+#define MATROSKA_ID_CODECDECODEALL      0xAA
+#define MATROSKA_ID_CODECDELAY          0x56AA
+#define MATROSKA_ID_SEEKPREROLL         0x56BB
+#define MATROSKA_ID_TRACKFLAGENABLED    0xB9
+#define MATROSKA_ID_TRACKFLAGDEFAULT    0x88
+#define MATROSKA_ID_TRACKFLAGFORCED     0x55AA
+#define MATROSKA_ID_TRACKFLAGLACING     0x9C
+#define MATROSKA_ID_TRACKMINCACHE       0x6DE7
+#define MATROSKA_ID_TRACKMAXCACHE       0x6DF8
+#define MATROSKA_ID_TRACKDEFAULTDURATION  0x23E383
+#define MATROSKA_ID_TRACKCONTENTENCODINGS  0x6D80
 
 /* IDs in the contentencodings master */
-#define MATROSKA_ID_TRACKCONTENTENCODING 0x6240
+#define MATROSKA_ID_TRACKCONTENTENCODING  0x6240
 
 /* IDs in the content encoding master */
-#define MATROSKA_ID_ENCODINGORDER 0x5031
-#define MATROSKA_ID_ENCODINGSCOPE 0x5032
-#define MATROSKA_ID_ENCODINGTYPE 0x5033
-#define MATROSKA_ID_ENCODINGCOMPRESSION 0x5034
-#define MATROSKA_ID_ENCODINGENCRYPTION 0x5035
+#define MATROSKA_ID_ENCODINGORDER       0x5031
+#define MATROSKA_ID_ENCODINGSCOPE       0x5032
+#define MATROSKA_ID_ENCODINGTYPE        0x5033
+#define MATROSKA_ID_ENCODINGCOMPRESSION  0x5034
+#define MATROSKA_ID_ENCODINGENCRYPTION  0x5035
 
 /* IDs in the contentcompression master */
-#define MATROSKA_ID_ENCODINGCOMPALGO 0x4254
-#define MATROSKA_ID_ENCODINGCOMPSETTINGS 0x4255
+#define MATROSKA_ID_ENCODINGCOMPALGO    0x4254
+#define MATROSKA_ID_ENCODINGCOMPSETTINGS  0x4255
 
 /* IDs in the contentencryption master */
-#define MATROSKA_ID_ENCODINGENCAESSETTINGS 0x47E7
-#define MATROSKA_ID_ENCODINGENCALGO 0x47E1
-#define MATROSKA_ID_ENCODINGENCKEYID 0x47E2
-#define MATROSKA_ID_ENCODINGSIGALGO 0x47E5
-#define MATROSKA_ID_ENCODINGSIGHASHALGO 0x47E6
-#define MATROSKA_ID_ENCODINGSIGKEYID 0x47E4
-#define MATROSKA_ID_ENCODINGSIGNATURE 0x47E3
+#define MATROSKA_ID_ENCODINGENCAESSETTINGS  0x47E7
+#define MATROSKA_ID_ENCODINGENCALGO     0x47E1
+#define MATROSKA_ID_ENCODINGENCKEYID    0x47E2
+#define MATROSKA_ID_ENCODINGSIGALGO     0x47E5
+#define MATROSKA_ID_ENCODINGSIGHASHALGO  0x47E6
+#define MATROSKA_ID_ENCODINGSIGKEYID    0x47E4
+#define MATROSKA_ID_ENCODINGSIGNATURE   0x47E3
+
+/* IDs in the contentencaessettings master */
 
 /* IDs in the trackoperation master */
-#define MATROSKA_ID_TRACKCOMBINEPLANES 0xE3
+#define MATROSKA_ID_TRACKCOMBINEPLANES  0xE3
 
 /* IDs in the trackcombineplanes master */
-#define MATROSKA_ID_TRACKPLANE         0xE4
+#define MATROSKA_ID_TRACKPLANE          0xE4
 
 /* IDs in the trackplane master */
-#define MATROSKA_ID_TRACKPLANEUID      0xE5
-#define MATROSKA_ID_TRACKPLANETYPE     0xE6
+#define MATROSKA_ID_TRACKPLANEUID       0xE5
+#define MATROSKA_ID_TRACKPLANETYPE      0xE6
 
 /* IDs in the trackvideo master */
-#define MATROSKA_ID_VIDEOFRAMERATE 0x2383E3
-#define MATROSKA_ID_VIDEODISPLAYWIDTH 0x54B0
-#define MATROSKA_ID_VIDEODISPLAYHEIGHT 0x54BA
-#define MATROSKA_ID_VIDEOPIXELWIDTH 0xB0
-#define MATROSKA_ID_VIDEOPIXELHEIGHT 0xBA
-#define MATROSKA_ID_VIDEOPIXELCROPB 0x54AA
-#define MATROSKA_ID_VIDEOPIXELCROPT 0x54BB
-#define MATROSKA_ID_VIDEOPIXELCROPL 0x54CC
-#define MATROSKA_ID_VIDEOPIXELCROPR 0x54DD
-#define MATROSKA_ID_VIDEODISPLAYUNIT 0x54B2
-#define MATROSKA_ID_VIDEOFLAGINTERLACED 0x9A
-#define MATROSKA_ID_VIDEOFIELDORDER 0x9D
-#define MATROSKA_ID_VIDEOSTEREOMODE 0x53B8
-#define MATROSKA_ID_VIDEOALPHAMODE 0x53C0
-#define MATROSKA_ID_VIDEOASPECTRATIO 0x54B3
-#define MATROSKA_ID_VIDEOCOLORSPACE 0x2EB524
-#define MATROSKA_ID_VIDEOCOLOR 0x55B0
-#define MATROSKA_ID_VIDEOPROJECTION 0x7670
+#define MATROSKA_ID_VIDEOFRAMERATE      0x2383E3
+#define MATROSKA_ID_VIDEODISPLAYWIDTH   0x54B0
+#define MATROSKA_ID_VIDEODISPLAYHEIGHT  0x54BA
+#define MATROSKA_ID_VIDEOPIXELWIDTH     0xB0
+#define MATROSKA_ID_VIDEOPIXELHEIGHT    0xBA
+#define MATROSKA_ID_VIDEOPIXELCROPB     0x54AA
+#define MATROSKA_ID_VIDEOPIXELCROPT     0x54BB
+#define MATROSKA_ID_VIDEOPIXELCROPL     0x54CC
+#define MATROSKA_ID_VIDEOPIXELCROPR     0x54DD
+#define MATROSKA_ID_VIDEODISPLAYUNIT    0x54B2
+#define MATROSKA_ID_VIDEOFLAGINTERLACED  0x9A
+#define MATROSKA_ID_VIDEOFIELDORDER     0x9D
+#define MATROSKA_ID_VIDEOSTEREOMODE     0x53B8
+#define MATROSKA_ID_VIDEOALPHAMODE      0x53C0
+#define MATROSKA_ID_VIDEOASPECTRATIO    0x54B3
+#define MATROSKA_ID_VIDEOCOLORSPACE     0x2EB524
+#define MATROSKA_ID_VIDEOCOLOR          0x55B0
+#define MATROSKA_ID_VIDEOPROJECTION     0x7670
 
 /* IDs in the colour master */
-#define MATROSKA_ID_VIDEOCOLORMATRIXCOEFF 0x55B1
-#define MATROSKA_ID_VIDEOCOLORBITSPERCHANNEL 0x55B2
-#define MATROSKA_ID_VIDEOCOLORCHROMASUBHORZ 0x55B3
-#define MATROSKA_ID_VIDEOCOLORCHROMASUBVERT 0x55B4
-#define MATROSKA_ID_VIDEOCOLORCBSUBHORZ 0x55B5
-#define MATROSKA_ID_VIDEOCOLORCBSUBVERT 0x55B6
-#define MATROSKA_ID_VIDEOCOLORCHROMASITINGHORZ 0x55B7
-#define MATROSKA_ID_VIDEOCOLORCHROMASITINGVERT 0x55B8
-#define MATROSKA_ID_VIDEOCOLORRANGE 0x55B9
-#define MATROSKA_ID_VIDEOCOLORTRANSFERCHARACTERISTICS 0x55BA
-#define MATROSKA_ID_VIDEOCOLORPRIMARIES 0x55BB
-#define MATROSKA_ID_VIDEOCOLORMAXCLL 0x55BC
-#define MATROSKA_ID_VIDEOCOLORMAXFALL 0x55BD
-#define MATROSKA_ID_VIDEOCOLORMASTERINGMETA 0x55D0
+#define MATROSKA_ID_VIDEOCOLORMATRIXCOEFF  0x55B1
+#define MATROSKA_ID_VIDEOCOLORBITSPERCHANNEL  0x55B2
+#define MATROSKA_ID_VIDEOCOLORCHROMASUBHORZ  0x55B3
+#define MATROSKA_ID_VIDEOCOLORCHROMASUBVERT  0x55B4
+#define MATROSKA_ID_VIDEOCOLORCBSUBHORZ  0x55B5
+#define MATROSKA_ID_VIDEOCOLORCBSUBVERT  0x55B6
+#define MATROSKA_ID_VIDEOCOLORCHROMASITINGHORZ  0x55B7
+#define MATROSKA_ID_VIDEOCOLORCHROMASITINGVERT  0x55B8
+#define MATROSKA_ID_VIDEOCOLORRANGE     0x55B9
+#define MATROSKA_ID_VIDEOCOLORTRANSFERCHARACTERISTICS  0x55BA
+#define MATROSKA_ID_VIDEOCOLORPRIMARIES  0x55BB
+#define MATROSKA_ID_VIDEOCOLORMAXCLL    0x55BC
+#define MATROSKA_ID_VIDEOCOLORMAXFALL   0x55BD
+#define MATROSKA_ID_VIDEOCOLORMASTERINGMETA  0x55D0
 
 /* IDs in the masteringmetadata master */
-#define MATROSKA_ID_VIDEOCOLOR_RX 0x55D1
-#define MATROSKA_ID_VIDEOCOLOR_RY 0x55D2
-#define MATROSKA_ID_VIDEOCOLOR_GX 0x55D3
-#define MATROSKA_ID_VIDEOCOLOR_GY 0x55D4
-#define MATROSKA_ID_VIDEOCOLOR_BX 0x55D5
-#define MATROSKA_ID_VIDEOCOLOR_BY 0x55D6
-#define MATROSKA_ID_VIDEOCOLOR_WHITEX 0x55D7
-#define MATROSKA_ID_VIDEOCOLOR_WHITEY 0x55D8
-#define MATROSKA_ID_VIDEOCOLOR_LUMINANCEMAX 0x55D9
-#define MATROSKA_ID_VIDEOCOLOR_LUMINANCEMIN 0x55DA
+#define MATROSKA_ID_VIDEOCOLOR_RX       0x55D1
+#define MATROSKA_ID_VIDEOCOLOR_RY       0x55D2
+#define MATROSKA_ID_VIDEOCOLOR_GX       0x55D3
+#define MATROSKA_ID_VIDEOCOLOR_GY       0x55D4
+#define MATROSKA_ID_VIDEOCOLOR_BX       0x55D5
+#define MATROSKA_ID_VIDEOCOLOR_BY       0x55D6
+#define MATROSKA_ID_VIDEOCOLOR_WHITEX   0x55D7
+#define MATROSKA_ID_VIDEOCOLOR_WHITEY   0x55D8
+#define MATROSKA_ID_VIDEOCOLOR_LUMINANCEMAX  0x55D9
+#define MATROSKA_ID_VIDEOCOLOR_LUMINANCEMIN  0x55DA
 
 /* IDs in the projection master */
-#define MATROSKA_ID_VIDEOPROJECTIONTYPE 0x7671
-#define MATROSKA_ID_VIDEOPROJECTIONPRIVATE 0x7672
-#define MATROSKA_ID_VIDEOPROJECTIONPOSEYAW 0x7673
-#define MATROSKA_ID_VIDEOPROJECTIONPOSEPITCH 0x7674
-#define MATROSKA_ID_VIDEOPROJECTIONPOSEROLL 0x7675
+#define MATROSKA_ID_VIDEOPROJECTIONTYPE  0x7671
+#define MATROSKA_ID_VIDEOPROJECTIONPRIVATE  0x7672
+#define MATROSKA_ID_VIDEOPROJECTIONPOSEYAW  0x7673
+#define MATROSKA_ID_VIDEOPROJECTIONPOSEPITCH  0x7674
+#define MATROSKA_ID_VIDEOPROJECTIONPOSEROLL  0x7675
 
 /* IDs in the trackaudio master */
-#define MATROSKA_ID_AUDIOSAMPLINGFREQ 0xB5
-#define MATROSKA_ID_AUDIOOUTSAMPLINGFREQ 0x78B5
-#define MATROSKA_ID_AUDIOBITDEPTH 0x6264
-#define MATROSKA_ID_AUDIOCHANNELS 0x9F
+#define MATROSKA_ID_AUDIOSAMPLINGFREQ   0xB5
+#define MATROSKA_ID_AUDIOOUTSAMPLINGFREQ  0x78B5
+#define MATROSKA_ID_AUDIOBITDEPTH       0x6264
+#define MATROSKA_ID_AUDIOCHANNELS       0x9F
 
-/* ID in the cues master */
-#define MATROSKA_ID_POINTENTRY 0xBB
+/* IDs in the cues master */
+#define MATROSKA_ID_POINTENTRY          0xBB
 
 /* IDs in the pointentry master */
-#define MATROSKA_ID_CUETIME    0xB3
-#define MATROSKA_ID_CUETRACKPOSITION 0xB7
+#define MATROSKA_ID_CUETIME             0xB3
+#define MATROSKA_ID_CUETRACKPOSITION    0xB7
 
-/* IDs in the cuetrackposition master */
-#define MATROSKA_ID_CUETRACK   0xF7
-#define MATROSKA_ID_CUECLUSTERPOSITION 0xF1
-#define MATROSKA_ID_CUERELATIVEPOSITION 0xF0
-#define MATROSKA_ID_CUEDURATION 0xB2
-#define MATROSKA_ID_CUEBLOCKNUMBER 0x5378
+/* IDs in the cuetrackpositions master */
+#define MATROSKA_ID_CUETRACK            0xF7
+#define MATROSKA_ID_CUECLUSTERPOSITION  0xF1
+#define MATROSKA_ID_CUERELATIVEPOSITION  0xF0
+#define MATROSKA_ID_CUEDURATION         0xB2
+#define MATROSKA_ID_CUEBLOCKNUMBER      0x5378
 
 /* IDs in the tags master */
 #define MATROSKA_ID_TAG                 0x7373
@@ -202,10 +206,10 @@ 
 #define MATROSKA_ID_TAGNAME             0x45A3
 
 /* IDs in the targets master */
-#define MATROSKA_ID_TAGTARGETS_TYPE       0x63CA
+#define MATROSKA_ID_TAGTARGETS_TYPE     0x63CA
 #define MATROSKA_ID_TAGTARGETS_TYPEVALUE  0x68CA
-#define MATROSKA_ID_TAGTARGETS_TRACKUID   0x63C5
-#define MATROSKA_ID_TAGTARGETS_CHAPTERUID 0x63C4
+#define MATROSKA_ID_TAGTARGETS_TRACKUID  0x63C5
+#define MATROSKA_ID_TAGTARGETS_CHAPTERUID  0x63C4
 #define MATROSKA_ID_TAGTARGETS_ATTACHUID  0x63C6
 
 /* IDs in the attachments master */
@@ -219,33 +223,33 @@ 
 #define MATROSKA_ID_FILEUID             0x46AE
 
 /* IDs in the cluster master */
-#define MATROSKA_ID_CLUSTERTIMECODE 0xE7
-#define MATROSKA_ID_CLUSTERPOSITION 0xA7
-#define MATROSKA_ID_CLUSTERPREVSIZE 0xAB
-#define MATROSKA_ID_BLOCKGROUP 0xA0
-#define MATROSKA_ID_SIMPLEBLOCK 0xA3
+#define MATROSKA_ID_CLUSTERTIMECODE     0xE7
+#define MATROSKA_ID_CLUSTERPOSITION     0xA7
+#define MATROSKA_ID_CLUSTERPREVSIZE     0xAB
+#define MATROSKA_ID_BLOCKGROUP          0xA0
+#define MATROSKA_ID_SIMPLEBLOCK         0xA3
 
 /* IDs in the blockgroup master */
-#define MATROSKA_ID_BLOCK      0xA1
-#define MATROSKA_ID_BLOCKADDITIONS 0x75A1
-#define MATROSKA_ID_BLOCKDURATION 0x9B
-#define MATROSKA_ID_BLOCKREFERENCE 0xFB
-#define MATROSKA_ID_CODECSTATE 0xA4
-#define MATROSKA_ID_DISCARDPADDING 0x75A2
+#define MATROSKA_ID_BLOCK               0xA1
+#define MATROSKA_ID_BLOCKADDITIONS      0x75A1
+#define MATROSKA_ID_BLOCKDURATION       0x9B
+#define MATROSKA_ID_BLOCKREFERENCE      0xFB
+#define MATROSKA_ID_CODECSTATE          0xA4
+#define MATROSKA_ID_DISCARDPADDING      0x75A2
 
 /* IDs in the blockadditions master */
-#define MATROSKA_ID_BLOCKMORE 0xA6
+#define MATROSKA_ID_BLOCKMORE           0xA6
 
 /* IDs in the blockmore master */
-#define MATROSKA_ID_BLOCKADDID 0xEE
-#define MATROSKA_ID_BLOCKADDITIONAL 0xA5
+#define MATROSKA_ID_BLOCKADDID          0xEE
+#define MATROSKA_ID_BLOCKADDITIONAL     0xA5
 
 /* IDs in the seekhead master */
-#define MATROSKA_ID_SEEKENTRY  0x4DBB
+#define MATROSKA_ID_SEEKENTRY           0x4DBB
 
 /* IDs in the seekpoint master */
-#define MATROSKA_ID_SEEKID     0x53AB
-#define MATROSKA_ID_SEEKPOSITION 0x53AC
+#define MATROSKA_ID_SEEKID              0x53AB
+#define MATROSKA_ID_SEEKPOSITION        0x53AC
 
 /* IDs in the chapters master */
 #define MATROSKA_ID_EDITIONENTRY        0x45B9
diff --git a/libavformat/matroskasem.c b/libavformat/matroskasem.c
index aca506b943..2027e6a195 100644
--- a/libavformat/matroskasem.c
+++ b/libavformat/matroskasem.c
@@ -1,5 +1,7 @@ 
 /*
  * Matroska file semantic definition
+ *  DO NOT EDIT, GENERATED WITH schema_2_lavf_sem_c.xsl
+ *
  * Copyright (c) 2003-2020 The FFmpeg Project
  *
  * This file is part of FFmpeg.
@@ -55,321 +57,321 @@  EbmlSyntax ebml_syntax[] = {
 };
 
 static EbmlSyntax matroska_track_video_projection[] = {
-    { MATROSKA_ID_VIDEOPROJECTIONTYPE,        EBML_UINT,  0, offsetof(MatroskaTrackVideoProjection, type), { .u = MATROSKA_VIDEO_PROJECTION_TYPE_RECTANGULAR } },
-    { MATROSKA_ID_VIDEOPROJECTIONPRIVATE,     EBML_BIN,   0, offsetof(MatroskaTrackVideoProjection, private) },
-    { MATROSKA_ID_VIDEOPROJECTIONPOSEYAW,     EBML_FLOAT, 0, offsetof(MatroskaTrackVideoProjection, yaw), { .f=0.0 } },
-    { MATROSKA_ID_VIDEOPROJECTIONPOSEPITCH,   EBML_FLOAT, 0, offsetof(MatroskaTrackVideoProjection, pitch), { .f=0.0 } },
-    { MATROSKA_ID_VIDEOPROJECTIONPOSEROLL,    EBML_FLOAT, 0, offsetof(MatroskaTrackVideoProjection, roll), { .f=0.0 } },
+    { MATROSKA_ID_VIDEOPROJECTIONTYPE,      EBML_UINT,   0, offsetof(MatroskaTrackVideoProjection, type), { .u = MATROSKA_VIDEO_PROJECTION_TYPE_RECTANGULAR } },
+    { MATROSKA_ID_VIDEOPROJECTIONPRIVATE,   EBML_BIN,    0, offsetof(MatroskaTrackVideoProjection, private) },
+    { MATROSKA_ID_VIDEOPROJECTIONPOSEYAW,   EBML_FLOAT,  0, offsetof(MatroskaTrackVideoProjection, yaw), { .f = 0.0 } },
+    { MATROSKA_ID_VIDEOPROJECTIONPOSEPITCH, EBML_FLOAT,  0, offsetof(MatroskaTrackVideoProjection, pitch), { .f = 0.0 } },
+    { MATROSKA_ID_VIDEOPROJECTIONPOSEROLL,  EBML_FLOAT,  0, offsetof(MatroskaTrackVideoProjection, roll), { .f = 0.0 } },
     CHILD_OF(matroska_track_video)
 };
 
 static EbmlSyntax matroska_mastering_meta[] = {
-    { MATROSKA_ID_VIDEOCOLOR_RX, EBML_FLOAT, 0, offsetof(MatroskaMasteringMeta, r_x), { .f=-1 } },
-    { MATROSKA_ID_VIDEOCOLOR_RY, EBML_FLOAT, 0, offsetof(MatroskaMasteringMeta, r_y), { .f=-1 } },
-    { MATROSKA_ID_VIDEOCOLOR_GX, EBML_FLOAT, 0, offsetof(MatroskaMasteringMeta, g_x), { .f=-1 } },
-    { MATROSKA_ID_VIDEOCOLOR_GY, EBML_FLOAT, 0, offsetof(MatroskaMasteringMeta, g_y), { .f=-1 } },
-    { MATROSKA_ID_VIDEOCOLOR_BX, EBML_FLOAT, 0, offsetof(MatroskaMasteringMeta, b_x), { .f=-1 } },
-    { MATROSKA_ID_VIDEOCOLOR_BY, EBML_FLOAT, 0, offsetof(MatroskaMasteringMeta, b_y), { .f=-1 } },
-    { MATROSKA_ID_VIDEOCOLOR_WHITEX, EBML_FLOAT, 0, offsetof(MatroskaMasteringMeta, white_x), { .f=-1 } },
-    { MATROSKA_ID_VIDEOCOLOR_WHITEY, EBML_FLOAT, 0, offsetof(MatroskaMasteringMeta, white_y), { .f=-1 } },
-    { MATROSKA_ID_VIDEOCOLOR_LUMINANCEMIN, EBML_FLOAT, 0, offsetof(MatroskaMasteringMeta, min_luminance), { .f=-1 } },
-    { MATROSKA_ID_VIDEOCOLOR_LUMINANCEMAX, EBML_FLOAT, 0, offsetof(MatroskaMasteringMeta, max_luminance), { .f=-1 } },
+    { MATROSKA_ID_VIDEOCOLOR_RX,            EBML_FLOAT,  0, offsetof(MatroskaMasteringMeta, r_x), { .f = -1 } },
+    { MATROSKA_ID_VIDEOCOLOR_RY,            EBML_FLOAT,  0, offsetof(MatroskaMasteringMeta, r_y), { .f = -1 } },
+    { MATROSKA_ID_VIDEOCOLOR_GX,            EBML_FLOAT,  0, offsetof(MatroskaMasteringMeta, g_x), { .f = -1 } },
+    { MATROSKA_ID_VIDEOCOLOR_GY,            EBML_FLOAT,  0, offsetof(MatroskaMasteringMeta, g_y), { .f = -1 } },
+    { MATROSKA_ID_VIDEOCOLOR_BX,            EBML_FLOAT,  0, offsetof(MatroskaMasteringMeta, b_x), { .f = -1 } },
+    { MATROSKA_ID_VIDEOCOLOR_BY,            EBML_FLOAT,  0, offsetof(MatroskaMasteringMeta, b_y), { .f = -1 } },
+    { MATROSKA_ID_VIDEOCOLOR_WHITEX,        EBML_FLOAT,  0, offsetof(MatroskaMasteringMeta, white_x), { .f = -1 } },
+    { MATROSKA_ID_VIDEOCOLOR_WHITEY,        EBML_FLOAT,  0, offsetof(MatroskaMasteringMeta, white_y), { .f = -1 } },
+    { MATROSKA_ID_VIDEOCOLOR_LUMINANCEMIN,  EBML_FLOAT,  0, offsetof(MatroskaMasteringMeta, min_luminance), { .f = -1 } },
+    { MATROSKA_ID_VIDEOCOLOR_LUMINANCEMAX,  EBML_FLOAT,  0, offsetof(MatroskaMasteringMeta, max_luminance), { .f = -1 } },
     CHILD_OF(matroska_track_video_color)
 };
 
 EbmlSyntax matroska_track_video_color[] = {
-    { MATROSKA_ID_VIDEOCOLORMATRIXCOEFF,      EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, matrix_coefficients), { .u = AVCOL_SPC_UNSPECIFIED } },
-    { MATROSKA_ID_VIDEOCOLORBITSPERCHANNEL,   EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, bits_per_channel) },
-    { MATROSKA_ID_VIDEOCOLORCHROMASUBHORZ,    EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, chroma_sub_horz) },
-    { MATROSKA_ID_VIDEOCOLORCHROMASUBVERT,    EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, chroma_sub_vert) },
-    { MATROSKA_ID_VIDEOCOLORCBSUBHORZ,        EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, cb_sub_horz) },
-    { MATROSKA_ID_VIDEOCOLORCBSUBVERT,        EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, cb_sub_vert) },
-    { MATROSKA_ID_VIDEOCOLORCHROMASITINGHORZ, EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, chroma_siting_horz), { .u = MATROSKA_COLOUR_CHROMASITINGHORZ_UNDETERMINED } },
-    { MATROSKA_ID_VIDEOCOLORCHROMASITINGVERT, EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, chroma_siting_vert), { .u = MATROSKA_COLOUR_CHROMASITINGVERT_UNDETERMINED } },
-    { MATROSKA_ID_VIDEOCOLORRANGE,            EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, range), { .u = AVCOL_RANGE_UNSPECIFIED } },
-    { MATROSKA_ID_VIDEOCOLORTRANSFERCHARACTERISTICS, EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, transfer_characteristics), { .u = AVCOL_TRC_UNSPECIFIED } },
-    { MATROSKA_ID_VIDEOCOLORPRIMARIES,        EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, primaries), { .u = AVCOL_PRI_UNSPECIFIED } },
-    { MATROSKA_ID_VIDEOCOLORMAXCLL,           EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, max_cll) },
-    { MATROSKA_ID_VIDEOCOLORMAXFALL,          EBML_UINT, 0, offsetof(MatroskaTrackVideoColor, max_fall) },
-    { MATROSKA_ID_VIDEOCOLORMASTERINGMETA,    EBML_NEST, 0, offsetof(MatroskaTrackVideoColor, mastering_meta), { .n = matroska_mastering_meta } },
+    { MATROSKA_ID_VIDEOCOLORMATRIXCOEFF,    EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, matrix_coefficients), { .u = AVCOL_SPC_UNSPECIFIED } },
+    { MATROSKA_ID_VIDEOCOLORBITSPERCHANNEL, EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, bits_per_channel) },
+    { MATROSKA_ID_VIDEOCOLORCHROMASUBHORZ,  EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, chroma_sub_horz) },
+    { MATROSKA_ID_VIDEOCOLORCHROMASUBVERT,  EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, chroma_sub_vert) },
+    { MATROSKA_ID_VIDEOCOLORCBSUBHORZ,      EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, cb_sub_horz) },
+    { MATROSKA_ID_VIDEOCOLORCBSUBVERT,      EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, cb_sub_vert) },
+    { MATROSKA_ID_VIDEOCOLORCHROMASITINGHORZ, EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, chroma_siting_horz), { .u = MATROSKA_COLOUR_CHROMASITINGHORZ_UNDETERMINED } },
+    { MATROSKA_ID_VIDEOCOLORCHROMASITINGVERT, EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, chroma_siting_vert), { .u = MATROSKA_COLOUR_CHROMASITINGVERT_UNDETERMINED } },
+    { MATROSKA_ID_VIDEOCOLORRANGE,          EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, range), { .u = AVCOL_RANGE_UNSPECIFIED } },
+    { MATROSKA_ID_VIDEOCOLORTRANSFERCHARACTERISTICS, EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, transfer_characteristics), { .u = AVCOL_TRC_UNSPECIFIED } },
+    { MATROSKA_ID_VIDEOCOLORPRIMARIES,      EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, primaries), { .u = AVCOL_PRI_UNSPECIFIED } },
+    { MATROSKA_ID_VIDEOCOLORMAXCLL,         EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, max_cll) },
+    { MATROSKA_ID_VIDEOCOLORMAXFALL,        EBML_UINT,   0, offsetof(MatroskaTrackVideoColor, max_fall) },
+    { MATROSKA_ID_VIDEOCOLORMASTERINGMETA,  EBML_NEST,   0, offsetof(MatroskaTrackVideoColor, mastering_meta), { .n = matroska_mastering_meta } },
     CHILD_OF(matroska_track_video)
 };
 
 EbmlSyntax matroska_track_video[] = {
-    { MATROSKA_ID_VIDEOFRAMERATE,      EBML_FLOAT, 0, offsetof(MatroskaTrackVideo, frame_rate) },
-    { MATROSKA_ID_VIDEODISPLAYWIDTH,   EBML_UINT,  0, offsetof(MatroskaTrackVideo, display_width), { .u=-1 } },
-    { MATROSKA_ID_VIDEODISPLAYHEIGHT,  EBML_UINT,  0, offsetof(MatroskaTrackVideo, display_height), { .u=-1 } },
-    { MATROSKA_ID_VIDEOPIXELWIDTH,     EBML_UINT,  0, offsetof(MatroskaTrackVideo, pixel_width) },
-    { MATROSKA_ID_VIDEOPIXELHEIGHT,    EBML_UINT,  0, offsetof(MatroskaTrackVideo, pixel_height) },
-    { MATROSKA_ID_VIDEOPIXELCROPB,     EBML_NONE },
-    { MATROSKA_ID_VIDEOPIXELCROPT,     EBML_NONE },
-    { MATROSKA_ID_VIDEOPIXELCROPL,     EBML_NONE },
-    { MATROSKA_ID_VIDEOPIXELCROPR,     EBML_NONE },
-    { MATROSKA_ID_VIDEODISPLAYUNIT,    EBML_UINT,  0, offsetof(MatroskaTrackVideo, display_unit), { .u= MATROSKA_VIDEO_DISPLAYUNIT_PIXELS } },
-    { MATROSKA_ID_VIDEOFLAGINTERLACED, EBML_UINT,  0, offsetof(MatroskaTrackVideo, interlaced),  { .u = MATROSKA_VIDEO_INTERLACE_FLAG_UNDETERMINED } },
-    { MATROSKA_ID_VIDEOFIELDORDER,     EBML_UINT,  0, offsetof(MatroskaTrackVideo, field_order), { .u = MATROSKA_VIDEO_FIELDORDER_UNDETERMINED } },
-    { MATROSKA_ID_VIDEOALPHAMODE,      EBML_UINT,  0, offsetof(MatroskaTrackVideo, alpha_mode) },
-    { MATROSKA_ID_VIDEOCOLORSPACE,     EBML_BIN,   0, offsetof(MatroskaTrackVideo, color_space) },
-    { MATROSKA_ID_VIDEOCOLOR,          EBML_NEST,  sizeof(MatroskaTrackVideoColor), offsetof(MatroskaTrackVideo, color), { .n = matroska_track_video_color } },
-    { MATROSKA_ID_VIDEOPROJECTION,     EBML_NEST,  0, offsetof(MatroskaTrackVideo, projection), { .n = matroska_track_video_projection } },
-    { MATROSKA_ID_VIDEOSTEREOMODE,     EBML_UINT,  0, offsetof(MatroskaTrackVideo, stereo_mode), { .u = MATROSKA_VIDEO_STEREOMODE_TYPE_NB } },
-    { MATROSKA_ID_VIDEOASPECTRATIO,    EBML_NONE },
+    { MATROSKA_ID_VIDEOFRAMERATE,           EBML_FLOAT,  0, offsetof(MatroskaTrackVideo, frame_rate) },
+    { MATROSKA_ID_VIDEODISPLAYWIDTH,        EBML_UINT,   0, offsetof(MatroskaTrackVideo, display_width), { .u = -1 } },
+    { MATROSKA_ID_VIDEODISPLAYHEIGHT,       EBML_UINT,   0, offsetof(MatroskaTrackVideo, display_height), { .u = -1 } },
+    { MATROSKA_ID_VIDEOPIXELWIDTH,          EBML_UINT,   0, offsetof(MatroskaTrackVideo, pixel_width) },
+    { MATROSKA_ID_VIDEOPIXELHEIGHT,         EBML_UINT,   0, offsetof(MatroskaTrackVideo, pixel_height) },
+    { MATROSKA_ID_VIDEOPIXELCROPB,          EBML_NONE },
+    { MATROSKA_ID_VIDEOPIXELCROPT,          EBML_NONE },
+    { MATROSKA_ID_VIDEOPIXELCROPL,          EBML_NONE },
+    { MATROSKA_ID_VIDEOPIXELCROPR,          EBML_NONE },
+    { MATROSKA_ID_VIDEODISPLAYUNIT,         EBML_UINT,   0, offsetof(MatroskaTrackVideo, display_unit), { .u = MATROSKA_VIDEO_DISPLAYUNIT_PIXELS } },
+    { MATROSKA_ID_VIDEOFLAGINTERLACED,      EBML_UINT,   0, offsetof(MatroskaTrackVideo, interlaced), { .u = MATROSKA_VIDEO_INTERLACE_FLAG_UNDETERMINED } },
+    { MATROSKA_ID_VIDEOFIELDORDER,          EBML_UINT,   0, offsetof(MatroskaTrackVideo, field_order), { .u = MATROSKA_VIDEO_FIELDORDER_UNDETERMINED } },
+    { MATROSKA_ID_VIDEOALPHAMODE,           EBML_UINT,   0, offsetof(MatroskaTrackVideo, alpha_mode) },
+    { MATROSKA_ID_VIDEOCOLORSPACE,          EBML_BIN,    0, offsetof(MatroskaTrackVideo, color_space) },
+    { MATROSKA_ID_VIDEOCOLOR,               EBML_NEST,   sizeof(MatroskaTrackVideoColor), offsetof(MatroskaTrackVideo, color), { .n = matroska_track_video_color } },
+    { MATROSKA_ID_VIDEOPROJECTION,          EBML_NEST,   0, offsetof(MatroskaTrackVideo, projection), { .n = matroska_track_video_projection } },
+    { MATROSKA_ID_VIDEOSTEREOMODE,          EBML_UINT,   0, offsetof(MatroskaTrackVideo, stereo_mode), { .u = MATROSKA_VIDEO_STEREOMODE_TYPE_NB } },
+    { MATROSKA_ID_VIDEOASPECTRATIO,         EBML_NONE },
     CHILD_OF(matroska_track)
 };
 
 EbmlSyntax matroska_track_plane[] = {
-    { MATROSKA_ID_TRACKPLANEUID,  EBML_UINT, 0, offsetof(MatroskaTrackPlane,uid) },
-    { MATROSKA_ID_TRACKPLANETYPE, EBML_UINT, 0, offsetof(MatroskaTrackPlane,type) },
+    { MATROSKA_ID_TRACKPLANEUID,            EBML_UINT,   0, offsetof(MatroskaTrackPlane, uid) },
+    { MATROSKA_ID_TRACKPLANETYPE,           EBML_UINT,   0, offsetof(MatroskaTrackPlane, type) },
     CHILD_OF(matroska_track_combine_planes)
 };
 
 EbmlSyntax matroska_track_combine_planes[] = {
-    { MATROSKA_ID_TRACKPLANE, EBML_NEST, sizeof(MatroskaTrackPlane), offsetof(MatroskaTrackOperation,combine_planes), {.n = matroska_track_plane} },
+    { MATROSKA_ID_TRACKPLANE,               EBML_NEST,   sizeof(MatroskaTrackPlane), offsetof(MatroskaTrackOperation, combine_planes), { .n = matroska_track_plane } },
     CHILD_OF(matroska_track_operation)
 };
 
 EbmlSyntax matroska_track_operation[] = {
-    { MATROSKA_ID_TRACKCOMBINEPLANES, EBML_NEST, 0, 0, {.n = matroska_track_combine_planes} },
+    { MATROSKA_ID_TRACKCOMBINEPLANES,       EBML_NEST,   0, 0, { .n = matroska_track_combine_planes } },
     CHILD_OF(matroska_track)
 };
 
 static EbmlSyntax matroska_track_encoding_encryption[] = {
-    { MATROSKA_ID_ENCODINGENCALGO,        EBML_UINT, 0, offsetof(MatroskaTrackEncryption,algo) },
-    { MATROSKA_ID_ENCODINGENCKEYID,       EBML_BIN, 0, offsetof(MatroskaTrackEncryption,key_id) },
-    { MATROSKA_ID_ENCODINGENCAESSETTINGS, EBML_NONE },
-    { MATROSKA_ID_ENCODINGSIGALGO,        EBML_NONE },
-    { MATROSKA_ID_ENCODINGSIGHASHALGO,    EBML_NONE },
-    { MATROSKA_ID_ENCODINGSIGKEYID,       EBML_NONE },
-    { MATROSKA_ID_ENCODINGSIGNATURE,      EBML_NONE },
+    { MATROSKA_ID_ENCODINGENCALGO,          EBML_UINT,   0, offsetof(MatroskaTrackEncryption, algo) },
+    { MATROSKA_ID_ENCODINGENCKEYID,         EBML_BIN,    0, offsetof(MatroskaTrackEncryption, key_id) },
+    { MATROSKA_ID_ENCODINGENCAESSETTINGS,   EBML_NONE },
+    { MATROSKA_ID_ENCODINGSIGALGO,          EBML_NONE },
+    { MATROSKA_ID_ENCODINGSIGHASHALGO,      EBML_NONE },
+    { MATROSKA_ID_ENCODINGSIGKEYID,         EBML_NONE },
+    { MATROSKA_ID_ENCODINGSIGNATURE,        EBML_NONE },
     CHILD_OF(matroska_track_encoding)
 };
 
 static EbmlSyntax matroska_track_encoding_compression[] = {
-    { MATROSKA_ID_ENCODINGCOMPALGO,     EBML_UINT, 0, offsetof(MatroskaTrackCompression, algo) },
-    { MATROSKA_ID_ENCODINGCOMPSETTINGS, EBML_BIN,  0, offsetof(MatroskaTrackCompression, settings) },
+    { MATROSKA_ID_ENCODINGCOMPALGO,         EBML_UINT,   0, offsetof(MatroskaTrackCompression, algo) },
+    { MATROSKA_ID_ENCODINGCOMPSETTINGS,     EBML_BIN,    0, offsetof(MatroskaTrackCompression, settings) },
     CHILD_OF(matroska_track_encoding)
 };
 
 EbmlSyntax matroska_track_encoding[] = {
-    { MATROSKA_ID_ENCODINGSCOPE,       EBML_UINT, 0, offsetof(MatroskaTrackEncoding, scope),       { .u = 1 } },
-    { MATROSKA_ID_ENCODINGTYPE,        EBML_UINT, 0, offsetof(MatroskaTrackEncoding, type) },
-    { MATROSKA_ID_ENCODINGCOMPRESSION, EBML_NEST, 0, offsetof(MatroskaTrackEncoding, compression), { .n = matroska_track_encoding_compression } },
-    { MATROSKA_ID_ENCODINGENCRYPTION,  EBML_NEST, 0, offsetof(MatroskaTrackEncoding, encryption),  { .n = matroska_track_encoding_encryption } },
-    { MATROSKA_ID_ENCODINGORDER,       EBML_NONE },
+    { MATROSKA_ID_ENCODINGSCOPE,            EBML_UINT,   0, offsetof(MatroskaTrackEncoding, scope), { .u = 1 } },
+    { MATROSKA_ID_ENCODINGTYPE,             EBML_UINT,   0, offsetof(MatroskaTrackEncoding, type) },
+    { MATROSKA_ID_ENCODINGCOMPRESSION,      EBML_NEST,   0, offsetof(MatroskaTrackEncoding, compression), { .n = matroska_track_encoding_compression } },
+    { MATROSKA_ID_ENCODINGENCRYPTION,       EBML_NEST,   0, offsetof(MatroskaTrackEncoding, encryption), { .n = matroska_track_encoding_encryption } },
+    { MATROSKA_ID_ENCODINGORDER,            EBML_NONE },
     CHILD_OF(matroska_track_encodings)
 };
 
 EbmlSyntax matroska_track_encodings[] = {
-    { MATROSKA_ID_TRACKCONTENTENCODING, EBML_NEST, sizeof(MatroskaTrackEncoding), offsetof(MatroskaTrack, encodings), { .n = matroska_track_encoding } },
+    { MATROSKA_ID_TRACKCONTENTENCODING,     EBML_NEST,   sizeof(MatroskaTrackEncoding), offsetof(MatroskaTrack, encodings), { .n = matroska_track_encoding } },
     CHILD_OF(matroska_track)
 };
 
 static EbmlSyntax matroska_track_audio[] = {
-    { MATROSKA_ID_AUDIOSAMPLINGFREQ,    EBML_FLOAT, 0, offsetof(MatroskaTrackAudio, samplerate), { .f = 8000.0 } },
-    { MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, EBML_FLOAT, 0, offsetof(MatroskaTrackAudio, out_samplerate) },
-    { MATROSKA_ID_AUDIOBITDEPTH,        EBML_UINT,  0, offsetof(MatroskaTrackAudio, bitdepth) },
-    { MATROSKA_ID_AUDIOCHANNELS,        EBML_UINT,  0, offsetof(MatroskaTrackAudio, channels),   { .u = 1 } },
+    { MATROSKA_ID_AUDIOSAMPLINGFREQ,        EBML_FLOAT,  0, offsetof(MatroskaTrackAudio, samplerate), { .f = 8000.0 } },
+    { MATROSKA_ID_AUDIOOUTSAMPLINGFREQ,     EBML_FLOAT,  0, offsetof(MatroskaTrackAudio, out_samplerate) },
+    { MATROSKA_ID_AUDIOBITDEPTH,            EBML_UINT,   0, offsetof(MatroskaTrackAudio, bitdepth) },
+    { MATROSKA_ID_AUDIOCHANNELS,            EBML_UINT,   0, offsetof(MatroskaTrackAudio, channels), { .u = 1 } },
     CHILD_OF(matroska_track)
 };
 
 EbmlSyntax matroska_track[] = {
-    { MATROSKA_ID_TRACKNUMBER,           EBML_UINT,  0, offsetof(MatroskaTrack, num) },
-    { MATROSKA_ID_TRACKNAME,             EBML_UTF8,  0, offsetof(MatroskaTrack, name) },
-    { MATROSKA_ID_TRACKUID,              EBML_UINT,  0, offsetof(MatroskaTrack, uid) },
-    { MATROSKA_ID_TRACKTYPE,             EBML_UINT,  0, offsetof(MatroskaTrack, type) },
-    { MATROSKA_ID_CODECID,               EBML_STR,   0, offsetof(MatroskaTrack, codec_id) },
-    { MATROSKA_ID_CODECPRIVATE,          EBML_BIN,   0, offsetof(MatroskaTrack, codec_priv) },
-    { MATROSKA_ID_CODECDELAY,            EBML_UINT,  0, offsetof(MatroskaTrack, codec_delay) },
-    { MATROSKA_ID_TRACKLANGUAGE,         EBML_STR,   0, offsetof(MatroskaTrack, language),     { .s = "eng" } },
-    { MATROSKA_ID_TRACKDEFAULTDURATION,  EBML_UINT,  0, offsetof(MatroskaTrack, default_duration) },
-    { MATROSKA_ID_TRACKTIMECODESCALE,    EBML_FLOAT, 0, offsetof(MatroskaTrack, time_scale),   { .f = 1.0 } },
-    { MATROSKA_ID_TRACKFLAGDEFAULT,      EBML_UINT,  0, offsetof(MatroskaTrack, flag_default), { .u = 1 } },
-    { MATROSKA_ID_TRACKFLAGFORCED,       EBML_UINT,  0, offsetof(MatroskaTrack, flag_forced) },
-    { MATROSKA_ID_TRACKVIDEO,            EBML_NEST,  0, offsetof(MatroskaTrack, video),        { .n = matroska_track_video } },
-    { MATROSKA_ID_TRACKAUDIO,            EBML_NEST,  0, offsetof(MatroskaTrack, audio),        { .n = matroska_track_audio } },
-    { MATROSKA_ID_TRACKFLAGENABLED,      EBML_NONE },
-    { MATROSKA_ID_TRACKFLAGLACING,       EBML_NONE },
-    { MATROSKA_ID_TRACKMINCACHE,         EBML_NONE },
-    { MATROSKA_ID_TRACKMAXCACHE,         EBML_NONE },
-    { MATROSKA_ID_TRACKMAXBLKADDID,      EBML_UINT,  0, offsetof(MatroskaTrack, max_block_additional_id) },
-    { MATROSKA_ID_CODECNAME,             EBML_NONE },
-    { MATROSKA_ID_CODECINFOURL,          EBML_NONE },
-    { MATROSKA_ID_CODECDOWNLOADURL,      EBML_NONE },
-    { MATROSKA_ID_CODECDECODEALL,        EBML_NONE },
-    { MATROSKA_ID_SEEKPREROLL,           EBML_UINT,  0, offsetof(MatroskaTrack, seek_preroll) },
-    { MATROSKA_ID_TRACKOPERATION,        EBML_NEST,  0, offsetof(MatroskaTrack, operation),    { .n = matroska_track_operation } },
-    { MATROSKA_ID_TRACKCONTENTENCODINGS, EBML_NEST,  0, 0,                                     { .n = matroska_track_encodings } },
+    { MATROSKA_ID_TRACKNUMBER,              EBML_UINT,   0, offsetof(MatroskaTrack, num) },
+    { MATROSKA_ID_TRACKNAME,                EBML_UTF8,   0, offsetof(MatroskaTrack, name) },
+    { MATROSKA_ID_TRACKUID,                 EBML_UINT,   0, offsetof(MatroskaTrack, uid) },
+    { MATROSKA_ID_TRACKTYPE,                EBML_UINT,   0, offsetof(MatroskaTrack, type) },
+    { MATROSKA_ID_CODECID,                  EBML_STR,    0, offsetof(MatroskaTrack, codec_id) },
+    { MATROSKA_ID_CODECPRIVATE,             EBML_BIN,    0, offsetof(MatroskaTrack, codec_priv) },
+    { MATROSKA_ID_CODECDELAY,               EBML_UINT,   0, offsetof(MatroskaTrack, codec_delay) },
+    { MATROSKA_ID_TRACKLANGUAGE,            EBML_STR,    0, offsetof(MatroskaTrack, language), { .s = "eng" } },
+    { MATROSKA_ID_TRACKDEFAULTDURATION,     EBML_UINT,   0, offsetof(MatroskaTrack, default_duration) },
+    { MATROSKA_ID_TRACKTIMECODESCALE,       EBML_FLOAT,  0, offsetof(MatroskaTrack, time_scale), { .f = 1.0 } },
+    { MATROSKA_ID_TRACKFLAGDEFAULT,         EBML_UINT,   0, offsetof(MatroskaTrack, flag_default), { .u = 1 } },
+    { MATROSKA_ID_TRACKFLAGFORCED,          EBML_UINT,   0, offsetof(MatroskaTrack, flag_forced) },
+    { MATROSKA_ID_TRACKVIDEO,               EBML_NEST,   0, offsetof(MatroskaTrack, video), { .n = matroska_track_video } },
+    { MATROSKA_ID_TRACKAUDIO,               EBML_NEST,   0, offsetof(MatroskaTrack, audio), { .n = matroska_track_audio } },
+    { MATROSKA_ID_TRACKFLAGENABLED,         EBML_NONE },
+    { MATROSKA_ID_TRACKFLAGLACING,          EBML_NONE },
+    { MATROSKA_ID_TRACKMINCACHE,            EBML_NONE },
+    { MATROSKA_ID_TRACKMAXCACHE,            EBML_NONE },
+    { MATROSKA_ID_TRACKMAXBLKADDID,         EBML_UINT,   0, offsetof(MatroskaTrack, max_block_additional_id) },
+    { MATROSKA_ID_CODECNAME,                EBML_NONE },
+    { MATROSKA_ID_CODECINFOURL,             EBML_NONE },
+    { MATROSKA_ID_CODECDOWNLOADURL,         EBML_NONE },
+    { MATROSKA_ID_CODECDECODEALL,           EBML_NONE },
+    { MATROSKA_ID_SEEKPREROLL,              EBML_UINT,   0, offsetof(MatroskaTrack, seek_preroll) },
+    { MATROSKA_ID_TRACKOPERATION,           EBML_NEST,   0, offsetof(MatroskaTrack, operation), { .n = matroska_track_operation } },
+    { MATROSKA_ID_TRACKCONTENTENCODINGS,    EBML_NEST,   0, 0, { .n = matroska_track_encodings } },
     CHILD_OF(matroska_tracks)
 };
 
 EbmlSyntax matroska_tracks[] = {
-    { MATROSKA_ID_TRACKENTRY, EBML_NEST, sizeof(MatroskaTrack), offsetof(MatroskaDemuxContext, tracks), { .n = matroska_track } },
+    { MATROSKA_ID_TRACKENTRY,               EBML_NEST,   sizeof(MatroskaTrack), offsetof(MatroskaDemuxContext, tracks), { .n = matroska_track } },
     CHILD_OF(matroska_segment)
 };
 
 static EbmlSyntax matroska_tagtargets[] = {
-    { MATROSKA_ID_TAGTARGETS_TYPE,       EBML_STR,  0, offsetof(MatroskaTagTarget, type) },
-    { MATROSKA_ID_TAGTARGETS_TYPEVALUE,  EBML_UINT, 0, offsetof(MatroskaTagTarget, typevalue), { .u = 50 } },
-    { MATROSKA_ID_TAGTARGETS_TRACKUID,   EBML_UINT, 0, offsetof(MatroskaTagTarget, trackuid) },
-    { MATROSKA_ID_TAGTARGETS_CHAPTERUID, EBML_UINT, 0, offsetof(MatroskaTagTarget, chapteruid) },
-    { MATROSKA_ID_TAGTARGETS_ATTACHUID,  EBML_UINT, 0, offsetof(MatroskaTagTarget, attachuid) },
+    { MATROSKA_ID_TAGTARGETS_TYPE,          EBML_STR,    0, offsetof(MatroskaTagTarget, type) },
+    { MATROSKA_ID_TAGTARGETS_TYPEVALUE,     EBML_UINT,   0, offsetof(MatroskaTagTarget, typevalue), { .u = 50 } },
+    { MATROSKA_ID_TAGTARGETS_TRACKUID,      EBML_UINT,   0, offsetof(MatroskaTagTarget, trackuid) },
+    { MATROSKA_ID_TAGTARGETS_CHAPTERUID,    EBML_UINT,   0, offsetof(MatroskaTagTarget, chapteruid) },
+    { MATROSKA_ID_TAGTARGETS_ATTACHUID,     EBML_UINT,   0, offsetof(MatroskaTagTarget, attachuid) },
     CHILD_OF(matroska_tag)
 };
 
 static EbmlSyntax matroska_simpletag[] = {
-    { MATROSKA_ID_TAGNAME,        EBML_UTF8, 0,                   offsetof(MatroskaTag, name) },
-    { MATROSKA_ID_TAGSTRING,      EBML_UTF8, 0,                   offsetof(MatroskaTag, string) },
-    { MATROSKA_ID_TAGLANG,        EBML_STR,  0,                   offsetof(MatroskaTag, lang), { .s = "und" } },
-    { MATROSKA_ID_TAGDEFAULT,     EBML_UINT, 0,                   offsetof(MatroskaTag, def), { .u = 1 } },
-    { MATROSKA_ID_TAGDEFAULT_BUG, EBML_UINT, 0,                   offsetof(MatroskaTag, def), { .u = 1 } },
-    { MATROSKA_ID_SIMPLETAG,      EBML_NEST, sizeof(MatroskaTag), offsetof(MatroskaTag, sub),  { .n = matroska_simpletag } },
+    { MATROSKA_ID_TAGNAME,                  EBML_UTF8,   0, offsetof(MatroskaTag, name) },
+    { MATROSKA_ID_TAGSTRING,                EBML_UTF8,   0, offsetof(MatroskaTag, string) },
+    { MATROSKA_ID_TAGLANG,                  EBML_STR,    0, offsetof(MatroskaTag, lang), { .s = "und" } },
+    { MATROSKA_ID_TAGDEFAULT,               EBML_UINT,   0, offsetof(MatroskaTag, def), { .u = 1 } },
+    { MATROSKA_ID_TAGDEFAULT_BUG,           EBML_UINT,   0, offsetof(MatroskaTag, def), { .u = 1 } },
+    { MATROSKA_ID_SIMPLETAG,                EBML_NEST,   sizeof(MatroskaTag), offsetof(MatroskaTag, sub), { .n = matroska_simpletag } },
     CHILD_OF(matroska_tag)
 };
 
 EbmlSyntax matroska_tag[] = {
-    { MATROSKA_ID_SIMPLETAG,  EBML_NEST, sizeof(MatroskaTag), offsetof(MatroskaTags, tag),    { .n = matroska_simpletag } },
-    { MATROSKA_ID_TAGTARGETS, EBML_NEST, 0,                   offsetof(MatroskaTags, target), { .n = matroska_tagtargets } },
+    { MATROSKA_ID_SIMPLETAG,                EBML_NEST,   sizeof(MatroskaTag), offsetof(MatroskaTags, tag), { .n = matroska_simpletag } },
+    { MATROSKA_ID_TAGTARGETS,               EBML_NEST,   0, offsetof(MatroskaTags, target), { .n = matroska_tagtargets } },
     CHILD_OF(matroska_tags)
 };
 
 EbmlSyntax matroska_tags[] = {
-    { MATROSKA_ID_TAG, EBML_NEST, sizeof(MatroskaTags), offsetof(MatroskaDemuxContext, tags), { .n = matroska_tag } },
+    { MATROSKA_ID_TAG,                      EBML_NEST,   sizeof(MatroskaTags), offsetof(MatroskaDemuxContext, tags), { .n = matroska_tag } },
     CHILD_OF(matroska_segment)
 };
 
 static EbmlSyntax matroska_seekhead_entry[] = {
-    { MATROSKA_ID_SEEKID,       EBML_UINT, 0, offsetof(MatroskaSeekhead, id) },
-    { MATROSKA_ID_SEEKPOSITION, EBML_UINT, 0, offsetof(MatroskaSeekhead, pos), { .u = -1 } },
+    { MATROSKA_ID_SEEKID,                   EBML_UINT,   0, offsetof(MatroskaSeekhead, id) },
+    { MATROSKA_ID_SEEKPOSITION,             EBML_UINT,   0, offsetof(MatroskaSeekhead, pos), { .u = -1 } },
     CHILD_OF(matroska_seekhead)
 };
 
 EbmlSyntax matroska_seekhead[] = {
-    { MATROSKA_ID_SEEKENTRY, EBML_NEST, sizeof(MatroskaSeekhead), offsetof(MatroskaDemuxContext, seekhead), { .n = matroska_seekhead_entry } },
+    { MATROSKA_ID_SEEKENTRY,                EBML_NEST,   sizeof(MatroskaSeekhead), offsetof(MatroskaDemuxContext, seekhead), { .n = matroska_seekhead_entry } },
     CHILD_OF(matroska_segment)
 };
 
 static EbmlSyntax matroska_info[] = {
-    { MATROSKA_ID_TIMECODESCALE, EBML_UINT,  0, offsetof(MatroskaDemuxContext, time_scale), { .u = 1000000 } },
-    { MATROSKA_ID_DURATION,      EBML_FLOAT, 0, offsetof(MatroskaDemuxContext, duration) },
-    { MATROSKA_ID_TITLE,         EBML_UTF8,  0, offsetof(MatroskaDemuxContext, title) },
-    { MATROSKA_ID_WRITINGAPP,    EBML_NONE },
-    { MATROSKA_ID_MUXINGAPP,     EBML_UTF8, 0, offsetof(MatroskaDemuxContext, muxingapp) },
-    { MATROSKA_ID_DATEUTC,       EBML_BIN,  0, offsetof(MatroskaDemuxContext, date_utc) },
-    { MATROSKA_ID_SEGMENTUID,    EBML_NONE },
+    { MATROSKA_ID_TIMECODESCALE,            EBML_UINT,   0, offsetof(MatroskaDemuxContext, time_scale), { .u = 1000000 } },
+    { MATROSKA_ID_DURATION,                 EBML_FLOAT,  0, offsetof(MatroskaDemuxContext, duration) },
+    { MATROSKA_ID_TITLE,                    EBML_UTF8,   0, offsetof(MatroskaDemuxContext, title) },
+    { MATROSKA_ID_WRITINGAPP,               EBML_NONE },
+    { MATROSKA_ID_MUXINGAPP,                EBML_UTF8,   0, offsetof(MatroskaDemuxContext, muxingapp) },
+    { MATROSKA_ID_DATEUTC,                  EBML_BIN,    0, offsetof(MatroskaDemuxContext, date_utc) },
+    { MATROSKA_ID_SEGMENTUID,               EBML_NONE },
     CHILD_OF(matroska_segment)
 };
 
 static EbmlSyntax matroska_index_pos[] = {
-    { MATROSKA_ID_CUETRACK,           EBML_UINT, 0, offsetof(MatroskaIndexPos, track) },
-    { MATROSKA_ID_CUECLUSTERPOSITION, EBML_UINT, 0, offsetof(MatroskaIndexPos, pos) },
-    { MATROSKA_ID_CUERELATIVEPOSITION,EBML_NONE },
-    { MATROSKA_ID_CUEDURATION,        EBML_NONE },
-    { MATROSKA_ID_CUEBLOCKNUMBER,     EBML_NONE },
+    { MATROSKA_ID_CUETRACK,                 EBML_UINT,   0, offsetof(MatroskaIndexPos, track) },
+    { MATROSKA_ID_CUECLUSTERPOSITION,       EBML_UINT,   0, offsetof(MatroskaIndexPos, pos) },
+    { MATROSKA_ID_CUERELATIVEPOSITION,      EBML_NONE },
+    { MATROSKA_ID_CUEDURATION,              EBML_NONE },
+    { MATROSKA_ID_CUEBLOCKNUMBER,           EBML_NONE },
     CHILD_OF(matroska_index_entry)
 };
 
 EbmlSyntax matroska_index_entry[] = {
-    { MATROSKA_ID_CUETIME,          EBML_UINT, 0,                        offsetof(MatroskaIndex, time) },
-    { MATROSKA_ID_CUETRACKPOSITION, EBML_NEST, sizeof(MatroskaIndexPos), offsetof(MatroskaIndex, pos), { .n = matroska_index_pos } },
+    { MATROSKA_ID_CUETIME,                  EBML_UINT,   0, offsetof(MatroskaIndex, time) },
+    { MATROSKA_ID_CUETRACKPOSITION,         EBML_NEST,   sizeof(MatroskaIndexPos), offsetof(MatroskaIndex, pos), { .n = matroska_index_pos } },
     CHILD_OF(matroska_index)
 };
 
 EbmlSyntax matroska_index[] = {
-    { MATROSKA_ID_POINTENTRY, EBML_NEST, sizeof(MatroskaIndex), offsetof(MatroskaDemuxContext, index), { .n = matroska_index_entry } },
+    { MATROSKA_ID_POINTENTRY,               EBML_NEST,   sizeof(MatroskaIndex), offsetof(MatroskaDemuxContext, index), { .n = matroska_index_entry } },
     CHILD_OF(matroska_segment)
 };
 
 static EbmlSyntax matroska_blockmore[] = {
-    { MATROSKA_ID_BLOCKADDID,      EBML_UINT, 0, offsetof(MatroskaBlock,additional_id), { .u = 1 } },
-    { MATROSKA_ID_BLOCKADDITIONAL, EBML_BIN,  0, offsetof(MatroskaBlock,additional) },
+    { MATROSKA_ID_BLOCKADDID,               EBML_UINT,   0, offsetof(MatroskaBlock, additional_id), { .u = 1 } },
+    { MATROSKA_ID_BLOCKADDITIONAL,          EBML_BIN,    0, offsetof(MatroskaBlock, additional) },
     CHILD_OF(matroska_blockadditions)
 };
 
 EbmlSyntax matroska_blockadditions[] = {
-    { MATROSKA_ID_BLOCKMORE, EBML_NEST, 0, 0, {.n = matroska_blockmore} },
+    { MATROSKA_ID_BLOCKMORE,                EBML_NEST,   0, 0, { .n = matroska_blockmore } },
     CHILD_OF(matroska_blockgroup)
 };
 
 EbmlSyntax matroska_blockgroup[] = {
-    { MATROSKA_ID_BLOCK,          EBML_BIN,  0, offsetof(MatroskaBlock, bin) },
-    { MATROSKA_ID_BLOCKADDITIONS, EBML_NEST, 0, 0, { .n = matroska_blockadditions} },
-    { MATROSKA_ID_BLOCKDURATION,  EBML_UINT, 0, offsetof(MatroskaBlock, duration) },
-    { MATROSKA_ID_DISCARDPADDING, EBML_SINT, 0, offsetof(MatroskaBlock, discard_padding) },
-    { MATROSKA_ID_BLOCKREFERENCE, EBML_SINT, 0, offsetof(MatroskaBlock, reference), { .i = INT64_MIN } },
-    { MATROSKA_ID_CODECSTATE,     EBML_NONE },
-    {                          1, EBML_UINT, 0, offsetof(MatroskaBlock, non_simple), { .u = 1 } },
+    { MATROSKA_ID_BLOCK,                    EBML_BIN,    0, offsetof(MatroskaBlock, bin) },
+    { MATROSKA_ID_BLOCKADDITIONS,           EBML_NEST,   0, 0, { .n = matroska_blockadditions } },
+    { MATROSKA_ID_BLOCKDURATION,            EBML_UINT,   0, offsetof(MatroskaBlock, duration) },
+    { MATROSKA_ID_DISCARDPADDING,           EBML_SINT,   0, offsetof(MatroskaBlock, discard_padding) },
+    { MATROSKA_ID_BLOCKREFERENCE,           EBML_SINT,   0, offsetof(MatroskaBlock, reference), { .i = INT64_MIN } },
+    { MATROSKA_ID_CODECSTATE,               EBML_NONE },
+    {                                    1, EBML_UINT,   0, offsetof(MatroskaBlock, non_simple), { .u = 1 } },
     CHILD_OF(matroska_cluster_parsing)
 };
 
 // The following array contains SimpleBlock and BlockGroup twice
 // in order to reuse the other values for matroska_cluster_enter.
 EbmlSyntax matroska_cluster_parsing[] = {
-    { MATROSKA_ID_SIMPLEBLOCK,     EBML_BIN,  0, offsetof(MatroskaBlock, bin) },
-    { MATROSKA_ID_BLOCKGROUP,      EBML_NEST, 0, 0, { .n = matroska_blockgroup } },
-    { MATROSKA_ID_CLUSTERTIMECODE, EBML_UINT, 0, offsetof(MatroskaCluster, timecode) },
-    { MATROSKA_ID_CLUSTERPOSITION, EBML_NONE },
-    { MATROSKA_ID_CLUSTERPREVSIZE, EBML_NONE },
-    { MATROSKA_ID_SIMPLEBLOCK,     EBML_STOP },
-    { MATROSKA_ID_BLOCKGROUP,      EBML_STOP },
+    { MATROSKA_ID_SIMPLEBLOCK,              EBML_BIN,    0, offsetof(MatroskaBlock, bin) },
+    { MATROSKA_ID_BLOCKGROUP,               EBML_NEST,   0, 0, { .n = matroska_blockgroup } },
+    { MATROSKA_ID_CLUSTERTIMECODE,          EBML_UINT,   0, offsetof(MatroskaCluster, timecode) },
+    { MATROSKA_ID_CLUSTERPOSITION,          EBML_NONE },
+    { MATROSKA_ID_CLUSTERPREVSIZE,          EBML_NONE },
+    { MATROSKA_ID_SIMPLEBLOCK,              EBML_STOP },
+    { MATROSKA_ID_BLOCKGROUP,               EBML_STOP },
     CHILD_OF(matroska_segment)
 };
 
 static EbmlSyntax matroska_chapter_display[] = {
-    { MATROSKA_ID_CHAPSTRING,  EBML_UTF8, 0, offsetof(MatroskaChapter, title) },
-    { MATROSKA_ID_CHAPLANG,    EBML_NONE },
-    { MATROSKA_ID_CHAPCOUNTRY, EBML_NONE },
+    { MATROSKA_ID_CHAPSTRING,               EBML_UTF8,   0, offsetof(MatroskaChapter, title) },
+    { MATROSKA_ID_CHAPLANG,                 EBML_NONE },
+    { MATROSKA_ID_CHAPCOUNTRY,              EBML_NONE },
     CHILD_OF(matroska_chapter_entry)
 };
 
 EbmlSyntax matroska_chapter_entry[] = {
-    { MATROSKA_ID_CHAPTERTIMESTART,   EBML_UINT, 0, offsetof(MatroskaChapter, start), { .u = AV_NOPTS_VALUE } },
-    { MATROSKA_ID_CHAPTERTIMEEND,     EBML_UINT, 0, offsetof(MatroskaChapter, end),   { .u = AV_NOPTS_VALUE } },
-    { MATROSKA_ID_CHAPTERUID,         EBML_UINT, 0, offsetof(MatroskaChapter, uid) },
-    { MATROSKA_ID_CHAPTERDISPLAY,     EBML_NEST, 0,                        0,         { .n = matroska_chapter_display } },
-    { MATROSKA_ID_CHAPTERFLAGHIDDEN,  EBML_NONE },
-    { MATROSKA_ID_CHAPTERFLAGENABLED, EBML_NONE },
-    { MATROSKA_ID_CHAPTERPHYSEQUIV,   EBML_NONE },
-    { MATROSKA_ID_CHAPTERATOM,        EBML_NONE },
+    { MATROSKA_ID_CHAPTERTIMESTART,         EBML_UINT,   0, offsetof(MatroskaChapter, start), { .u = AV_NOPTS_VALUE } },
+    { MATROSKA_ID_CHAPTERTIMEEND,           EBML_UINT,   0, offsetof(MatroskaChapter, end), { .u = AV_NOPTS_VALUE } },
+    { MATROSKA_ID_CHAPTERUID,               EBML_UINT,   0, offsetof(MatroskaChapter, uid) },
+    { MATROSKA_ID_CHAPTERDISPLAY,           EBML_NEST,   0, 0, { .n = matroska_chapter_display } },
+    { MATROSKA_ID_CHAPTERFLAGHIDDEN,        EBML_NONE },
+    { MATROSKA_ID_CHAPTERFLAGENABLED,       EBML_NONE },
+    { MATROSKA_ID_CHAPTERPHYSEQUIV,         EBML_NONE },
+    { MATROSKA_ID_CHAPTERATOM,              EBML_NONE },
     CHILD_OF(matroska_chapter)
 };
 
 EbmlSyntax matroska_chapter[] = {
-    { MATROSKA_ID_CHAPTERATOM,        EBML_NEST, sizeof(MatroskaChapter), offsetof(MatroskaDemuxContext, chapters), { .n = matroska_chapter_entry } },
-    { MATROSKA_ID_EDITIONUID,         EBML_NONE },
-    { MATROSKA_ID_EDITIONFLAGHIDDEN,  EBML_NONE },
-    { MATROSKA_ID_EDITIONFLAGDEFAULT, EBML_NONE },
-    { MATROSKA_ID_EDITIONFLAGORDERED, EBML_NONE },
+    { MATROSKA_ID_CHAPTERATOM,              EBML_NEST,   sizeof(MatroskaChapter), offsetof(MatroskaDemuxContext, chapters), { .n = matroska_chapter_entry } },
+    { MATROSKA_ID_EDITIONUID,               EBML_NONE },
+    { MATROSKA_ID_EDITIONFLAGHIDDEN,        EBML_NONE },
+    { MATROSKA_ID_EDITIONFLAGDEFAULT,       EBML_NONE },
+    { MATROSKA_ID_EDITIONFLAGORDERED,       EBML_NONE },
     CHILD_OF(matroska_chapters)
 };
 
 EbmlSyntax matroska_chapters[] = {
-    { MATROSKA_ID_EDITIONENTRY, EBML_NEST, 0, 0, { .n = matroska_chapter } },
+    { MATROSKA_ID_EDITIONENTRY,             EBML_NEST,   0, 0, { .n = matroska_chapter } },
     CHILD_OF(matroska_segment)
 };
 
 static EbmlSyntax matroska_attachment[] = {
-    { MATROSKA_ID_FILEUID,      EBML_UINT, 0, offsetof(MatroskaAttachment, uid) },
-    { MATROSKA_ID_FILENAME,     EBML_UTF8, 0, offsetof(MatroskaAttachment, filename) },
-    { MATROSKA_ID_FILEMIMETYPE, EBML_STR,  0, offsetof(MatroskaAttachment, mime) },
-    { MATROSKA_ID_FILEDATA,     EBML_BIN,  0, offsetof(MatroskaAttachment, bin) },
-    { MATROSKA_ID_FILEDESC,     EBML_NONE },
+    { MATROSKA_ID_FILEUID,                  EBML_UINT,   0, offsetof(MatroskaAttachment, uid) },
+    { MATROSKA_ID_FILENAME,                 EBML_UTF8,   0, offsetof(MatroskaAttachment, filename) },
+    { MATROSKA_ID_FILEMIMETYPE,             EBML_STR,    0, offsetof(MatroskaAttachment, mime) },
+    { MATROSKA_ID_FILEDATA,                 EBML_BIN,    0, offsetof(MatroskaAttachment, bin) },
+    { MATROSKA_ID_FILEDESC,                 EBML_NONE },
     CHILD_OF(matroska_attachments)
 };
 
 EbmlSyntax matroska_attachments[] = {
-    { MATROSKA_ID_ATTACHEDFILE, EBML_NEST, sizeof(MatroskaAttachment), offsetof(MatroskaDemuxContext, attachments), { .n = matroska_attachment } },
+    { MATROSKA_ID_ATTACHEDFILE,             EBML_NEST,   sizeof(MatroskaAttachment), offsetof(MatroskaDemuxContext, attachments), { .n = matroska_attachment } },
     CHILD_OF(matroska_segment)
 };
 
 EbmlSyntax matroska_segment[] = {
-    { MATROSKA_ID_CLUSTER,     EBML_STOP },
-    { MATROSKA_ID_INFO,        EBML_LEVEL1, 0, 0, { .n = matroska_info } },
-    { MATROSKA_ID_TRACKS,      EBML_LEVEL1, 0, 0, { .n = matroska_tracks } },
-    { MATROSKA_ID_ATTACHMENTS, EBML_LEVEL1, 0, 0, { .n = matroska_attachments } },
-    { MATROSKA_ID_CHAPTERS,    EBML_LEVEL1, 0, 0, { .n = matroska_chapters } },
-    { MATROSKA_ID_CUES,        EBML_LEVEL1, 0, 0, { .n = matroska_index } },
-    { MATROSKA_ID_TAGS,        EBML_LEVEL1, 0, 0, { .n = matroska_tags } },
-    { MATROSKA_ID_SEEKHEAD,    EBML_LEVEL1, 0, 0, { .n = matroska_seekhead } },
+    { MATROSKA_ID_CLUSTER,                  EBML_STOP },
+    { MATROSKA_ID_INFO,                     EBML_LEVEL1, 0, 0, { .n = matroska_info } },
+    { MATROSKA_ID_TRACKS,                   EBML_LEVEL1, 0, 0, { .n = matroska_tracks } },
+    { MATROSKA_ID_ATTACHMENTS,              EBML_LEVEL1, 0, 0, { .n = matroska_attachments } },
+    { MATROSKA_ID_CHAPTERS,                 EBML_LEVEL1, 0, 0, { .n = matroska_chapters } },
+    { MATROSKA_ID_CUES,                     EBML_LEVEL1, 0, 0, { .n = matroska_index } },
+    { MATROSKA_ID_TAGS,                     EBML_LEVEL1, 0, 0, { .n = matroska_tags } },
+    { MATROSKA_ID_SEEKHEAD,                 EBML_LEVEL1, 0, 0, { .n = matroska_seekhead } },
     { 0 }   /* We don't want to go back to level 0, so don't add the parent. */
 };