Skip to content

Commit c51055f

Browse files
authored
Merge pull request #150 from Roy-Funderburk/feature-514
feature: Add 5.1.4 audio channel support, per SMPTE ST 377-42.
2 parents d43c3ca + 07b03f0 commit c51055f

File tree

3 files changed

+32
-0
lines changed

3 files changed

+32
-0
lines changed

src/MDD.cpp

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1800,6 +1800,23 @@ static const ASDCP::MDDEntry s_MDD_Table[] = {
18001800
{ { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d,
18011801
0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x02, 0x13 },
18021802
{0, 0}, false, "JP2KEssenceCompression_IMFProfile_2K_Lossy_6_4" }, // 581
1803+
1804+
// 5.1.4 audio program from SMPTE ST 377-42
1805+
{ { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x05,
1806+
0x0e, 0x09, 0x01, 0x01, 0x05, 0x02, 0x00, 0x00 },
1807+
{0, 0}, false, "DCAudioSoundfield_514" }, // 582
1808+
{ { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x05,
1809+
0x0e, 0x09, 0x01, 0x01, 0x04, 0x03, 0x00, 0x00 },
1810+
{0, 0}, false, "DCAudioChannel_Ltfs" }, // 583
1811+
{ { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x05,
1812+
0x0e, 0x09, 0x01, 0x01, 0x04, 0x04, 0x00, 0x00 },
1813+
{0, 0}, false, "DCAudioChannel_Rtfs" }, // 584
1814+
{ { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x05,
1815+
0x0e, 0x09, 0x01, 0x01, 0x04, 0x07, 0x00, 0x00 },
1816+
{0, 0}, false, "DCAudioChannel_Ltrs" }, // 585
1817+
{ { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x05,
1818+
0x0e, 0x09, 0x01, 0x01, 0x04, 0x08, 0x00, 0x00 },
1819+
{0, 0}, false, "DCAudioChannel_Ltrs" }, // 586
18031820
{ {0}, {0}, false, 0 },
18041821
};
18051822

src/MDD.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,11 @@ namespace ASDCP {
617617
MDD_JP2KEssenceCompression_IMFProfile_2K_Lossy_6_2, // 579
618618
MDD_JP2KEssenceCompression_IMFProfile_2K_Lossy_6_3, // 580
619619
MDD_JP2KEssenceCompression_IMFProfile_2K_Lossy_6_4, // 581
620+
MDD_DCAudioSoundfield_514, // 582
621+
MDD_DCAudioChannel_Ltfs, // 583
622+
MDD_DCAudioChannel_Rtfs, // 584
623+
MDD_DCAudioChannel_Ltrs, // 585
624+
MDD_DCAudioChannel_Rtrs, // 586
620625
MDD_Max
621626
}; // enum MDD_t
622627

src/MXF.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1651,6 +1651,11 @@ ul_is_an_mca_group(const ASDCP::UL& ul)
16511651
return true;
16521652
}
16531653

1654+
if ( ul == ASDCP::DefaultSMPTEDict().ul(ASDCP::MDD_DCAudioSoundfield_514) ) // not all ULs obey ST 428-12
1655+
{
1656+
return true;
1657+
}
1658+
16541659
return false;
16551660
}
16561661

@@ -1934,6 +1939,11 @@ ASDCP::MXF::ASDCP_MCAConfigParser::ASDCP_MCAConfigParser(const Dictionary* d) :
19341939
m_LabelMap.insert(pair("DBOX", label_traits("D-BOX Motion Code Primary Stream" , false, m_Dict->ul(MDD_DBOXMotionCodePrimaryStream))));
19351940
m_LabelMap.insert(pair("DBOX2", label_traits("D-BOX Motion Code Secondary Stream", false, m_Dict->ul(MDD_DBOXMotionCodeSecondaryStream))));
19361941
m_LabelMap.insert(pair("SLVS", label_traits("Sign Language Video Stream" , false, m_Dict->ul(MDD_AudioChannelSLVS))));
1942+
m_LabelMap.insert(pair("514", label_traits("5.1.4" , true, m_Dict->ul(MDD_DCAudioSoundfield_514))));
1943+
m_LabelMap.insert(pair("Ltfs", label_traits("Left Top Front Surround" , true, m_Dict->ul(MDD_DCAudioChannel_Ltfs))));
1944+
m_LabelMap.insert(pair("Rtfs", label_traits("Right Top Front Surround" , true, m_Dict->ul(MDD_DCAudioChannel_Rtfs))));
1945+
m_LabelMap.insert(pair("Ltrs", label_traits("Left Top Rear Surround" , true, m_Dict->ul(MDD_DCAudioChannel_Ltrs))));
1946+
m_LabelMap.insert(pair("Rtrs", label_traits("Right Top Rear Surround" , true, m_Dict->ul(MDD_DCAudioChannel_Rtrs))));
19371947
}
19381948

19391949
//

0 commit comments

Comments
 (0)