diff options
| author | jhurst <jhurst@cinecert.com> | 2005-12-21 09:16:32 +0000 |
|---|---|---|
| committer | jhurst <> | 2005-12-21 09:16:32 +0000 |
| commit | a526fabf937848823b02d5486a6ec38f8442bb1c (patch) | |
| tree | 7babb27134c92535691d2aba06a7d0b6a542152b /src/Metadata.h | |
| parent | c6900386fb66832781456838804ed7e28c535d63 (diff) | |
code-generated metadata!
Diffstat (limited to 'src/Metadata.h')
| -rwxr-xr-x | src/Metadata.h | 476 |
1 files changed, 275 insertions, 201 deletions
diff --git a/src/Metadata.h b/src/Metadata.h index deb1abd..a9d05ab 100755 --- a/src/Metadata.h +++ b/src/Metadata.h @@ -38,240 +38,297 @@ namespace ASDCP { namespace MXF { + // Types + class RGBLayout : public IArchive + { + public: + struct element { + ui8_t Code; + ui8_t Depth; + } PictureElement[8]; + RGBLayout() { memset(PictureElement, 0, sizeof(PictureElement)); } + + // + Result_t ReadFrom(ASDCP::MemIOReader& Reader) { return RESULT_OK; } + Result_t WriteTo(ASDCP::MemIOWriter& Writer) { return RESULT_OK; } + }; + + class Raw : public IArchive + { + ASDCP_NO_COPY_CONSTRUCT(Raw); + + public: + byte_t* data; + Raw() {} + ~Raw() {} + + // + Result_t ReadFrom(ASDCP::MemIOReader& Reader) { return RESULT_OK; } + Result_t WriteTo(ASDCP::MemIOWriter& Writer) { return RESULT_OK; } + }; + + // + // class Identification : public InterchangeObject { ASDCP_NO_COPY_CONSTRUCT(Identification); public: - UUID ThisGenerationUID; - UTF16String CompanyName; - UTF16String ProductName; - ui16_t ProductVersion; - UTF16String VersionString; - UUID ProductUID; - Timestamp ModificationDate; - ui16_t ToolkitVersion; - UTF16String Platform; - - Identification() {} + UUID ThisGenerationUID; + UTF16String CompanyName; + UTF16String ProductName; + ui16_t ProductVersion; + UTF16String VersionString; + UUID ProductUID; + Timestamp ModificationDate; + ui16_t ToolkitVersion; + UTF16String Platform; + + Identification() : ProductVersion(0), ToolkitVersion(0) {} virtual ~Identification() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); }; - // class ContentStorage : public InterchangeObject { ASDCP_NO_COPY_CONSTRUCT(ContentStorage); public: - UUID GenerationUID; - Batch<UUID> Packages; - Batch<UUID> EssenceContainerData; + Batch<UUID> Packages; + Batch<UUID> EssenceContainerData; ContentStorage() {} virtual ~ContentStorage() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); }; - // + // class GenericPackage : public InterchangeObject { ASDCP_NO_COPY_CONSTRUCT(GenericPackage); public: - UMID PackageUID; - UUID GenerationUID; - UTF16String Name; - Timestamp PackageCreationDate; - Timestamp PackageModifiedDate; - Batch<UID> Tracks; - - GenericPackage() {} - virtual ~GenericPackage() {} - virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l) = 0; - virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); - virtual void Dump(FILE* = 0) = 0; - }; + UMID PackageUID; + UTF16String Name; + Timestamp PackageCreationDate; + Timestamp PackageModifiedDate; + Batch<UID> Tracks; + GenericPackage() {} + virtual ~GenericPackage() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + }; - // + // class MaterialPackage : public GenericPackage { ASDCP_NO_COPY_CONSTRUCT(MaterialPackage); public: - MaterialPackage() {} + + MaterialPackage() {} virtual ~MaterialPackage() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); - }; - + }; - // + // class SourcePackage : public GenericPackage { ASDCP_NO_COPY_CONSTRUCT(SourcePackage); public: - SourcePackage() {} + + SourcePackage() {} virtual ~SourcePackage() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); - }; + }; + + // + class GenericTrack : public InterchangeObject + { + ASDCP_NO_COPY_CONSTRUCT(GenericTrack); + + public: + ui32_t TrackID; + ui32_t TrackNumber; + UTF16String TrackName; + UUID Sequence; + + GenericTrack() : TrackID(0), TrackNumber(0) {} + virtual ~GenericTrack() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + }; // - class Track : public InterchangeObject + class Track : public GenericTrack { ASDCP_NO_COPY_CONSTRUCT(Track); public: - UUID GenerationUID; - ui32_t TrackID; - ui32_t TrackNumber; - UTF16String TrackName; - UUID Sequence; - Rational EditRate; - ui64_t Origin; - - Track() {} + Rational EditRate; + ui64_t Origin; + + Track() : Origin(0) {} virtual ~Track() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); }; - // - class Sequence : public InterchangeObject + // + class StructuralComponent : public InterchangeObject + { + ASDCP_NO_COPY_CONSTRUCT(StructuralComponent); + + public: + UL DataDefinition; + ui64_t Duration; + + StructuralComponent() : Duration(0) {} + virtual ~StructuralComponent() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + }; + + // + class Sequence : public StructuralComponent { ASDCP_NO_COPY_CONSTRUCT(Sequence); public: - UUID GenerationUID; - UL DataDefinition; - ui64_t Duration; - Batch<UID> StructuralComponents; + Batch<UID> StructuralComponents; - Sequence() {} + Sequence() {} virtual ~Sequence() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); - }; + }; - // - class SourceClip : public InterchangeObject + // + class SourceClip : public StructuralComponent { ASDCP_NO_COPY_CONSTRUCT(SourceClip); public: - UUID GenerationUID; - UL DataDefinition; - ui64_t StartPosition; - ui64_t Duration; - UMID SourcePackageID; - ui32_t SourceTrackID; - - SourceClip() {} + ui64_t StartPosition; + UMID SourcePackageID; + ui32_t SourceTrackID; + + SourceClip() : StartPosition(0), SourceTrackID(0) {} virtual ~SourceClip() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); - }; + }; - // - class TimecodeComponent : public InterchangeObject + // + class TimecodeComponent : public StructuralComponent { ASDCP_NO_COPY_CONSTRUCT(TimecodeComponent); public: - UUID GenerationUID; - UL DataDefinition; - ui64_t Duration; - ui16_t RoundedTimecodeBase; - ui64_t StartTimecode; - ui8_t DropFrame; - - TimecodeComponent() {} + ui16_t RoundedTimecodeBase; + ui64_t StartTimecode; + ui8_t DropFrame; + + TimecodeComponent() : RoundedTimecodeBase(0), StartTimecode(0), DropFrame(0) {} virtual ~TimecodeComponent() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); - }; - + }; + // - class MPEG2VideoDescriptor : public ASDCP::MPEG2::VideoDescriptor, public InterchangeObject + class GenericDescriptor : public InterchangeObject { - ASDCP_NO_COPY_CONSTRUCT(MPEG2VideoDescriptor); + ASDCP_NO_COPY_CONSTRUCT(GenericDescriptor); - public: - ui32_t LinkedTrackID; - UL EssenceContainer; + public: + Batch<UUID> Locators; + Batch<UUID> SubDescriptors; - MPEG2VideoDescriptor() : LinkedTrackID(0) {} - ~MPEG2VideoDescriptor() {} - virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); - virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); - virtual void Dump(FILE* = 0); + GenericDescriptor() {} + virtual ~GenericDescriptor() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); }; // - class FileDescriptor : public InterchangeObject + class FileDescriptor : public GenericDescriptor { ASDCP_NO_COPY_CONSTRUCT(FileDescriptor); - public: - UUID GenerationUID; - Batch<UUID> Locators; - Batch<UUID> SubDescriptors; - ui32_t LinkedTrackID; - Rational SampleRate; - ui64_t ContainerDuration; - UL EssenceContainer; - UL Codec; + public: + ui32_t LinkedTrackID; + Rational SampleRate; + ui64_t ContainerDuration; + UL EssenceContainer; + UL Codec; FileDescriptor() : LinkedTrackID(0), ContainerDuration(0) {} - ~FileDescriptor() {} + virtual ~FileDescriptor() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); }; // - class WaveAudioDescriptor : public FileDescriptor + class GenericSoundEssenceDescriptor : public FileDescriptor + { + ASDCP_NO_COPY_CONSTRUCT(GenericSoundEssenceDescriptor); + + public: + Rational AudioSamplingRate; + ui8_t Locked; + ui8_t AudioRefLevel; + ui8_t ElectroSpatialFormulation; + ui32_t ChannelCount; + ui32_t QuantizationBits; + ui8_t DialNorm; + UL SoundEssenceCompression; + + GenericSoundEssenceDescriptor() : Locked(0), AudioRefLevel(0), ElectroSpatialFormulation(0), ChannelCount(0), QuantizationBits(0), DialNorm(0) {} + virtual ~GenericSoundEssenceDescriptor() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + virtual void Dump(FILE* = 0); + }; + + // + class WaveAudioDescriptor : public GenericSoundEssenceDescriptor { ASDCP_NO_COPY_CONSTRUCT(WaveAudioDescriptor); - public: - Rational AudioSamplingRate; - ui8_t Locked; - i8_t AudioRefLevel; - ui8_t ElectroSpatialFormulation; - ui32_t ChannelCount; - ui32_t QuantizationBits; - i8_t DialNorm; - UL SoundEssenceCompression; - ui16_t BlockAlign; - ui8_t SequenceOffset; - ui32_t AvgBps; - // Stream PeakEnvelope; - - WaveAudioDescriptor() : - Locked(false), AudioRefLevel(0), ElectroSpatialFormulation(0), - ChannelCount(0), QuantizationBits(0), DialNorm(0), BlockAlign(0), - SequenceOffset(0), AvgBps(0) {} - - ~WaveAudioDescriptor() {} - virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + public: + ui16_t BlockAlign; + ui8_t SequenceOffset; + ui32_t AvgBps; + + WaveAudioDescriptor() : BlockAlign(0), SequenceOffset(0), AvgBps(0) {} + virtual ~WaveAudioDescriptor() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); - virtual void Dump(FILE* = 0); + virtual void Dump(FILE* = 0); }; // @@ -279,26 +336,22 @@ namespace ASDCP { ASDCP_NO_COPY_CONSTRUCT(GenericPictureEssenceDescriptor); - public: - ui8_t FrameLayout; - ui32_t StoredWidth; - ui32_t StoredHeight; - ui32_t DisplayWidth; - ui32_t DisplayHeight; - Rational AspectRatio; - ui32_t ComponentMaxRef; - ui32_t ComponentMinRef; - UL Gamma; - UL PictureEssenceCoding; - - GenericPictureEssenceDescriptor() : - FrameLayout(0), StoredWidth(0), StoredHeight(0), DisplayWidth(0), - DisplayHeight(0), ComponentMaxRef(0), ComponentMinRef(0) {} - - ~GenericPictureEssenceDescriptor() {} - // virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + public: + ui8_t FrameLayout; + ui32_t StoredWidth; + ui32_t StoredHeight; + ui32_t DisplayWidth; + ui32_t DisplayHeight; + Rational AspectRatio; + UL Gamma; + UL PictureEssenceCoding; + + GenericPictureEssenceDescriptor() : FrameLayout(0), StoredWidth(0), StoredHeight(0), DisplayWidth(0), DisplayHeight(0) {} + virtual ~GenericPictureEssenceDescriptor() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); - // virtual void Dump(FILE* = 0); + virtual void Dump(FILE* = 0); }; // @@ -306,69 +359,88 @@ namespace ASDCP { ASDCP_NO_COPY_CONSTRUCT(RGBAEssenceDescriptor); - public: - class RGBLayout - { - public: - struct element { - ui8_t Code; - ui8_t Depth; - } PictureElement[8]; - RGBLayout() { memset(PictureElement, 0, sizeof(PictureElement)); } - }; - - RGBLayout PixelLayout; - - RGBAEssenceDescriptor() {} - ~RGBAEssenceDescriptor() {} - // virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + public: + ui32_t ComponentMaxRef; + ui32_t ComponentMinRef; + RGBLayout PixelLayout; + + RGBAEssenceDescriptor() : ComponentMaxRef(0), ComponentMinRef(0) {} + virtual ~RGBAEssenceDescriptor() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); - // virtual void Dump(FILE* = 0); + virtual void Dump(FILE* = 0); }; - class Raw + // + class JPEG2000PictureSubDescriptor : public InterchangeObject { - ASDCP_NO_COPY_CONSTRUCT(Raw); + ASDCP_NO_COPY_CONSTRUCT(JPEG2000PictureSubDescriptor); public: - byte_t* data; - Raw() {} - ~Raw() {} - + ui16_t Rsize; + ui32_t Xsize; + ui32_t Ysize; + ui32_t XOsize; + ui32_t YOsize; + ui32_t XTsize; + ui32_t YTsize; + ui32_t XTOsize; + ui32_t YTOsize; + ui16_t Csize; + Raw PictureComponentSizing; + Raw CodingStyleDefault; + Raw QuantizationDefault; + + JPEG2000PictureSubDescriptor() : Rsize(0), Xsize(0), Ysize(0), XOsize(0), YOsize(0), XTsize(0), YTsize(0), XTOsize(0), YTOsize(0), Csize(0) {} + virtual ~JPEG2000PictureSubDescriptor() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + virtual void Dump(FILE* = 0); }; // - class JPEG2000PictureSubDescriptor : public InterchangeObject + class CDCIEssenceDescriptor : public GenericPictureEssenceDescriptor { - ASDCP_NO_COPY_CONSTRUCT(JPEG2000PictureSubDescriptor); + ASDCP_NO_COPY_CONSTRUCT(CDCIEssenceDescriptor); public: - ui16_t Rsize; - ui32_t Xsize; - ui32_t Ysize; - ui32_t XOsize; - ui32_t YOsize; - ui32_t XTsize; - ui32_t YTsize; - ui32_t XTOsize; - ui32_t YTOsize; - ui16_t Csize; - Raw PictureComponentSizing; - Raw CodingStyleDefault; - Raw QuantizationDefault; - - JPEG2000PictureSubDescriptor() : - Rsize(0), Xsize(0), Ysize(0), - XOsize(0), YOsize(0), XTsize(0), - YTsize(0), XTOsize(0), YTOsize(0), - Csize(0) {} - - ~JPEG2000PictureSubDescriptor() {} - // virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + ui32_t ComponentDepth; + ui32_t HorizontalSubsampling; + ui32_t VerticalSubsampling; + ui8_t ColorSiting; + ui8_t ReversedByteOrder; + ui32_t BlackRefLevel; + ui32_t WhiteReflevel; + ui32_t ColorRange; + + CDCIEssenceDescriptor() : ComponentDepth(0), HorizontalSubsampling(0), VerticalSubsampling(0), ColorSiting(0), ReversedByteOrder(0), BlackRefLevel(0), WhiteReflevel(0), ColorRange(0) {} + virtual ~CDCIEssenceDescriptor() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); - // virtual void Dump(FILE* = 0); - }; + virtual void Dump(FILE* = 0); + }; + // + class MPEG2VideoDescriptor : public CDCIEssenceDescriptor + { + ASDCP_NO_COPY_CONSTRUCT(MPEG2VideoDescriptor); + + public: + ui8_t CodedContentType; + ui8_t LowDelay; + ui32_t BitRate; + ui8_t ProfileAndLevel; + + MPEG2VideoDescriptor() : CodedContentType(0), LowDelay(0), BitRate(0), ProfileAndLevel(0) {} + virtual ~MPEG2VideoDescriptor() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); + virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + virtual void Dump(FILE* = 0); + }; // class CryptographicFramework : public InterchangeObject @@ -376,14 +448,15 @@ namespace ASDCP ASDCP_NO_COPY_CONSTRUCT(CryptographicFramework); public: - UUID ContextSR; + UUID ContextSR; CryptographicFramework() {} - ~CryptographicFramework() {} + virtual ~CryptographicFramework() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); - // virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); - }; + }; // class CryptographicContext : public InterchangeObject @@ -391,18 +464,19 @@ namespace ASDCP ASDCP_NO_COPY_CONSTRUCT(CryptographicContext); public: - UUID ContextID; - UL SourceEssenceContainer; - UL CipherAlgorithm; - UL MICAlgorithm; - UUID CryptographicKeyID; + UUID ContextID; + UL SourceEssenceContainer; + UL CipherAlgorithm; + UL MICAlgorithm; + UUID CryptographicKeyID; CryptographicContext() {} - ~CryptographicContext() {} + virtual ~CryptographicContext() {} + virtual Result_t InitFromTLVSet(TLVReader& TLVSet); virtual Result_t InitFromBuffer(const byte_t* p, ui32_t l); - // virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); + virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&); virtual void Dump(FILE* = 0); - }; + }; } // namespace MXF } // namespace ASDCP |
