matroskadec: list some more ebml IDs found in the wild and that we ignore
authorAurelien Jacobs <aurel@gnuage.org>
Wed, 13 Aug 2008 21:15:15 +0000 (21:15 +0000)
committerAurelien Jacobs <aurel@gnuage.org>
Wed, 13 Aug 2008 21:15:15 +0000 (21:15 +0000)
This avoid printing some warnings about unknow IDs while we in fact know
the IDs but just want to knowingly ignore them.

Originally committed as revision 14738 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/matroska.h
libavformat/matroskadec.c

index 8930e16..2e6aae2 100644 (file)
@@ -41,6 +41,7 @@
 
 /* general EBML types */
 #define EBML_ID_VOID               0xEC
+#define EBML_ID_CRC32              0xBF
 
 /*
  * Matroska element IDs, max. 32 bits
@@ -95,6 +96,7 @@
 #define MATROSKA_ID_TRACKCONTENTENCODINGS 0x6D80
 #define MATROSKA_ID_TRACKCONTENTENCODING 0x6240
 #define MATROSKA_ID_TRACKTIMECODESCALE 0x23314F
+#define MATROSKA_ID_TRACKMAXBLKADDID 0x55EE
 
 /* IDs in the trackvideo master */
 #define MATROSKA_ID_VIDEOFRAMERATE 0x2383E3
 #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_VIDEOSTEREOMODE 0x53B9
 #define MATROSKA_ID_VIDEOASPECTRATIO 0x54B3
 #define MATROSKA_ID_AUDIOCHANNELS 0x9F
 
 /* 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
 /* IDs in the cuetrackposition master */
 #define MATROSKA_ID_CUETRACK   0xF7
 #define MATROSKA_ID_CUECLUSTERPOSITION 0xF1
+#define MATROSKA_ID_CUEBLOCKNUMBER 0x5378
 
 /* IDs in the tags master */
 #define MATROSKA_ID_TAG                 0x7373
 
 /* 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
 
 
 /* IDs in the attachments master */
 #define MATROSKA_ID_ATTACHEDFILE        0x61A7
+#define MATROSKA_ID_FILEDESC            0x467E
 #define MATROSKA_ID_FILENAME            0x466E
 #define MATROSKA_ID_FILEMIMETYPE        0x4660
 #define MATROSKA_ID_FILEDATA            0x465C
 #define MATROSKA_ID_CHAPTERTIMEEND      0x92
 #define MATROSKA_ID_CHAPTERDISPLAY      0x80
 #define MATROSKA_ID_CHAPSTRING          0x85
+#define MATROSKA_ID_CHAPLANG            0x437C
 #define MATROSKA_ID_EDITIONUID          0x45BC
 #define MATROSKA_ID_EDITIONFLAGHIDDEN   0x45BD
 #define MATROSKA_ID_EDITIONFLAGDEFAULT  0x45DB
+#define MATROSKA_ID_EDITIONFLAGORDERED  0x45DD
 #define MATROSKA_ID_CHAPTERUID          0x73C4
 #define MATROSKA_ID_CHAPTERFLAGHIDDEN   0x98
