new macros to account for docstrings in data descriptors
[asdcplib.git] / src / MDD.cpp
index 2c8353b47a1b3c73e9f538ce1b169757ddc2164f..fa88016084fbc775aeebc8177031e0b735350762 100644 (file)
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2006, John Hurst
+Copyright (c) 2006-2013, John Hurst
 All rights reserved.
 
 Redistribution and use in source and binary forms, with or without
@@ -32,6 +32,8 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 // MDD.cpp
 //
 
+#include "KLV.h"
+
 static const ASDCP::MDDEntry s_MDD_Table[] = {
   { { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0
       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
@@ -96,7 +98,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
   { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x07, // 20
       0x02, 0x09, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00 },
       {0}, false, "MICAlgorithm_HMAC_SHA1" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x01, // 21
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 21
       0x03, 0x01, 0x02, 0x10, 0x01, 0x00, 0x00, 0x00 },
       {0}, false, "KLVFill" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 22
@@ -477,7 +479,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 147
       0x06, 0x01, 0x01, 0x04, 0x06, 0x03, 0x00, 0x00 },
       {0x2f, 0x01}, true, "GenericDescriptor_Locators" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 148
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x09, // 148
       0x06, 0x01, 0x01, 0x04, 0x06, 0x10, 0x00, 0x00 },
       {0}, true, "GenericDescriptor_SubDescriptors" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 149
@@ -557,7 +559,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x32, 0x0f}, true, "GenericPictureEssenceDescriptor_AlphaTransparency" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 174
       0x04, 0x01, 0x02, 0x01, 0x01, 0x01, 0x02, 0x00 },
-      {0x32, 0x10}, true, "GenericPictureEssenceDescriptor_Gamma" },
+      {0x32, 0x10}, true, "GenericPictureEssenceDescriptor_TransferCharacteristic" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 175
       0x04, 0x18, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 },
       {0x32, 0x11}, true, "GenericPictureEssenceDescriptor_ImageAlignmentOffset" },
@@ -659,7 +661,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
       {0x3d, 0x0c}, true, "GenericSoundEssenceDescriptor_DialNorm" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 208
       0x04, 0x02, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00 },
-      {0x3d, 0x06}, false, "GenericSoundEssenceDescriptor_SoundEssenceCompression" },
+      {0x3d, 0x06}, false, "GenericSoundEssenceDescriptor_SoundEssenceCoding" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 209
       0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x43, 0x00 },
       {0}, false, "GenericDataEssenceDescriptor" },
@@ -798,39 +800,39 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x09, // 254
       0x02, 0x09, 0x03, 0x01, 0x02, 0x00, 0x00, 0x00 },
       {0}, false, "CryptographicContext_CryptographicKeyID" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 255
