From 5df3cc6f809002cb568771803d2aac96b31b2ffa Mon Sep 17 00:00:00 2001 From: Aurelien Jacobs Date: Wed, 13 Aug 2008 21:15:15 +0000 Subject: [PATCH] matroskadec: list some more ebml IDs found in the wild and that we ignore 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 | 16 ++++++++++++++++ libavformat/matroskadec.c | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/libavformat/matroska.h b/libavformat/matroska.h index 8930e16d3c..2e6aae2077 100644 --- a/libavformat/matroska.h +++ b/libavformat/matroska.h @@ -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 @@ -102,6 +104,11 @@ #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 @@ -115,6 +122,7 @@ #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 @@ -131,6 +139,7 @@ /* 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 @@ -150,6 +159,8 @@ /* 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 @@ -160,6 +171,7 @@ /* 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 @@ -172,11 +184,15 @@ #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, diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index b42da2699e..596ad80cbf 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -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 } };