make way for MCA
[asdcplib.git] / src / MDD.cpp
index 0b507964a00be9ee26db66494e1d1716768c1079..56276245f6d96b7f579f3ed51e02b68f06e9657c 100644 (file)
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2006, John Hurst
+Copyright (c) 2006-2012, 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
@@ -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,11 +842,84 @@ 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, 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" },
   { {0}, {0}, false, 0 }
 };
 
-const ui32_t s_MDD_Table_size = 269;
-
 //
 // end MDD.cpp
 //