UUID ProductUID;
Kumu::Timestamp ModificationDate;
VersionType ToolkitVersion;
- UTF16String Platform;
+ optional_property<UTF16String> Platform;
Identification(const Dictionary*& d);
Identification(const Identification& rhs);
public:
const Dictionary*& m_Dict;
UMID LinkedPackageUID;
- ui32_t IndexSID;
+ optional_property<ui32_t> IndexSID;
ui32_t BodySID;
EssenceContainerData(const Dictionary*& d);
public:
const Dictionary*& m_Dict;
UMID PackageUID;
- UTF16String Name;
+ optional_property<UTF16String> Name;
Kumu::Timestamp PackageCreationDate;
Kumu::Timestamp PackageModifiedDate;
Batch<UUID> Tracks;
public:
const Dictionary*& m_Dict;
+ optional_property<UUID> PackageMarker;
MaterialPackage(const Dictionary*& d);
MaterialPackage(const MaterialPackage& rhs);
const Dictionary*& m_Dict;
ui32_t TrackID;
ui32_t TrackNumber;
- UTF16String TrackName;
- UUID Sequence;
+ optional_property<UTF16String> TrackName;
+ optional_property<UUID> Sequence;
GenericTrack(const Dictionary*& d);
GenericTrack(const GenericTrack& rhs);
public:
const Dictionary*& m_Dict;
UL DataDefinition;
- ui64_t Duration;
+ optional_property<ui64_t> Duration;
StructuralComponent(const Dictionary*& d);
StructuralComponent(const StructuralComponent& rhs);
public:
const Dictionary*& m_Dict;
- ui32_t LinkedTrackID;
+ optional_property<ui32_t> LinkedTrackID;
Rational SampleRate;
- ui64_t ContainerDuration;
+ optional_property<ui64_t> ContainerDuration;
UL EssenceContainer;
- UL Codec;
+ optional_property<UL> Codec;
FileDescriptor(const Dictionary*& d);
FileDescriptor(const FileDescriptor& rhs);
const Dictionary*& m_Dict;
Rational AudioSamplingRate;
ui8_t Locked;
- ui8_t AudioRefLevel;
+ optional_property<ui8_t> AudioRefLevel;
+ optional_property<ui8_t> ElectroSpatialFormulation;
ui32_t ChannelCount;
ui32_t QuantizationBits;
- ui8_t DialNorm;
+ optional_property<ui8_t> DialNorm;
+ UL SoundEssenceCoding;
GenericSoundEssenceDescriptor(const Dictionary*& d);
GenericSoundEssenceDescriptor(const GenericSoundEssenceDescriptor& rhs);
public:
const Dictionary*& m_Dict;
ui16_t BlockAlign;
- ui8_t SequenceOffset;
+ optional_property<ui8_t> SequenceOffset;
ui32_t AvgBps;
- UL ChannelAssignment;
+ optional_property<UL> ChannelAssignment;
+ optional_property<Rational> ReferenceImageEditRate;
+ optional_property<ui8_t> ReferenceAudioAlignmentLevel;
WaveAudioDescriptor(const Dictionary*& d);
WaveAudioDescriptor(const WaveAudioDescriptor& rhs);
public:
const Dictionary*& m_Dict;
+ optional_property<ui8_t> SignalStandard;
ui8_t FrameLayout;
ui32_t StoredWidth;
ui32_t StoredHeight;
+ optional_property<ui32_t> StoredF2Offset;
+ optional_property<ui32_t> SampledWidth;
+ optional_property<ui32_t> SampledHeight;
+ optional_property<ui32_t> SampledXOffset;
+ optional_property<ui32_t> SampledYOffset;
+ optional_property<ui32_t> DisplayHeight;
+ optional_property<ui32_t> DisplayWidth;
+ optional_property<ui32_t> DisplayXOffset;
+ optional_property<ui32_t> DisplayYOffset;
+ optional_property<ui32_t> DisplayF2Offset;
Rational AspectRatio;
+ optional_property<ui8_t> ActiveFormatDescriptor;
+ optional_property<ui8_t> AlphaTransparency;
+ optional_property<UL> TransferCharacteristic;
+ optional_property<ui32_t> ImageAlignmentOffset;
+ optional_property<ui32_t> ImageStartOffset;
+ optional_property<ui32_t> ImageEndOffset;
+ optional_property<ui8_t> FieldDominance;
UL PictureEssenceCoding;
+ optional_property<UL> CodingEquations;
+ optional_property<UL> ColorPrimaries;
+ Batch<UL> AlternativeCenterCuts;
+ optional_property<ui32_t> ActiveWidth;
+ optional_property<ui32_t> ActiveHeight;
+ optional_property<ui32_t> ActiveXOffset;
+ optional_property<ui32_t> ActiveYOffset;
GenericPictureEssenceDescriptor(const Dictionary*& d);
GenericPictureEssenceDescriptor(const GenericPictureEssenceDescriptor& rhs);
public:
const Dictionary*& m_Dict;
- ui32_t ComponentMaxRef;
- ui32_t ComponentMinRef;
+ optional_property<ui32_t> ComponentMaxRef;
+ optional_property<ui32_t> ComponentMinRef;
+ optional_property<ui32_t> AlphaMinRef;
+ optional_property<ui32_t> AlphaMaxRef;
+ optional_property<ui8_t> ScanningDirection;
RGBAEssenceDescriptor(const Dictionary*& d);
RGBAEssenceDescriptor(const RGBAEssenceDescriptor& rhs);
ui32_t XTOsize;
ui32_t YTOsize;
ui16_t Csize;
- Raw PictureComponentSizing;
- Raw CodingStyleDefault;
- Raw QuantizationDefault;
+ optional_property<Raw> PictureComponentSizing;
+ optional_property<Raw> CodingStyleDefault;
+ optional_property<Raw> QuantizationDefault;
JPEG2000PictureSubDescriptor(const Dictionary*& d);
JPEG2000PictureSubDescriptor(const JPEG2000PictureSubDescriptor& rhs);
const Dictionary*& m_Dict;
ui32_t ComponentDepth;
ui32_t HorizontalSubsampling;
- ui32_t VerticalSubsampling;
- ui8_t ColorSiting;
+ optional_property<ui32_t> VerticalSubsampling;
+ optional_property<ui8_t> ColorSiting;
+ optional_property<ui8_t> ReversedByteOrder;
+ optional_property<ui16_t> PaddingBits;
+ optional_property<ui32_t> AlphaSampleDepth;
+ optional_property<ui32_t> BlackRefLevel;
+ optional_property<ui32_t> WhiteReflevel;
+ optional_property<ui32_t> ColorRange;
CDCIEssenceDescriptor(const Dictionary*& d);
CDCIEssenceDescriptor(const CDCIEssenceDescriptor& rhs);
public:
const Dictionary*& m_Dict;
- ui8_t CodedContentType;
- ui8_t LowDelay;
- ui32_t BitRate;
- ui8_t ProfileAndLevel;
+ optional_property<ui8_t> SingleSequence;
+ optional_property<ui8_t> ConstantBFrames;
+ optional_property<ui8_t> CodedContentType;
+ optional_property<ui8_t> LowDelay;
+ optional_property<ui8_t> ClosedGOP;
+ optional_property<ui8_t> IdenticalGOP;
+ optional_property<ui8_t> MaxGOP;
+ optional_property<ui8_t> BPictureCount;
+ optional_property<ui32_t> BitRate;
+ optional_property<ui8_t> ProfileAndLevel;
MPEG2VideoDescriptor(const Dictionary*& d);
MPEG2VideoDescriptor(const MPEG2VideoDescriptor& rhs);
UUID ResourceID;
UTF16String UCSEncoding;
UTF16String NamespaceURI;
+ optional_property<UTF16String> RFC5646LanguageTagList;
TimedTextDescriptor(const Dictionary*& d);
TimedTextDescriptor(const TimedTextDescriptor& rhs);
UL MCALabelDictionaryID;
UUID MCALinkID;
UTF16String MCATagSymbol;
- UTF16String MCATagName;
- ui32_t MCAChannelID;
- ISO8String RFC5646SpokenLanguage;
+ optional_property<UTF16String> MCATagName;
+ optional_property<ui32_t> MCAChannelID;
+ optional_property<ISO8String> RFC5646SpokenLanguage;
MCALabelSubDescriptor(const Dictionary*& d);
MCALabelSubDescriptor(const MCALabelSubDescriptor& rhs);
virtual Result_t WriteToBuffer(ASDCP::FrameBuffer&);
};
+ //
+ class DCDataDescriptor : public GenericDataEssenceDescriptor
+ {
+ DCDataDescriptor();
+
+ public:
+ const Dictionary*& m_Dict;
+
+ DCDataDescriptor(const Dictionary*& d);
+ DCDataDescriptor(const DCDataDescriptor& rhs);
+ virtual ~DCDataDescriptor() {}
+
+ const DCDataDescriptor& operator=(const DCDataDescriptor& rhs) { Copy(rhs); return *this; }
+ virtual void Copy(const DCDataDescriptor& rhs);
+ virtual const char* HasName() { return "DCDataDescriptor"; }
+ 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 DolbyAtmosSubDescriptor : public InterchangeObject
+ {
+ DolbyAtmosSubDescriptor();
+
+ public:
+ const Dictionary*& m_Dict;
+ UUID AtmosID;
+ ui32_t FirstFrame;
+ ui16_t MaxChannelCount;
+ ui16_t MaxObjectCount;
+ ui8_t AtmosVersion;
+
+ DolbyAtmosSubDescriptor(const Dictionary*& d);
+ DolbyAtmosSubDescriptor(const DolbyAtmosSubDescriptor& rhs);
+ virtual ~DolbyAtmosSubDescriptor() {}
+
+ const DolbyAtmosSubDescriptor& operator=(const DolbyAtmosSubDescriptor& rhs) { Copy(rhs); return *this; }
+ virtual void Copy(const DolbyAtmosSubDescriptor& rhs);
+ virtual const char* HasName() { return "DolbyAtmosSubDescriptor"; }
+ 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