summaryrefslogtreecommitdiff
path: root/src/MDD.cpp
diff options
context:
space:
mode:
authorjhurst <jhurst@cinecert.com>2018-08-06 22:07:03 +0000
committerjhurst <>2018-08-06 22:07:03 +0000
commitf4061a21fffad4fdf8dbb2f193f0f0960b25421c (patch)
treec66e09ce3c57e263690bc0c0f37d37e9a3aa75f8 /src/MDD.cpp
parent38954bfe8dd72a817fb070c58327cd111b9bd282 (diff)
o Added support for SMPTE RDD 47 "ISXD Track File"
o Added generic support for SMPTE RP 2057 "Text-Based Metadata Carriage in MXF" o Re-factored AS-02 frame-wrap index write to use a common implementation o Re-factored support for SMPTE ST 410 to use a common implementation (affects o AS-DCP and AS-02 timed-text MXF (SMPTE 429-5) o Patched several ambiguous integer casts. o Added new essence type identifiers ESS_AS02_ISXD and ESS_AS02_ACES o Fixed a bug wherein the Generic Container data tarck clip was instead being o written as a DM track o Fixed UL values DCDataDescriptor and ContainerConstraintSubDescriptor to have o a byte 6 value of 0x53 (Tag Set) instead of 0x07 (coding sentinel) o Added UL values 492 - 511 to the dictionary o Added ApplicationSchemes and ConformsToSpecifications to the Preface set o Added default initializer to MXF::LineMapPair o Added sets DescriptiveFramework, DescriptiveObject, TextBasedDMFramework, o TextBasedObject, GenericStreamTextBasedSet and ISXDDataEssenceDescriptor o Added ISXD support and options '-G', '-u' to as-02-wrap o Added ISXD support and option '-g' to as-02-unwrap
Diffstat (limited to 'src/MDD.cpp')
-rw-r--r--src/MDD.cpp69
1 files changed, 64 insertions, 5 deletions
diff --git a/src/MDD.cpp b/src/MDD.cpp
index de71401..bae0f2b 100644
--- a/src/MDD.cpp
+++ b/src/MDD.cpp
@@ -1,5 +1,5 @@
/*
-Copyright (c) 2006-2016, John Hurst
+Copyright (c) 2006-2018, John Hurst
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -766,7 +766,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
{0}, true, "JPEG2000PictureSubDescriptor_QuantizationDefault" },
{ { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 243
0x0d, 0x01, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00 },
- {0}, false, "DM_Framework" },
+ {0}, false, "DescriptiveFramework" },
{ { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 244
0x0d, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00 },
{0}, false, "DM_Set" },
@@ -923,7 +923,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
{ { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x02, 0x01, 0x0d, // 295
0x0d, 0x01, 0x03, 0x01, 0x17, 0x01, 0x0d, 0x00 },
{0}, false, "DCDataEssence" },
- { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x7f, 0x01, 0x01, // 296
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 296
0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x73, 0x00 },
{0}, false, "DCDataDescriptor" },
{ { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x05, // 297
@@ -1159,7 +1159,7 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
// ContainerConstraintSubDescriptor to the GenericDescriptor::SubDescriptors
// property of the top-most File Descriptor that describes the essence
// container.
- { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x7f, 0x01, 0x01, // 373
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 373
0x0d, 0x01, 0x01, 0x01, 0x01, 0x01, 0x67, 0x00 },
{0}, false, "ContainerConstraintSubDescriptor" },
@@ -1528,7 +1528,66 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
{ { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 491
0x04, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x00 },
{0}, false, "HDRReferenceViewingEnvironment" },
-
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x02, 0x01, 0x05, // 492
+ 0x0e, 0x09, 0x05, 0x02, 0x01, 0x00, 0x01, 0x00 },
+ {0}, false, "FrameWrappedISXDData" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x05, // 493
+ 0x0e, 0x09, 0x06, 0x07, 0x01, 0x01, 0x01, 0x03 },
+ {0}, false, "FrameWrappedISXDContainer" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x05, // 494
+ 0x0e, 0x09, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00 },
+ {0}, false, "ISXDDataEssenceDescriptor" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x05, // 495
+ 0x0e, 0x09, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00 },
+ {0}, false, "ISXDDataEssenceDescriptor_NamespaceURI" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x05, // 496
+ 0x0e, 0x09, 0x06, 0x06, 0x00, 0x00, 0x00, 0xff },
+ {0}, false, "UTF_8_Text_DataEssenceCoding" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 497-chk
+ 0x0D, 0x01, 0x04, 0x01, 0x04, 0x01, 0x01, 0x00 },
+ {0}, false, "TextBasedDMFramework" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0D, // 498-chk
+ 0x06, 0x01, 0x01, 0x04, 0x05, 0x41, 0x01, 0x00 },
+ {0}, true, "TextBasedDMFramework_ObjectRef" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 499
+ 0x0d, 0x01, 0x04, 0x01, 0x04, 0x03, 0x01, 0x00 },
+ {0}, false, "TextBasedObject" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 500
+ 0x04, 0x06, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00 },
+ {0}, false, "TextBasedObject_PayloadSchemeID" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 501
+ 0x04, 0x09, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00 },
+ {0}, false, "TextBasedObject_TextMIMEMediaType" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 502
+ 0x03, 0x01, 0x01, 0x02, 0x02, 0x14, 0x00, 0x00 },
+ {0}, false, "TextBasedObject_RFC5646TextLanguageCode" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 503
+ 0x03, 0x02, 0x01, 0x06, 0x03, 0x02, 0x00, 0x00 },
+ {0}, true, "TextBasedObject_TextDataDescription" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x53, 0x01, 0x01, // 504
+ 0x0d, 0x01, 0x04, 0x01, 0x04, 0x02, 0x01, 0x00 },
+ {0}, false, "GenericStreamTextBasedSet" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0d, // 505
+ 0x01, 0x03, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00 },
+ {0}, false, "GenericStreamTextBasedSet_GenericStreamSID" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x02, 0x06, 0x01, 0x01, // 506
+ 0x0d, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ {0}, false, "DescriptiveObject" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 507
+ 0x05, 0x20, 0x07, 0x01, 0x0c, 0x00, 0x00, 0x00 },
+ {0}, false, "DescriptiveFramework_LinkedDescriptiveFrameworkPlugInId" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 508
+ 0x05, 0x20, 0x07, 0x01, 0x11, 0x00, 0x00, 0x00 },
+ {0}, false, "DescriptiveObject_LinkedDescriptiveObjectPlugInId" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0c, // 509
+ 0x01, 0x02, 0x02, 0x10, 0x02, 0x03, 0x00, 0x00 },
+ {0}, false, "Preface_ApplicationSchemes" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x01, 0x01, 0x01, 0x0e, // 510
+ 0x01, 0x02, 0x02, 0x10, 0x02, 0x04, 0x00, 0x00 },
+ {0}, false, "Preface_ConformsToSpecifications" },
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0c, // 511
+ 0x0d, 0x01, 0x04, 0x01, 0x04, 0x01, 0x01, 0x00 },
+ {0}, false, "MXFTextBasedFramework" },
{ {0}, {0}, false, 0 }
};