-      0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x00 },
-      {0}, false, "DCTimedTextWrapping" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 256
-      0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x01 },
-      {0}, false, "DCTimedTextEssence" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 257
-      0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x02 },
-      {0}, false, "DCTimedTextDescriptor" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 258
-      0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x03 },
-      {0}, false, "DCTimedTextDescriptor_AssetID" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 259
-      0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x04 },
-      {0}, false, "DCTimedTextDescriptor_UTFEncoding" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 260
-      0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x05 },
-      {0}, false, "DCTimedTextDescriptor_RootNamespaceName" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 261
-      0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x06 },
-      {0}, false, "DCTimedTextResourceDescriptor" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 262
-      0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x07 },
-      {0}, false, "DCTimedTextResourceDescriptor_ResourceID" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 263
-      0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x08 },
-      {0}, false, "DCTimedTextResourceDescriptor_ResourceMIMEType" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x00, 0x01, 0x01, 0x01, // 264
-      0x0d, 0x01, 0x03, 0x01, 0xfa, 0xce, 0x00, 0x09 },
-    {0}, false, "DCTimedTextResourceDescriptor_ResourceSID" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 265
-      0x06, 0x10, 0x10, 0x05, 0x01, 0x02, 0x11, 0x00 },
-    {0}, false, "GenericStreamPartition" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0a, // 255
+      0x0d, 0x01, 0x03, 0x01, 0x02, 0x13, 0x01, 0x01 },
+      {0}, false, "TimedTextWrapping" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x02, 0x01, 0x01, // 256
+      0x0d, 0x01, 0x03, 0x01, 0x17, 0x01, 0x0b, 0x01 },
+      {0}, false, "TimedTextEssence" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 257
+      0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x64, 0x00 },
+      {0}, false, "TimedTextDescriptor" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 258
+      0x01, 0x01, 0x15, 0x12, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "TimedTextDescriptor_ResourceID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 259
+      0x04, 0x09, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "TimedTextDescriptor_UCSEncoding" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x08, // 260
+      0x01, 0x02, 0x01, 0x05, 0x01, 0x00, 0x00, 0x00 },
+      {0}, false, "TimedTextDescriptor_NamespaceURI" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 261
+      0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x65, 0x00 },
+      {0}, false, "TimedTextResourceSubDescriptor" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 262
+      0x01, 0x01, 0x15, 0x13, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "TimedTextResourceSubDescriptor_AncillaryResourceID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x07, // 263
+      0x04, 0x09, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "TimedTextResourceSubDescriptor_MIMEMediaType" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 264
+      0x01, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "TimedTextResourceSubDescriptor_EssenceStreamID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x05, 0x01, 0x01, // 265
+      0x0d, 0x01, 0x02, 0x01, 0x01, 0x03, 0x11, 0x00 },
+      {0}, false, "GenericStreamPartition" },
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 266
       0x04, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
     {0x02, 0x01}, false, "DMSegment_DataDefinition" },
@@ -840,14 +842,312 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
   { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 268
       0x01, 0x07, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00 },
     {0x61, 0x02}, false, "DMSegment_TrackIDList" },
