diff options
| author | Thomas Richter <thomas.richter@iis.fraunhofer.de> | 2021-05-26 11:31:08 +0200 |
|---|---|---|
| committer | Thomas Richter <thomas.richter@iis.fraunhofer.de> | 2021-05-26 11:31:08 +0200 |
| commit | a859d0745d501b6290bb1f0bcfef80423ace24f7 (patch) | |
| tree | 3e80331a8824c6b543da80c92b1399d7c46aa7dc /src | |
| parent | 0a656f5a78cb7f6cc603352eb73a7f6ff08e5d5c (diff) | |
Reverted the changes on metadata.cpp/.h from upstream which contains
the updated classes already due to auto-generation.
Diffstat (limited to 'src')
| -rw-r--r-- | src/Metadata.cpp | 266 | ||||
| -rw-r--r-- | src/Metadata.h | 65 |
2 files changed, 163 insertions, 168 deletions
diff --git a/src/Metadata.cpp b/src/Metadata.cpp index 8c6a192..400b826 100644 --- a/src/Metadata.cpp +++ b/src/Metadata.cpp @@ -59,7 +59,6 @@ static InterchangeObject* WaveAudioDescriptor_Factory(const Dictionary* Dict) { static InterchangeObject* GenericPictureEssenceDescriptor_Factory(const Dictionary* Dict) { return new GenericPictureEssenceDescriptor(Dict); } static InterchangeObject* RGBAEssenceDescriptor_Factory(const Dictionary* Dict) { return new RGBAEssenceDescriptor(Dict); } static InterchangeObject* JPEG2000PictureSubDescriptor_Factory(const Dictionary* Dict) { return new JPEG2000PictureSubDescriptor(Dict); } -static InterchangeObject* JPEGXSPictureSubDescriptor_Factory(const Dictionary* Dict) { return new JPEGXSPictureSubDescriptor(Dict); } static InterchangeObject* CDCIEssenceDescriptor_Factory(const Dictionary* Dict) { return new CDCIEssenceDescriptor(Dict); } static InterchangeObject* MPEG2VideoDescriptor_Factory(const Dictionary* Dict) { return new MPEG2VideoDescriptor(Dict); } static InterchangeObject* DMSegment_Factory(const Dictionary* Dict) { return new DMSegment(Dict); } @@ -90,6 +89,8 @@ static InterchangeObject* PHDRMetadataTrackSubDescriptor_Factory(const Dictionar static InterchangeObject* PIMFDynamicMetadataDescriptor_Factory(const Dictionary* Dict) { return new PIMFDynamicMetadataDescriptor(Dict); } static InterchangeObject* IABEssenceDescriptor_Factory(const Dictionary* Dict) { return new IABEssenceDescriptor(Dict); } static InterchangeObject* IABSoundfieldLabelSubDescriptor_Factory(const Dictionary* Dict) { return new IABSoundfieldLabelSubDescriptor(Dict); } +static InterchangeObject* JPEGXSPictureSubDescriptor_Factory(const Dictionary* Dict) { return new JPEGXSPictureSubDescriptor(Dict); } + void ASDCP::MXF::Metadata_InitTypes(const Dictionary* Dict) @@ -114,7 +115,6 @@ ASDCP::MXF::Metadata_InitTypes(const Dictionary* Dict) SetObjectFactory(Dict->ul(MDD_GenericPictureEssenceDescriptor), GenericPictureEssenceDescriptor_Factory); SetObjectFactory(Dict->ul(MDD_RGBAEssenceDescriptor), RGBAEssenceDescriptor_Factory); SetObjectFactory(Dict->ul(MDD_JPEG2000PictureSubDescriptor), JPEG2000PictureSubDescriptor_Factory); - SetObjectFactory(Dict->ul(MDD_JPEGXSPictureSubDescriptor), JPEGXSPictureSubDescriptor_Factory); SetObjectFactory(Dict->ul(MDD_CDCIEssenceDescriptor), CDCIEssenceDescriptor_Factory); SetObjectFactory(Dict->ul(MDD_MPEG2VideoDescriptor), MPEG2VideoDescriptor_Factory); SetObjectFactory(Dict->ul(MDD_DMSegment), DMSegment_Factory); @@ -2397,139 +2397,6 @@ JPEG2000PictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) } //------------------------------------------------------------------------------------------ -// JPEGXSPictureSubDescriptor - -// -JPEGXSPictureSubDescriptor::JPEGXSPictureSubDescriptor(const Dictionary* d) : InterchangeObject(d), - JPEGXSPpih(0), JPEGXSPlev(0), - JPEGXSWf(0), JPEGXSHf(0), JPEGXSNc(0) -{ - assert(m_Dict); - m_UL = m_Dict->ul(MDD_JPEGXSPictureSubDescriptor); -} - -JPEGXSPictureSubDescriptor::JPEGXSPictureSubDescriptor(const JPEGXSPictureSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict) -{ - assert(m_Dict); - m_UL = m_Dict->ul(MDD_JPEGXSPictureSubDescriptor); - Copy(rhs); -} - - -// -ASDCP::Result_t -JPEGXSPictureSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) -{ - assert(m_Dict); - Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSPpih)); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSPlev)); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSWf)); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSHf)); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi8(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSNc)); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSComponentTable)); - if ( ASDCP_SUCCESS(result) ) { - result = TLVSet.ReadUi16(OBJ_READ_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSCw)); - JPEGXSCw.set_has_value( result == RESULT_OK ); - } - if ( ASDCP_SUCCESS(result) ) { - result = TLVSet.ReadUi16(OBJ_READ_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSHsl)); - JPEGXSHsl.set_has_value( result == RESULT_OK ); - } - if ( ASDCP_SUCCESS(result) ) { - result = TLVSet.ReadUi32(OBJ_READ_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSMaximumBitRate)); - JPEGXSMaximumBitRate.set_has_value( result == RESULT_OK ); - } - - return result; -} - -// -ASDCP::Result_t -JPEGXSPictureSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) -{ - assert(m_Dict); - Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSPpih)); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSPlev)); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSWf)); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSHf)); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi8(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSNc)); - if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSComponentTable)); - if ( ASDCP_SUCCESS(result) && ! JPEGXSCw.empty() ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSCw)); - if ( ASDCP_SUCCESS(result) && ! JPEGXSHsl.empty() ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSHsl)); - if ( ASDCP_SUCCESS(result) && ! JPEGXSMaximumBitRate.empty() ) result = TLVSet.WriteUi32(OBJ_WRITE_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSMaximumBitRate)); - return result; -} - -// -void -JPEGXSPictureSubDescriptor::Copy(const JPEGXSPictureSubDescriptor& rhs) -{ - InterchangeObject::Copy(rhs); - - JPEGXSPpih = rhs.JPEGXSPpih; - JPEGXSPlev = rhs.JPEGXSPlev; - JPEGXSWf = rhs.JPEGXSWf; - JPEGXSHf = rhs.JPEGXSHf; - JPEGXSNc = rhs.JPEGXSNc; - JPEGXSComponentTable = rhs.JPEGXSComponentTable; - JPEGXSCw = rhs.JPEGXSCw; - JPEGXSHsl = rhs.JPEGXSHsl; - JPEGXSMaximumBitRate = rhs.JPEGXSMaximumBitRate; -} - -// -InterchangeObject* -JPEGXSPictureSubDescriptor::Clone() const -{ - return new JPEGXSPictureSubDescriptor(*this); -} - -// -void -JPEGXSPictureSubDescriptor::Dump(FILE* stream) -{ - char identbuf[IdentBufferLen]; - *identbuf = 0; - - if ( stream == 0 ) - stream = stderr; - - InterchangeObject::Dump(stream); - fprintf(stream, " %22s = %d\n", "JPEGXSPpih", JPEGXSPpih); - fprintf(stream, " %22s = %d\n", "JPEGXSPlev", JPEGXSPlev); - fprintf(stream, " %22s = %d\n", "JPEGXSWf", JPEGXSWf); - fprintf(stream, " %22s = %d\n", "JPEGXSHf", JPEGXSHf); - fprintf(stream, " %22s = %d\n", "JPEGXSNc", JPEGXSNc); - fprintf(stream, " %22s = %s\n", "JPEGXSComponentTable", JPEGXSComponentTable.EncodeString(identbuf, IdentBufferLen)); - if ( ! JPEGXSCw.empty()) { - fprintf(stream, " %22s = %d\n", "JPEGXSCw", JPEGXSCw.get()); - } - if ( ! JPEGXSHsl.empty()) { - fprintf(stream, " %22s = %d\n", "JPEGXSHsl", JPEGXSHsl.get()); - } - if ( ! JPEGXSMaximumBitRate.empty()) { - fprintf(stream, " %22s = %d\n", "JPEGXSMaximumBitRate", JPEGXSMaximumBitRate.get()); - } -} - -// -ASDCP::Result_t -JPEGXSPictureSubDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) -{ - return InterchangeObject::InitFromBuffer(p, l); -} - -// -ASDCP::Result_t -JPEGXSPictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) -{ - return InterchangeObject::WriteToBuffer(Buffer); -} - - -//------------------------------------------------------------------------------------------ // CDCIEssenceDescriptor // @@ -5482,6 +5349,135 @@ IABSoundfieldLabelSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) return InterchangeObject::WriteToBuffer(Buffer); } +//------------------------------------------------------------------------------------------ +// JPEGXSPictureSubDescriptor + +// + +JPEGXSPictureSubDescriptor::JPEGXSPictureSubDescriptor(const Dictionary* d) : InterchangeObject(d), JPEGXSPpih(0), JPEGXSPlev(0), JPEGXSWf(0), JPEGXSHf(0), JPEGXSNc(0) +{ + assert(m_Dict); + m_UL = m_Dict->ul(MDD_JPEGXSPictureSubDescriptor); +} + +JPEGXSPictureSubDescriptor::JPEGXSPictureSubDescriptor(const JPEGXSPictureSubDescriptor& rhs) : InterchangeObject(rhs.m_Dict) +{ + assert(m_Dict); + m_UL = m_Dict->ul(MDD_JPEGXSPictureSubDescriptor); + Copy(rhs); +} + + +// +ASDCP::Result_t +JPEGXSPictureSubDescriptor::InitFromTLVSet(TLVReader& TLVSet) +{ + assert(m_Dict); + Result_t result = InterchangeObject::InitFromTLVSet(TLVSet); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSPpih)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSPlev)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSWf)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi16(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSHf)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadUi8(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSNc)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.ReadObject(OBJ_READ_ARGS(JPEGXSPictureSubDescriptor, JPEGXSComponentTable)); + if ( ASDCP_SUCCESS(result) ) { + result = TLVSet.ReadUi16(OBJ_READ_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSCw)); + JPEGXSCw.set_has_value( result == RESULT_OK ); + } + if ( ASDCP_SUCCESS(result) ) { + result = TLVSet.ReadUi16(OBJ_READ_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSHsl)); + JPEGXSHsl.set_has_value( result == RESULT_OK ); + } + if ( ASDCP_SUCCESS(result) ) { + result = TLVSet.ReadUi32(OBJ_READ_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSMaximumBitRate)); + JPEGXSMaximumBitRate.set_has_value( result == RESULT_OK ); + } + return result; +} + +// +ASDCP::Result_t +JPEGXSPictureSubDescriptor::WriteToTLVSet(TLVWriter& TLVSet) +{ + assert(m_Dict); + Result_t result = InterchangeObject::WriteToTLVSet(TLVSet); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSPpih)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSPlev)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSWf)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSHf)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteUi8(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSNc)); + if ( ASDCP_SUCCESS(result) ) result = TLVSet.WriteObject(OBJ_WRITE_ARGS(JPEGXSPictureSubDescriptor, JPEGXSComponentTable)); + if ( ASDCP_SUCCESS(result) && ! JPEGXSCw.empty() ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSCw)); + if ( ASDCP_SUCCESS(result) && ! JPEGXSHsl.empty() ) result = TLVSet.WriteUi16(OBJ_WRITE_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSHsl)); + if ( ASDCP_SUCCESS(result) && ! JPEGXSMaximumBitRate.empty() ) result = TLVSet.WriteUi32(OBJ_WRITE_ARGS_OPT(JPEGXSPictureSubDescriptor, JPEGXSMaximumBitRate)); + return result; +} + +// +void +JPEGXSPictureSubDescriptor::Copy(const JPEGXSPictureSubDescriptor& rhs) +{ + InterchangeObject::Copy(rhs); + JPEGXSPpih = rhs.JPEGXSPpih; + JPEGXSPlev = rhs.JPEGXSPlev; + JPEGXSWf = rhs.JPEGXSWf; + JPEGXSHf = rhs.JPEGXSHf; + JPEGXSNc = rhs.JPEGXSNc; + JPEGXSComponentTable = rhs.JPEGXSComponentTable; + JPEGXSCw = rhs.JPEGXSCw; + JPEGXSHsl = rhs.JPEGXSHsl; + JPEGXSMaximumBitRate = rhs.JPEGXSMaximumBitRate; +} + +// +InterchangeObject* +JPEGXSPictureSubDescriptor::Clone() const +{ + return new JPEGXSPictureSubDescriptor(*this); +} + +// +void +JPEGXSPictureSubDescriptor::Dump(FILE* stream) +{ + char identbuf[IdentBufferLen]; + *identbuf = 0; + + if ( stream == 0 ) + stream = stderr; + + InterchangeObject::Dump(stream); + fprintf(stream, " %22s = %d\n", "JPEGXSPpih", JPEGXSPpih); + fprintf(stream, " %22s = %d\n", "JPEGXSPlev", JPEGXSPlev); + fprintf(stream, " %22s = %d\n", "JPEGXSWf", JPEGXSWf); + fprintf(stream, " %22s = %d\n", "JPEGXSHf", JPEGXSHf); + fprintf(stream, " %22s = %d\n", "JPEGXSNc", JPEGXSNc); + fprintf(stream, " %22s = %s\n", "JPEGXSComponentTable", JPEGXSComponentTable.EncodeString(identbuf, IdentBufferLen)); + if ( ! JPEGXSCw.empty() ) { + fprintf(stream, " %22s = %d\n", "JPEGXSCw", JPEGXSCw.get()); + } + if ( ! JPEGXSHsl.empty() ) { + fprintf(stream, " %22s = %d\n", "JPEGXSHsl", JPEGXSHsl.get()); + } + if ( ! JPEGXSMaximumBitRate.empty() ) { + fprintf(stream, " %22s = %d\n", "JPEGXSMaximumBitRate", JPEGXSMaximumBitRate.get()); + } +} + +// +ASDCP::Result_t +JPEGXSPictureSubDescriptor::InitFromBuffer(const byte_t* p, ui32_t l) +{ + return InterchangeObject::InitFromBuffer(p, l); +} + +// +ASDCP::Result_t +JPEGXSPictureSubDescriptor::WriteToBuffer(ASDCP::FrameBuffer& Buffer) +{ + return InterchangeObject::WriteToBuffer(Buffer); +} + // // end Metadata.cpp // diff --git a/src/Metadata.h b/src/Metadata.h index 0d6bd1d..7d5f2a2 100644 --- a/src/Metadata.h +++ b/src/Metadata.h @@ -550,38 +550,6 @@ namespace ASDCP virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); }; - - // thor: this is taken from ST2124 - class JPEGXSPictureSubDescriptor : public InterchangeObject - { - JPEGXSPictureSubDescriptor(); - - public: - ui16_t JPEGXSPpih; // Profile of this codestream, copy from PIH.Ppih - ui16_t JPEGXSPlev; // Level and sublevel of this codestream, copy from PIH.Plev - ui16_t JPEGXSWf; // Frame width in sample grid positions, copy from PIH.Wf - ui16_t JPEGXSHf; // Frame height in sample grid positions, copy from PIH.Hf - ui8_t JPEGXSNc; // Number of components, copy from PIH.Nc - Raw JPEGXSComponentTable; // raw copy of the component table - optional_property<ui16_t> JPEGXSCw; // Column width, copy from PIH.Cw - optional_property<ui16_t> JPEGXSHsl; // Slice height, copy from PIH.Slh - optional_property<ui32_t> JPEGXSMaximumBitRate; // Bitrate in MB/sec. This shall be consistent with the brat field of the video information box - - JPEGXSPictureSubDescriptor(const Dictionary* d); - JPEGXSPictureSubDescriptor(const JPEGXSPictureSubDescriptor& rhs); - virtual ~JPEGXSPictureSubDescriptor() {} - - const JPEGXSPictureSubDescriptor& operator=(const JPEGXSPictureSubDescriptor& rhs) { Copy(rhs); return *this; } - virtual void Copy(const JPEGXSPictureSubDescriptor& rhs); - virtual InterchangeObject *Clone() const; - virtual const char* HasName() { return "JPEGXSPictureSubDescriptor"; } - virtual Result_t InitFromTLVSet(TLVReader& TLVSet); - virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); - virtual void Dump(FILE* = 0); - virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); - virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); - }; - // class JPEG2000PictureSubDescriptor : public InterchangeObject { @@ -1372,7 +1340,38 @@ namespace ASDCP virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); }; - + + // + class JPEGXSPictureSubDescriptor : public InterchangeObject + { + JPEGXSPictureSubDescriptor(); + + public: + ui16_t JPEGXSPpih; + ui16_t JPEGXSPlev; + ui16_t JPEGXSWf; + ui16_t JPEGXSHf; + ui8_t JPEGXSNc; + Raw JPEGXSComponentTable; + optional_property<ui16_t > JPEGXSCw; + optional_property<ui16_t > JPEGXSHsl; + optional_property<ui32_t > JPEGXSMaximumBitRate; + + JPEGXSPictureSubDescriptor(const Dictionary* d); + JPEGXSPictureSubDescriptor(const JPEGXSPictureSubDescriptor& rhs); + virtual ~JPEGXSPictureSubDescriptor() {} + + const JPEGXSPictureSubDescriptor& operator=(const JPEGXSPictureSubDescriptor& rhs) { Copy(rhs); return *this; } + virtual void Copy(const JPEGXSPictureSubDescriptor& rhs); + virtual InterchangeObject *Clone() const; + virtual const char* HasName() { return "JPEGXSPictureSubDescriptor"; } + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t WriteToTLVSet(TLVWriter& TLVSet); + virtual void Dump(FILE* = 0); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + }; + } // namespace MXF } // namespace ASDCP |
