{ { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0D,
0x04, 0x01, 0x02, 0x02, 0x03, 0x01, 0x08, 0x01 },
{0}, false, "HTJ2KPictureCodingSchemeGeneric" }, // 524
- { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d, // 525
+ { { 0x06, 0x0e, 0x2b, 0x34, 0x04, 0x01, 0x01, 0x0d,
0x0d, 0x0f, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00 },
- {0}, false, "AudioChannelSLVS" },
+ {0}, false, "AudioChannelSLVS" }, // 525
+ { { 0x06, 0x0e, 0x2b, 0x34, 01, 0x01, 0x01, 0x0e,
+ 0x06, 0x01, 0x01, 0x02, 04, 0x00, 0x00, 0x00 },
+ {0}, false, "TimedTextDescriptor_DisplayType" }, // 526
+ { { 0x06, 0x0e, 0x2b, 0x34, 01, 0x01, 0x01, 0x0e,
+ 0x06, 0x01, 0x01, 0x02, 05, 0x00, 0x00, 0x00 },
+ {0}, false, "TimedTextDescriptor_IntrinsicPictureResolution" }, // 527
+ { { 0x06, 0x0e, 0x2b, 0x34, 01, 0x01, 0x01, 0x0e,
+ 06, 0x01, 0x01, 0x02, 06, 0x00, 0x00, 0x00 },
+ {0}, false, "TimedTextDescriptor_ZPositionInUse" }, // 528
{ {0}, {0}, false, 0 },
};
MDD_HTJ2KPictureCodingScheme, // 523
MDD_HTJ2KPictureCodingSchemeGeneric, // 524
MDD_AudioChannelSLVS, // 525
+ MDD_TimedTextDescriptor_DisplayType, // 526
+ MDD_TimedTextDescriptor_IntrinsicPictureResolution, // 527
+ MDD_TimedTextDescriptor_ZPositionInUse, // 528
MDD_Max
}; // enum MDD_t
//
bool
-ASDCP::MXF::J2KExtendedCapabilities::Archive(Kumu::MemIOWriter* Writer) const {
+ASDCP::MXF::J2KExtendedCapabilitiesType::Archive(Kumu::MemIOWriter* Writer) const {
if ( ! Writer->WriteUi32BE(Pcap) )
{
return false;
//
bool
-ASDCP::MXF::J2KExtendedCapabilities::Unarchive(Kumu::MemIOReader* Reader) {
+ASDCP::MXF::J2KExtendedCapabilitiesType::Unarchive(Kumu::MemIOReader* Reader) {
if ( ! Reader->ReadUi32BE(&Pcap) )
{
return false;
//
const char*
-ASDCP::MXF::J2KExtendedCapabilities::EncodeString(char* str_buf, ui32_t buf_len) const
+ASDCP::MXF::J2KExtendedCapabilitiesType::EncodeString(char* str_buf, ui32_t buf_len) const
{
const int str_len = ( sizeof(ui16_t) + 1 ) * JP2K::MaxCapabilities;
};
//
- class J2KExtendedCapabilities : public Kumu::IArchive
+ class J2KExtendedCapabilitiesType : public Kumu::IArchive
{
public:
ui32_t Pcap;
result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(TimedTextDescriptor, RFC5646LanguageTagList));
RFC5646LanguageTagList.set_has_value( result == RESULT_OK );
}
+ if ( ASDCP_SUCCESS(result) ) {
+ result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(TimedTextDescriptor, DisplayType));
+ DisplayType.set_has_value( result == RESULT_OK );
+ }
+ if ( ASDCP_SUCCESS(result) ) {
+ result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(TimedTextDescriptor, IntrinsicPictureResolution));
+ IntrinsicPictureResolution.set_has_value( result == RESULT_OK );
+ }
+ if ( ASDCP_SUCCESS(result) ) {
+ result = TLVSet.ReadUi8(OBJ_READ_ARGS_OPT(TimedTextDescriptor, ZPositionInUse));
+ ZPositionInUse.set_has_value( result == RESULT_OK );
+ }
return result;
}
if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(TimedTextDescriptor, UCSEncoding));
if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(TimedTextDescriptor, NamespaceURI));
if ( ASDCP_SUCCESS(result) && ! RFC5646LanguageTagList.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(TimedTextDescriptor, RFC5646LanguageTagList));
+ if ( ASDCP_SUCCESS(result) && ! DisplayType.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(TimedTextDescriptor, DisplayType));
+ if ( ASDCP_SUCCESS(result) && ! IntrinsicPictureResolution.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(TimedTextDescriptor, IntrinsicPictureResolution));
+ if ( ASDCP_SUCCESS(result) && ! ZPositionInUse.empty() ) result = TLVSet.WriteUi8(OBJ_WRITE_ARGS_OPT(TimedTextDescriptor, ZPositionInUse));
return result;
}
UCSEncoding = rhs.UCSEncoding;
NamespaceURI = rhs.NamespaceURI;
RFC5646LanguageTagList = rhs.RFC5646LanguageTagList;
+ DisplayType = rhs.DisplayType;
+ IntrinsicPictureResolution = rhs.IntrinsicPictureResolution;
+ ZPositionInUse = rhs.ZPositionInUse;
}
//
if ( ! RFC5646LanguageTagList.empty() ) {
fprintf(stream, " %22s = %s\n", "RFC5646LanguageTagList", RFC5646LanguageTagList.get().EncodeString(identbuf, IdentBufferLen));
}
+ if ( ! DisplayType.empty() ) {
+ fprintf(stream, " %22s = %s\n", "DisplayType", DisplayType.get().EncodeString(identbuf, IdentBufferLen));
+ }
+ if ( ! IntrinsicPictureResolution.empty() ) {
+ fprintf(stream, " %22s = %s\n", "IntrinsicPictureResolution", IntrinsicPictureResolution.get().EncodeString(identbuf, IdentBufferLen));
+ }
+ if ( ! ZPositionInUse.empty() ) {
+ fprintf(stream, " %22s = %d\n", "ZPositionInUse", ZPositionInUse.get());
+ }
}
//
optional_property<Raw > CodingStyleDefault;
optional_property<Raw > QuantizationDefault;
optional_property<RGBALayout > J2CLayout;
- optional_property<J2KExtendedCapabilities > J2KExtendedCapabilities;
+ optional_property<J2KExtendedCapabilitiesType > J2KExtendedCapabilities;
optional_property<Array<Kumu::ArchivableUi16> > J2KProfile;
optional_property<Array<Kumu::ArchivableUi16> > J2KCorrespondingProfile;
UTF16String UCSEncoding;
UTF16String NamespaceURI;
optional_property<UTF16String > RFC5646LanguageTagList;
+ optional_property<UTF16String > DisplayType;
+ optional_property<UTF16String > IntrinsicPictureResolution;
+ optional_property<ui8_t > ZPositionInUse;
TimedTextDescriptor(const Dictionary*& d);
TimedTextDescriptor(const TimedTextDescriptor& rhs);
virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&);
};
- // A ContainerConstraintsSubDescriptor is required to be present in the top level File Descriptor for the Constrained Generic Container per ST 379-2
+ //
class ContainerConstraintsSubDescriptor : public InterchangeObject
{
ContainerConstraintsSubDescriptor();