diff options
Diffstat (limited to 'src/Metadata.cpp')
| -rwxr-xr-x | src/Metadata.cpp | 55 |
1 files changed, 42 insertions, 13 deletions
diff --git a/src/Metadata.cpp b/src/Metadata.cpp index b21dc23..9b7f95e 100755 --- a/src/Metadata.cpp +++ b/src/Metadata.cpp @@ -70,7 +70,7 @@ static InterchangeObject* GenericDataEssenceDescriptor_Factory(const Dictionary* static InterchangeObject* TimedTextDescriptor_Factory(const Dictionary*& Dict) { return new TimedTextDescriptor(Dict); } static InterchangeObject* TimedTextResourceSubDescriptor_Factory(const Dictionary*& Dict) { return new TimedTextResourceSubDescriptor(Dict); } static InterchangeObject* StereoscopicPictureSubDescriptor_Factory(const Dictionary*& Dict) { return new StereoscopicPictureSubDescriptor(Dict); } -static InterchangeObject* ContainerConstraintSubDescriptor_Factory(const Dictionary*& Dict) { return new ContainerConstraintSubDescriptor(Dict); } +static InterchangeObject* ContainerConstraintsSubDescriptor_Factory(const Dictionary*& Dict) { return new ContainerConstraintsSubDescriptor(Dict); } static InterchangeObject* NetworkLocator_Factory(const Dictionary*& Dict) { return new NetworkLocator(Dict); } static InterchangeObject* MCALabelSubDescriptor_Factory(const Dictionary*& Dict) { return new MCALabelSubDescriptor(Dict); } static InterchangeObject* AudioChannelLabelSubDescriptor_Factory(const Dictionary*& Dict) { return new AudioChannelLabelSubDescriptor(Dict); } @@ -123,7 +123,7 @@ ASDCP::MXF::Metadata_InitTypes(const Dictionary*& Dict) SetObjectFactory(Dict->ul(MDD_TimedTextDescriptor), TimedTextDescriptor_Factory); SetObjectFactory(Dict->ul(MDD_TimedTextResourceSubDescriptor), TimedTextResourceSubDescriptor_Factory); SetObjectFactory(Dict->ul(MDD_StereoscopicPictureSubDescriptor), StereoscopicPictureSubDescriptor_Factory); - SetObjectFactory(Dict->ul(MDD_ContainerConstraintSubDescriptor), ContainerConstraintSubDescriptor_Factory); + SetObjectFactory(Dict->ul(MDD_ContainerConstraintsSubDescriptor), ContainerConstraintsSubDescriptor_Factory); SetObjectFactory(Dict->ul(MDD_NetworkLocator), NetworkLocator_Factory); SetObjectFactory(Dict->ul(MDD_MCALabelSubDescriptor), MCALabelSubDescriptor_Factory); SetObjectFactory(Dict->ul(MDD_AudioChannelLabelSubDescriptor), AudioChannelLabelSubDescriptor_Factory); @@ -2125,6 +2125,18 @@ JPEG2000PictureSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(JPEG2000PictureSubDescriptor, J2CLayout)); J2CLayout.set_has_value( result == RESULT_OK ); } + if ( ASDCP_SUCCESS(result) ) { + result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KExtendedCapabilities)); + J2KExtendedCapabilities.set_has_value( result == RESULT_OK ); + } + if ( ASDCP_SUCCESS(result) ) { + result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KProfile)); + J2KProfile.set_has_value( result == RESULT_OK ); + } + if ( ASDCP_SUCCESS(result) ) { + result = TLVSet.ReadObject(OBJ_READ_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KCorrespondingProfile)); + J2KCorrespondingProfile.set_has_value( result == RESULT_OK ); + } return result; } @@ -2148,6 +2160,9 @@ JPEG2000PictureSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) if ( ASDCP_SUCCESS(result) && ! CodingStyleDefault.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, CodingStyleDefault)); if ( ASDCP_SUCCESS(result) && ! QuantizationDefault.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, QuantizationDefault)); if ( ASDCP_SUCCESS(result) && ! J2CLayout.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2CLayout)); + if ( ASDCP_SUCCESS(result) && ! J2KExtendedCapabilities.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KExtendedCapabilities)); + if ( ASDCP_SUCCESS(result) && ! J2KProfile.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KProfile)); + if ( ASDCP_SUCCESS(result) && ! J2KCorrespondingProfile.empty() ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS_OPT(JPEG2000PictureSubDescriptor, J2KCorrespondingProfile)); return result; } @@ -2170,6 +2185,9 @@ JPEG2000PictureSubDescriptor::Copy(const JPEG2000PictureSubDescriptor& rhs) CodingStyleDefault = rhs.CodingStyleDefault; QuantizationDefault = rhs.QuantizationDefault; J2CLayout = rhs.J2CLayout; + J2KExtendedCapabilities = rhs.J2KExtendedCapabilities; + J2KProfile = rhs.J2KProfile; + J2KCorrespondingProfile = rhs.J2KCorrespondingProfile; } // @@ -2205,6 +2223,17 @@ JPEG2000PictureSubDescriptor::Dump(FILE* stream) if ( ! J2CLayout.empty() ) { fprintf(stream, " %22s = %s\n", "J2CLayout", J2CLayout.get().EncodeString(identbuf, IdentBufferLen)); } + if ( ! J2KExtendedCapabilities.empty() ) { + fprintf(stream, " %22s = %s\n", "J2KExtendedCapabilities", J2KExtendedCapabilities.get().EncodeString(identbuf, IdentBufferLen)); + } + if ( ! J2KProfile.empty() ) { + fprintf(stream, " %22s:\n", "J2KProfile"); + J2KProfile.get().Dump(stream); + } + if ( ! J2KCorrespondingProfile.empty() ) { + fprintf(stream, " %22s:\n", "J2KCorrespondingProfile"); + J2KCorrespondingProfile.get().Dump(stream); + } } // @@ -3287,27 +3316,27 @@ StereoscopicPictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) } //------------------------------------------------------------------------------------------ -// ContainerConstraintSubDescriptor +// ContainerConstraintsSubDescriptor // -ContainerConstraintSubDescriptor::ContainerConstraintSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d) +ContainerConstraintsSubDescriptor::ContainerConstraintsSubDescriptor(const Dictionary*& d) : InterchangeObject(d), m_Dict(d) { assert(m_Dict); - m_UL = m_Dict->ul(MDD_ContainerConstraintSubDescriptor); + m_UL = m_Dict->ul(MDD_ContainerConstraintsSubDescriptor); } -ContainerConstraintSubDescriptor::ContainerConstraintSubDescriptor(const ContainerConstraintSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict) +ContainerConstraintsSubDescriptor::ContainerConstraintsSubDescriptor(const ContainerConstraintsSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict), m_Dict(rhs.m_Dict) { assert(m_Dict); - m_UL = m_Dict->ul(MDD_ContainerConstraintSubDescriptor); + m_UL = m_Dict->ul(MDD_ContainerConstraintsSubDescriptor); Copy(rhs); } // ASDCP::Result_t -ContainerConstraintSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) +ContainerConstraintsSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) { assert(m_Dict); Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); @@ -3316,7 +3345,7 @@ ContainerConstraintSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) // ASDCP::Result_t -ContainerConstraintSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +ContainerConstraintsSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) { assert(m_Dict); Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); @@ -3325,14 +3354,14 @@ ContainerConstraintSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) // void -ContainerConstraintSubDescriptor::Copy(const ContainerConstraintSubDescriptor& rhs) +ContainerConstraintsSubDescriptor::Copy(const ContainerConstraintsSubDescriptor& rhs) { InterchangeObject::Copy(rhs); } // void -ContainerConstraintSubDescriptor::Dump(FILE* stream) +ContainerConstraintsSubDescriptor::Dump(FILE* stream) { char identbuf[IdentBufferLen]; *identbuf = 0; @@ -3345,14 +3374,14 @@ ContainerConstraintSubDescriptor::Dump(FILE* stream) // ASDCP::Result_t -ContainerConstraintSubDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +ContainerConstraintsSubDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) { return InterchangeObject::InitFromBuffer(p, l); } // ASDCP::Result_t -ContainerConstraintSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +ContainerConstraintsSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) { return InterchangeObject::WriteToBuffer(Buffer); } |