-  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 269
-      0x0f, 0x0f, 0x0f, 0x0f, 0x00, 0x00, 0x00, 0x00 },
-    {0x61, 0x02}, false, "StereoscopicPictureSubDescriptor" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x0c, // 269
+      0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x63, 0x00 },
+    {0}, false, "StereoscopicPictureSubDescriptor" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x07, // 270
+      0x04, 0x02, 0x01, 0x01, 0x05, 0x00, 0x00, 0x00 },
+    {0x3d, 0x32}, true, "WaveAudioDescriptor_ChannelAssignment" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 271
+      0x0d, 0x01, 0x05, 0x09, 0x01, 0x00, 0x00, 0x00 },
+    {0x00, 0x00}, false, "GenericStream_DataElement" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 272
+      0x06, 0x01, 0x01, 0x04, 0x06, 0x10, 0x00, 0x00 },
+      {0}, true, "MXFInterop_GenericDescriptor_SubDescriptors" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 273
+      0x01, 0x03, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00 },
+      {0x3f, 0x07}, false, "BodySID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x04, // 274
+      0x01, 0x03, 0x04, 0x05, 0x00, 0x00, 0x00, 0x00 },
+    {0x3f, 0x06}, false, "IndexSID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 275
+      0x01, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00 },
+      {0x3b, 0x09}, false, "OperationalPattern" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 276
+      0x01, 0x02, 0x02, 0x10, 0x02, 0x01, 0x00, 0x00 },
+      {0x3b, 0x0a}, false, "EssenceContainers" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0b, // 277
+      0x04, 0x02, 0x02, 0x10, 0x03, 0x01, 0x01, 0x00 },
+    {0}, false, "DCAudioChannelCfg_1_5p1" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0b, // 278
+      0x04, 0x02, 0x02, 0x10, 0x03, 0x01, 0x02, 0x00 },
+    {0}, false, "DCAudioChannelCfg_2_6p1" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0b, // 279
+      0x04, 0x02, 0x02, 0x10, 0x03, 0x01, 0x03, 0x00 },
+    {0}, false, "DCAudioChannelCfg_3_7p1" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0b, // 280
+      0x04, 0x02, 0x02, 0x10, 0x03, 0x01, 0x04, 0x00 },
+    {0}, false, "DCAudioChannelCfg_4_WTF" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0b, // 281
+      0x04, 0x02, 0x02, 0x10, 0x03, 0x01, 0x05, 0x00 },
+    {0}, false, "DCAudioChannelCfg_5_7p1_DS" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 282
+      0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x6a, 0x00 },
+    {0}, false, "MCALabelSubDescriptor" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 283
+      0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x6b, 0x00 },
+    {0}, false, "AudioChannelLabelSubDescriptor" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 284
+      0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x6c, 0x00 },
+    {0}, false, "SoundfieldGroupLabelSubDescriptor" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 285
+      0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x6d, 0x00 },
+    {0}, false, "GroupOfSoundfieldGroupsLabelSubDescriptor" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 286
+      0x01, 0x03, 0x07, 0x01, 0x01, 0x00, 0x00, 0x00 },
+    {0}, false, "MCALabelSubDescriptor_MCALabelDictionaryID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 287
+      0x01, 0x03, 0x07, 0x01, 0x05, 0x00, 0x00, 0x00 },
+    {0}, false, "MCALabelSubDescriptor_MCALinkID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 288
+      0x01, 0x03, 0x07, 0x01, 0x02, 0x00, 0x00, 0x00 },
+    {0}, false, "MCALabelSubDescriptor_MCATagSymbol" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 289
+      0x01, 0x03, 0x07, 0x01, 0x03, 0x00, 0x00, 0x00 },
+    {0}, false, "MCALabelSubDescriptor_MCATagName" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 290
+      0x01, 0x03, 0x04, 0x0a, 0x00, 0x00, 0x00, 0x00 },
+    {0}, false, "MCALabelSubDescriptor_MCAChannelID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 291
+      0x03, 0x01, 0x01, 0x02, 0x03, 0x15, 0x00, 0x00 },
+    {0}, false, "MCALabelSubDescriptor_RFC5646SpokenLanguage" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 292
+      0x01, 0x03, 0x07, 0x01, 0x03, 0x00, 0x00, 0x00 },
+    {0}, false, "AudioChannelLabelSubDescriptor_SoundfieldGroupLinkID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 293
+      0x01, 0x03, 0x07, 0x01, 0x04, 0x00, 0x00, 0x00 },
+    {0}, false, "SoundfieldGroupLabelSubDescriptor_GroupOfSoundfieldGroupsLinkID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x05, // 294
+      0x0e, 0x09, 0x06, 0x05, 0x00, 0x00, 0x00, 0x00 },
+    {0}, false, "DCDataWrapping" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x02, 0x01, 0x05, // 295
+      0x0e, 0x09, 0x06, 0x01, 0x00, 0x00, 0x00, 0x00 },
+    {0}, false, "DCDataEssence" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x05, // 296
+      0x0e, 0x09, 0x06, 0x03, 0x00, 0x00, 0x00, 0x00 },
+    {0}, false, "DCDataDescriptor" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x05, // 297
+      0x0e, 0x09, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00 },
+    {0}, false, "DolbyAtmosSubDescriptor" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 298
+      0x0e, 0x09, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00 },
+    {0}, true, "DolbyAtmosSubDescriptor_AtmosVersion" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 299
+      0x0e, 0x09, 0x05, 0x07, 0x00, 0x00, 0x00, 0x00 },
+    {0}, true, "DolbyAtmosSubDescriptor_MaxChannelCount" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 300
+      0x0e, 0x09, 0x05, 0x08, 0x00, 0x00, 0x00, 0x00 },
+    {0}, true, "DolbyAtmosSubDescriptor_MaxObjectCount" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 301
+      0x0e, 0x09, 0x05, 0x09, 0x00, 0x00, 0x00, 0x00 },
+    {0}, true, "DolbyAtmosSubDescriptor_AtmosID" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x05, // 302
+      0x0e, 0x09, 0x05, 0x0A, 0x00, 0x00, 0x00, 0x00 },
+    {0}, true, "DolbyAtmosSubDescriptor_FirstFrame" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x01, // 303
+      0x01, 0x03, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00 },
+      {0}, false, "DataDataDef" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 304
+      0x04, 0x02, 0x02, 0x10, 0x03, 0x02, 0x00, 0x00 },
+    {0}, false, "DCAudioChannelCfg_MCA" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 305
+      0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_L" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 306
+      0x03, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_R" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 307
+      0x03, 0x02, 0x01, 0x03, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_C" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 308
+      0x03, 0x02, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_LFE" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 309
+      0x03, 0x02, 0x01, 0x05, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_Ls" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 310
+      0x03, 0x02, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_Rs" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 311
+      0x03, 0x02, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_Lss" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 312
+      0x03, 0x02, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_Rss" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 313
+      0x03, 0x02, 0x01, 0x09, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_Lrs" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 314
+      0x03, 0x02, 0x01, 0x0a, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_Rrs" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 315
+      0x03, 0x02, 0x01, 0x0b, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_Lc" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 316
+      0x03, 0x02, 0x01, 0x0c, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_Rc" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 317
+      0x03, 0x02, 0x01, 0x0d, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_Cs" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 318
+      0x03, 0x02, 0x01, 0x0e, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_HI" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 319
+      0x03, 0x02, 0x01, 0x0f, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioChannel_VIN" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 320
+      0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioSoundfield_51" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 321
+      0x03, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioSoundfield_71" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 322
+      0x03, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioSoundfield_SDS" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 323
+      0x03, 0x02, 0x02, 0x04, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioSoundfield_61" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 324
+      0x03, 0x02, 0x02, 0x05, 0x00, 0x00, 0x00, 0x00 },
+      {0}, false, "DCAudioSoundfield_M" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x02, 0x01, 0x01, // 325
+      0x0d, 0x01, 0x03, 0x01, 0x16, 0x01, 0x02, 0x00 },
+      {0}, false, "WAVEssenceClip" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 326
+      0x04, 0x02, 0x02, 0x10, 0x04, 0x01, 0x00, 0x00 },
+    {0}, false, "IMFAudioChannelCfg_MCA" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 327
+      0x03, 0x02, 0x01, 0x20, 0x01, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioChannel_M1" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 328
+      0x03, 0x02, 0x01, 0x20, 0x02, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioChannel_M2" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 329
+      0x03, 0x02, 0x01, 0x20, 0x03, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioChannel_Lt" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 330
+      0x03, 0x02, 0x01, 0x20, 0x04, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioChannel_Rt" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 331
+      0x03, 0x02, 0x01, 0x20, 0x05, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioChannel_Lst" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 332
+      0x03, 0x02, 0x01, 0x20, 0x06, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioChannel_Rst" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 333
+      0x03, 0x02, 0x01, 0x20, 0x07, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioChannel_S" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 334
+      0x03, 0x02, 0x01, 0x20, 0x08, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFNumberedSourceChannel" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 335
+      0x03, 0x02, 0x02, 0x20, 0x01, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_ST" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 336
+      0x03, 0x02, 0x02, 0x20, 0x02, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_DM" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 337
+      0x03, 0x02, 0x02, 0x20, 0x03, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_DNS" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 338
+      0x03, 0x02, 0x02, 0x20, 0x04, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_30" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 339
+      0x03, 0x02, 0x02, 0x20, 0x05, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_40" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 340
+      0x03, 0x02, 0x02, 0x20, 0x06, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_50" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 341
+      0x03, 0x02, 0x02, 0x20, 0x07, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_60" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 342
+      0x03, 0x02, 0x02, 0x20, 0x08, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_70" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 343
+      0x03, 0x02, 0x02, 0x20, 0x09, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_LtRt" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 344
+      0x03, 0x02, 0x02, 0x20, 0x0a, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_51Ex" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 345
+      0x03, 0x02, 0x02, 0x20, 0x0b, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_HI" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 346
+      0x03, 0x02, 0x02, 0x20, 0x0c, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioSoundfield_VIN" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 347
+      0x03, 0x02, 0x03, 0x20, 0x01, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioGroup_MPg" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 348
+      0x03, 0x02, 0x03, 0x20, 0x02, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioGroup_DVS" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 349
+      0x03, 0x02, 0x03, 0x20, 0x03, 0x00, 0x00, 0x00 },
+      {0}, false, "IMFAudioGroup_Dcm" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 350
+      0x06, 0x01, 0x01, 0x04, 0x02, 0x0f, 0x00, 0x00 },
+      {0}, false, "MaterialPackage_PackageMarker" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 351
+      0x04, 0x01, 0x02, 0x01, 0x01, 0x03, 0x01, 0x00 },
+      {0}, false, "GenericPictureEssenceDescriptor_CodingEquations" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x02, // 352
+      0x04, 0x01, 0x02, 0x01, 0x01, 0x06, 0x01, 0x00 },
+      {0}, false, "GenericPictureEssenceDescriptor_ColorPrimaries" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 353
+      0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x01, 0x11 },
+      {0}, false, "JP2KEssenceCompression_BroadcastProfile_1" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 354
+      0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x01, 0x12 },
+      {0}, false, "JP2KEssenceCompression_BroadcastProfile_2" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 355
+      0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x01, 0x13 },
+      {0}, false, "JP2KEssenceCompression_BroadcastProfile_3" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 356
+      0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x01, 0x14 },
+      {0}, false, "JP2KEssenceCompression_BroadcastProfile_4" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 357
+      0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x01, 0x15 },
+      {0}, false, "JP2KEssenceCompression_BroadcastProfile_5" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 358
+      0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x01, 0x16 },
+      {0}, false, "JP2KEssenceCompression_BroadcastProfile_6" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 359
+      0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x01, 0x17 },
+      {0}, false, "JP2KEssenceCompression_BroadcastProfile_7" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 360
+      0x04, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00 },
+      {0}, false, "WaveAudioDescriptor_ReferenceImageEditRate" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 361
+      0x04, 0x02, 0x01, 0x01, 0x06, 0x00, 0x00, 0x00 },
+      {0}, false, "WaveAudioDescriptor_ReferenceAudioAlignmentLevel" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 362
+      0x04, 0x01, 0x03, 0x02, 0x0b, 0x00, 0x00, 0x00 },
+      {0}, false, "GenericPictureEssenceDescriptor_AlternativeCenterCuts" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 363
+      0x04, 0x01, 0x05, 0x01, 0x13, 0x00, 0x00, 0x00 },
+      {0x32, 0x05}, true, "GenericPictureEssenceDescriptor_ActiveHeight" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 364
+      0x04, 0x01, 0x05, 0x01, 0x14, 0x00, 0x00, 0x00 },
+      {0x32, 0x04}, true, "GenericPictureEssenceDescriptor_ActiveWidth" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 365
+      0x04, 0x01, 0x05, 0x01, 0x15, 0x00, 0x00, 0x00 },
+      {0x32, 0x06}, true, "GenericPictureEssenceDescriptor_ActiveXOffset" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 366
+      0x04, 0x01, 0x05, 0x01, 0x16, 0x00, 0x00, 0x00 },
+      {0x32, 0x07}, true, "GenericPictureEssenceDescriptor_ActiveYOffset" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 367
+      0x03, 0x01, 0x01, 0x02, 0x02, 0x16, 0x00, 0x00 },
+      {0}, false, "TimedTextDescriptor_RFC5646LanguageTagList" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 368
+      0x04, 0x01, 0x01, 0x01, 0x00, 0x04, 0x01, 0x00 },
+      {0}, false, "AlternativeCenterCuts_4x3" },
+  { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 369
+      0x04, 0x01, 0x01, 0x01, 0x00, 0x04, 0x02, 0x00 },
+      {0}, false, "AlternativeCenterCuts_14x9" },
   { {0}, {0}, false, 0 }
 };
 
-const ui32_t s_MDD_Table_size = 270;
-
 //
 // end MDD.cpp
 //