+#define MATROSKA_ID_CHAPTERFLAGENABLED  0x4598
+#define MATROSKA_ID_CHAPTERPHYSEQUIV    0x63C3
 
 typedef enum {
   MATROSKA_TRACK_TYPE_NONE     = 0x0,
index b42da26..596ad80 100644 (file)
@@ -250,6 +250,7 @@ static EbmlSyntax matroska_info[] = {
     { MATROSKA_ID_MUXINGAPP,          EBML_NONE },
     { MATROSKA_ID_DATEUTC,            EBML_NONE },
     { MATROSKA_ID_SEGMENTUID,         EBML_NONE },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -261,6 +262,11 @@ static EbmlSyntax matroska_track_video[] = {
     { MATROSKA_ID_VIDEOPIXELWIDTH,    EBML_UINT, 0, offsetof(MatroskaTrackVideo,pixel_width) },
     { MATROSKA_ID_VIDEOPIXELHEIGHT,   EBML_UINT, 0, offsetof(MatroskaTrackVideo,pixel_height) },
     { MATROSKA_ID_VIDEOCOLORSPACE,    EBML_UINT, 0, offsetof(MatroskaTrackVideo,fourcc) },
+    { MATROSKA_ID_VIDEOPIXELCROPB,    EBML_NONE },
+    { MATROSKA_ID_VIDEOPIXELCROPT,    EBML_NONE },
+    { MATROSKA_ID_VIDEOPIXELCROPL,    EBML_NONE },
+    { MATROSKA_ID_VIDEOPIXELCROPR,    EBML_NONE },
+    { MATROSKA_ID_VIDEODISPLAYUNIT,   EBML_NONE },
     { MATROSKA_ID_VIDEOFLAGINTERLACED,EBML_NONE },
     { MATROSKA_ID_VIDEOSTEREOMODE,    EBML_NONE },
     { MATROSKA_ID_VIDEOASPECTRATIO,   EBML_NONE },
@@ -288,6 +294,7 @@ static EbmlSyntax matroska_track_encoding[] = {
     { MATROSKA_ID_ENCODINGSCOPE,      EBML_UINT, 0, offsetof(MatroskaTrackEncoding,scope), {.u=1} },
     { MATROSKA_ID_ENCODINGTYPE,       EBML_UINT, 0, offsetof(MatroskaTrackEncoding,type), {.u=0} },
     { MATROSKA_ID_ENCODINGCOMPRESSION,EBML_NEST, 0, offsetof(MatroskaTrackEncoding,compression), {.n=matroska_track_encoding_compression} },
+    { MATROSKA_ID_ENCODINGORDER,      EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -321,12 +328,15 @@ static EbmlSyntax matroska_track[] = {
     { MATROSKA_ID_CODECDOWNLOADURL,     EBML_NONE },
     { MATROSKA_ID_TRACKMINCACHE,        EBML_NONE },
     { MATROSKA_ID_TRACKMAXCACHE,        EBML_NONE },
+    { MATROSKA_ID_TRACKMAXBLKADDID,     EBML_NONE },
+    { EBML_ID_CRC32,                    EBML_NONE },
     { EBML_ID_VOID,                     EBML_NONE },
     { 0 }
 };
 
 static EbmlSyntax matroska_tracks[] = {
     { MATROSKA_ID_TRACKENTRY,         EBML_NEST, sizeof(MatroskaTrack), offsetof(MatroskaDemuxContext,tracks), {.n=matroska_track} },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -335,6 +345,7 @@ static EbmlSyntax matroska_attachment[] = {
     { MATROSKA_ID_FILENAME,           EBML_UTF8, 0, offsetof(MatroskaAttachement,filename) },
     { MATROSKA_ID_FILEMIMETYPE,       EBML_STR,  0, offsetof(MatroskaAttachement,mime) },
     { MATROSKA_ID_FILEDATA,           EBML_BIN,  0, offsetof(MatroskaAttachement,bin) },
+    { MATROSKA_ID_FILEDESC,           EBML_NONE },
     { MATROSKA_ID_FILEUID,            EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
@@ -342,12 +353,14 @@ static EbmlSyntax matroska_attachment[] = {
 
 static EbmlSyntax matroska_attachments[] = {
     { MATROSKA_ID_ATTACHEDFILE,       EBML_NEST, sizeof(MatroskaAttachement), offsetof(MatroskaDemuxContext,attachments), {.n=matroska_attachment} },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
 
 static EbmlSyntax matroska_chapter_display[] = {
     { MATROSKA_ID_CHAPSTRING,         EBML_UTF8, 0, offsetof(MatroskaChapter,title) },
+    { MATROSKA_ID_CHAPLANG,           EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -358,6 +371,10 @@ static EbmlSyntax matroska_chapter_entry[] = {
     { 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 },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -367,12 +384,15 @@ static EbmlSyntax matroska_chapter[] = {
     { MATROSKA_ID_EDITIONUID,         EBML_NONE },
     { MATROSKA_ID_EDITIONFLAGHIDDEN,  EBML_NONE },
     { MATROSKA_ID_EDITIONFLAGDEFAULT, EBML_NONE },
+    { MATROSKA_ID_EDITIONFLAGORDERED, EBML_NONE },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
 
 static EbmlSyntax matroska_chapters[] = {
     { MATROSKA_ID_EDITIONENTRY,       EBML_NEST, 0, 0, {.n=matroska_chapter} },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -380,6 +400,7 @@ static EbmlSyntax matroska_chapters[] = {
 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_CUEBLOCKNUMBER,     EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -393,6 +414,7 @@ static EbmlSyntax matroska_index_entry[] = {
 
 static EbmlSyntax matroska_index[] = {
     { MATROSKA_ID_POINTENTRY,         EBML_NEST, sizeof(MatroskaIndex), offsetof(MatroskaDemuxContext,index), {.n=matroska_index_entry} },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -403,6 +425,7 @@ static EbmlSyntax matroska_simpletag[] = {
     { MATROSKA_ID_SIMPLETAG,          EBML_NEST, sizeof(MatroskaTag), offsetof(MatroskaTag,sub), {.n=matroska_simpletag} },
     { MATROSKA_ID_TAGLANG,            EBML_NONE },
     { MATROSKA_ID_TAGDEFAULT,         EBML_NONE },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -410,12 +433,14 @@ static EbmlSyntax matroska_simpletag[] = {
 static EbmlSyntax matroska_tag[] = {
     { MATROSKA_ID_SIMPLETAG,          EBML_NEST, sizeof(MatroskaTag), 0, {.n=matroska_simpletag} },
     { MATROSKA_ID_TAGTARGETS,         EBML_NONE },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
 
 static EbmlSyntax matroska_tags[] = {
     { MATROSKA_ID_TAG,                EBML_NEST, 0, offsetof(MatroskaDemuxContext,tags), {.n=matroska_tag} },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -429,6 +454,7 @@ static EbmlSyntax matroska_seekhead_entry[] = {
 
 static EbmlSyntax matroska_seekhead[] = {
     { MATROSKA_ID_SEEKENTRY,          EBML_NEST, sizeof(MatroskaSeekhead), offsetof(MatroskaDemuxContext,seekhead), {.n=matroska_seekhead_entry} },
+    { EBML_ID_CRC32,                  EBML_NONE },
     { EBML_ID_VOID,                   EBML_NONE },
     { 0 }
 };
@@ -464,12 +490,19 @@ static EbmlSyntax matroska_cluster[] = {
     { MATROSKA_ID_CLUSTERTIMECODE,EBML_UINT,0, offsetof(MatroskaCluster,timecode) },
     { MATROSKA_ID_BLOCKGROUP,     EBML_NEST, sizeof(MatroskaBlock), offsetof(MatroskaCluster,blocks), {.n=matroska_blockgroup} },
     { MATROSKA_ID_SIMPLEBLOCK,    EBML_PASS, sizeof(MatroskaBlock), offsetof(MatroskaCluster,blocks), {.n=matroska_blockgroup} },
+    { MATROSKA_ID_CLUSTERPOSITION,EBML_NONE },
+    { MATROSKA_ID_CLUSTERPREVSIZE,EBML_NONE },
+    { EBML_ID_CRC32,              EBML_NONE },
     { EBML_ID_VOID,               EBML_NONE },
     { 0 }
 };
 
 static EbmlSyntax matroska_clusters[] = {
     { MATROSKA_ID_CLUSTER,        EBML_NEST, 0, 0, {.n=matroska_cluster} },
+    { MATROSKA_ID_INFO,           EBML_NONE },
+    { MATROSKA_ID_CUES,           EBML_NONE },
+    { MATROSKA_ID_TAGS,           EBML_NONE },
+    { MATROSKA_ID_SEEKHEAD,       EBML_NONE },
     { 0 }
 };