2K.4K switching
[asdcplib.git] / src / MDD.h
1 /*
2 Copyright (c) 2006, John Hurst
3 All rights reserved.
4
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions
7 are met:
8 1. Redistributions of source code must retain the above copyright
9    notice, this list of conditions and the following disclaimer.
10 2. Redistributions in binary form must reproduce the above copyright
11    notice, this list of conditions and the following disclaimer in the
12    documentation and/or other materials provided with the distribution.
13 3. The name of the author may not be used to endorse or promote products
14    derived from this software without specific prior written permission.
15
16 THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27 /*! \file    MDD.[h|cpp]
28     \version $Id$
29     \brief   MXF Metadata Dictionary
30 */
31
32 #ifndef _MDD_H_
33 #define _MDD_H_
34
35 //
36 namespace ASDCP {
37     enum MDD_t {
38         MDD_MICAlgorithm_NONE,  // 0
39         MDD_MXFInterop_OPAtom,  // 1
40         MDD_OPAtom,  // 2
41         MDD_OP1a,  // 3
42         MDD_GCMulti,  // 4
43         MDD_PictureDataDef,  // 5
44         MDD_SoundDataDef,  // 6
45         MDD_TimecodeDataDef,  // 7
46         MDD_DescriptiveMetaDataDef,  // 8
47         MDD_WAVWrapping,  // 9
48         MDD_MPEG2_VESWrapping,  // 10
49         MDD_JPEG_2000Wrapping,  // 11
50         MDD_JPEG2000Essence,  // 12
51         MDD_MPEG2Essence,  // 13
52         MDD_MXFInterop_CryptEssence,  // 14
53         MDD_CryptEssence,  // 15
54         MDD_WAVEssence,  // 16
55         MDD_JP2KEssenceCompression_2K,  // 17
56         MDD_JP2KEssenceCompression_4K,  // 18
57         MDD_CipherAlgorithm_AES,  // 19
58         MDD_MICAlgorithm_HMAC_SHA1,  // 20
59         MDD_KLVFill,  // 21
60         MDD_PartitionMetadata_MajorVersion,  // 22
61         MDD_PartitionMetadata_MinorVersion,  // 23
62         MDD_PartitionMetadata_KAGSize,  // 24
63         MDD_PartitionMetadata_ThisPartition,  // 25
64         MDD_PartitionMetadata_PreviousPartition,  // 26
65         MDD_PartitionMetadata_FooterPartition,  // 27
66         MDD_PartitionMetadata_HeaderByteCount,  // 28
67         MDD_PartitionMetadata_IndexByteCount,  // 29
68         MDD_PartitionMetadata_IndexSID,  // 30
69         MDD_PartitionMetadata_BodyOffset,  // 31
70         MDD_PartitionMetadata_BodySID,  // 32
71         MDD_PartitionMetadata_OperationalPattern,  // 33
72         MDD_PartitionMetadata_EssenceContainers,  // 34
73         MDD_OpenHeader,  // 35
74         MDD_OpenCompleteHeader,  // 36
75         MDD_ClosedHeader,  // 37
76         MDD_ClosedCompleteHeader,  // 38
77         MDD_OpenBodyPartition,  // 39
78         MDD_OpenCompleteBodyPartition,  // 40
79         MDD_ClosedBodyPartition,  // 41
80         MDD_ClosedCompleteBodyPartition,  // 42
81         MDD_Footer,  // 43
82         MDD_CompleteFooter,  // 44
83         MDD_Primer,  // 45
84         MDD_Primer_LocalTagEntryBatch,  // 46
85         MDD_LocalTagEntryBatch_Primer_LocalTag,  // 47
86         MDD_LocalTagEntryBatch_Primer_UID,  // 48
87         MDD_InterchangeObject_InstanceUID,  // 49
88         MDD_GenerationInterchangeObject_GenerationUID,  // 50
89         MDD_DefaultObject,  // 51
90         MDD_IndexTableSegmentBase_IndexEditRate,  // 52
91         MDD_IndexTableSegmentBase_IndexStartPosition,  // 53
92         MDD_IndexTableSegmentBase_IndexDuration,  // 54
93         MDD_IndexTableSegmentBase_EditUnitByteCount,  // 55
94         MDD_IndexTableSegmentBase_IndexSID,  // 56
95         MDD_IndexTableSegmentBase_BodySID,  // 57
96         MDD_IndexTableSegmentBase_SliceCount,  // 58
97         MDD_IndexTableSegmentBase_PosTableCount,  // 59
98         MDD_IndexTableSegment,  // 60
99         MDD_IndexTableSegment_DeltaEntryArray,  // 61
100         MDD_DeltaEntryArray_IndexTableSegment_PosTableIndex,  // 62
101         MDD_DeltaEntryArray_IndexTableSegment_Slice,  // 63
102         MDD_DeltaEntryArray_IndexTableSegment_ElementDelta,  // 64
103         MDD_IndexTableSegment_IndexEntryArray,  // 65
104         MDD_IndexEntryArray_IndexTableSegment_TemporalOffset,  // 66
105         MDD_IndexEntryArray_IndexTableSegment_AnchorOffset,  // 67
106         MDD_IndexEntryArray_IndexTableSegment_Flags,  // 68
107         MDD_IndexEntryArray_IndexTableSegment_StreamOffset,  // 69
108         MDD_IndexEntryArray_IndexTableSegment_SliceOffsetArray,  // 70
109         MDD_IndexEntryArray_IndexTableSegment_PosTableArray,  // 71
110         MDD_RandomIndexMetadata,  // 72
111         MDD_PartitionArray_RandomIndexMetadata_BodySID,  // 73
112         MDD_PartitionArray_RandomIndexMetadata_ByteOffset,  // 74
113         MDD_RandomIndexMetadata_Length,  // 75
114         MDD_RandomIndexMetadataV10,  // 76
115         MDD_Preface,  // 77
116         MDD_Preface_LastModifiedDate,  // 78
117         MDD_Preface_Version,  // 79
118         MDD_Preface_ObjectModelVersion,  // 80
119         MDD_Preface_PrimaryPackage,  // 81
120         MDD_Preface_Identifications,  // 82
121         MDD_Preface_ContentStorage,  // 83
122         MDD_Preface_OperationalPattern,  // 84
123         MDD_Preface_EssenceContainers,  // 85
124         MDD_Preface_DMSchemes,  // 86
125         MDD_Identification,  // 87
126         MDD_Identification_ThisGenerationUID,  // 88
127         MDD_Identification_CompanyName,  // 89
128         MDD_Identification_ProductName,  // 90
129         MDD_Identification_ProductVersion,  // 91
130         MDD_Identification_VersionString,  // 92
131         MDD_Identification_ProductUID,  // 93
132         MDD_Identification_ModificationDate,  // 94
133         MDD_Identification_ToolkitVersion,  // 95
134         MDD_Identification_Platform,  // 96
135         MDD_ContentStorage,  // 97
136         MDD_ContentStorage_Packages,  // 98
137         MDD_ContentStorage_EssenceContainerData,  // 99
138         MDD_ContentStorageKludge_V10Packages,  // 100
139         MDD_EssenceContainerData,  // 101
140         MDD_EssenceContainerData_LinkedPackageUID,  // 102
141         MDD_EssenceContainerData_IndexSID,  // 103
142         MDD_EssenceContainerData_BodySID,  // 104
143         MDD_GenericPackage_PackageUID,  // 105
144         MDD_GenericPackage_Name,  // 106
145         MDD_GenericPackage_PackageCreationDate,  // 107
146         MDD_GenericPackage_PackageModifiedDate,  // 108
147         MDD_GenericPackage_Tracks,  // 109
148         MDD_NetworkLocator,  // 110
149         MDD_NetworkLocator_URLString,  // 111
150         MDD_TextLocator,  // 112
151         MDD_TextLocator_LocatorName,  // 113
152         MDD_GenericTrack_TrackID,  // 114
153         MDD_GenericTrack_TrackNumber,  // 115
154         MDD_GenericTrack_TrackName,  // 116
155         MDD_GenericTrack_Sequence,  // 117
156         MDD_StaticTrack,  // 118
157         MDD_Track,  // 119
158         MDD_Track_EditRate,  // 120
159         MDD_Track_Origin,  // 121
160         MDD_EventTrack,  // 122
161         MDD_EventTrack_EventEditRate,  // 123
162         MDD_EventTrack_EventOrigin,  // 124
163         MDD_StructuralComponent_DataDefinition,  // 125
164         MDD_StructuralComponent_Duration,  // 126
165         MDD_Sequence,  // 127
166         MDD_Sequence_StructuralComponents,  // 128
167         MDD_TimecodeComponent,  // 129
168         MDD_TimecodeComponent_RoundedTimecodeBase,  // 130
169         MDD_TimecodeComponent_StartTimecode,  // 131
170         MDD_TimecodeComponent_DropFrame,  // 132
171         MDD_SourceClip,  // 133
172         MDD_SourceClip_StartPosition,  // 134
173         MDD_SourceClip_SourcePackageID,  // 135
174         MDD_SourceClip_SourceTrackID,  // 136
175         MDD_DMSegment,  // 137
176         MDD_DMSegment_EventStartPosition,  // 138
177         MDD_DMSegment_EventComment,  // 139
178         MDD_DMSegment_TrackIDs,  // 140
179         MDD_DMSegment_DMFramework,  // 141
180         MDD_DMSourceClip,  // 142
181         MDD_DMSourceClip_DMSourceClipTrackIDs,  // 143
182         MDD_MaterialPackage,  // 144
183         MDD_SourcePackage,  // 145
184         MDD_SourcePackage_Descriptor,  // 146
185         MDD_GenericDescriptor_Locators,  // 147
186         MDD_GenericDescriptor_SubDescriptors,  // 148
187         MDD_FileDescriptor,  // 149
188         MDD_FileDescriptor_LinkedTrackID,  // 150
189         MDD_FileDescriptor_SampleRate,  // 151
190         MDD_FileDescriptor_ContainerDuration,  // 152
191         MDD_FileDescriptor_EssenceContainer,  // 153
192         MDD_FileDescriptor_Codec,  // 154
193         MDD_GenericPictureEssenceDescriptor,  // 155
194         MDD_GenericPictureEssenceDescriptor_SignalStandard,  // 156
195         MDD_GenericPictureEssenceDescriptor_FrameLayout,  // 157
196         MDD_GenericPictureEssenceDescriptor_StoredWidth,  // 158
197         MDD_GenericPictureEssenceDescriptor_StoredHeight,  // 159
198         MDD_GenericPictureEssenceDescriptor_StoredF2Offset,  // 160
199         MDD_GenericPictureEssenceDescriptor_SampledWidth,  // 161
200         MDD_GenericPictureEssenceDescriptor_SampledHeight,  // 162
201         MDD_GenericPictureEssenceDescriptor_SampledXOffset,  // 163
202         MDD_GenericPictureEssenceDescriptor_SampledYOffset,  // 164
203         MDD_GenericPictureEssenceDescriptor_DisplayHeight,  // 165
204         MDD_GenericPictureEssenceDescriptor_DisplayWidth,  // 166
205         MDD_GenericPictureEssenceDescriptor_DisplayXOffset,  // 167
206         MDD_GenericPictureEssenceDescriptor_DisplayYOffset,  // 168
207         MDD_GenericPictureEssenceDescriptor_DisplayF2Offset,  // 169
208         MDD_GenericPictureEssenceDescriptor_AspectRatio,  // 170
209         MDD_GenericPictureEssenceDescriptor_ActiveFormatDescriptor,  // 171
210         MDD_GenericPictureEssenceDescriptor_VideoLineMap,  // 172
211         MDD_GenericPictureEssenceDescriptor_AlphaTransparency,  // 173
212         MDD_GenericPictureEssenceDescriptor_Gamma,  // 174
213         MDD_GenericPictureEssenceDescriptor_ImageAlignmentOffset,  // 175
214         MDD_GenericPictureEssenceDescriptor_ImageStartOffset,  // 176
215         MDD_GenericPictureEssenceDescriptor_ImageEndOffset,  // 177
216         MDD_GenericPictureEssenceDescriptor_FieldDominance,  // 178
217         MDD_GenericPictureEssenceDescriptor_PictureEssenceCoding,  // 179
218         MDD_CDCIEssenceDescriptor,  // 180
219         MDD_CDCIEssenceDescriptor_ComponentDepth,  // 181
220         MDD_CDCIEssenceDescriptor_HorizontalSubsampling,  // 182
221         MDD_CDCIEssenceDescriptor_VerticalSubsampling,  // 183
222         MDD_CDCIEssenceDescriptor_ColorSiting,  // 184
223         MDD_CDCIEssenceDescriptor_ReversedByteOrder,  // 185
224         MDD_CDCIEssenceDescriptor_PaddingBits,  // 186
225         MDD_CDCIEssenceDescriptor_AlphaSampleDepth,  // 187
226         MDD_CDCIEssenceDescriptor_BlackRefLevel,  // 188
227         MDD_CDCIEssenceDescriptor_WhiteReflevel,  // 189
228         MDD_CDCIEssenceDescriptor_ColorRange,  // 190
229         MDD_RGBAEssenceDescriptor,  // 191
230         MDD_RGBAEssenceDescriptor_ComponentMaxRef,  // 192
231         MDD_RGBAEssenceDescriptor_ComponentMinRef,  // 193
232         MDD_RGBAEssenceDescriptor_AlphaMaxRef,  // 194
233         MDD_RGBAEssenceDescriptor_AlphaMinRef,  // 195
234         MDD_RGBAEssenceDescriptor_ScanningDirection,  // 196
235         MDD_RGBAEssenceDescriptor_PixelLayout,  // 197
236         MDD_RGBAEssenceDescriptor_Palette,  // 198
237         MDD_RGBAEssenceDescriptor_PaletteLayout,  // 199
238         MDD_GenericSoundEssenceDescriptor,  // 200
239         MDD_GenericSoundEssenceDescriptor_AudioSamplingRate,  // 201
240         MDD_GenericSoundEssenceDescriptor_Locked,  // 202
241         MDD_GenericSoundEssenceDescriptor_AudioRefLevel,  // 203
242         MDD_GenericSoundEssenceDescriptor_ElectroSpatialFormulation,  // 204
243         MDD_GenericSoundEssenceDescriptor_ChannelCount,  // 205
244         MDD_GenericSoundEssenceDescriptor_QuantizationBits,  // 206
245         MDD_GenericSoundEssenceDescriptor_DialNorm,  // 207
246         MDD_GenericSoundEssenceDescriptor_SoundEssenceCompression,  // 208
247         MDD_GenericDataEssenceDescriptor,  // 209
248         MDD_GenericDataEssenceDescriptor_DataEssenceCoding,  // 210
249         MDD_MultipleDescriptor,  // 211
250         MDD_MultipleDescriptor_SubDescriptorUIDs,  // 212
251         MDD_MPEG2VideoDescriptor,  // 213
252         MDD_MPEG2VideoDescriptor_SingleSequence,  // 214
253         MDD_MPEG2VideoDescriptor_ConstantBFrames,  // 215
254         MDD_MPEG2VideoDescriptor_CodedContentType,  // 216
255         MDD_MPEG2VideoDescriptor_LowDelay,  // 217
256         MDD_MPEG2VideoDescriptor_ClosedGOP,  // 218
257         MDD_MPEG2VideoDescriptor_IdenticalGOP,  // 219
258         MDD_MPEG2VideoDescriptor_MaxGOP,  // 220
259         MDD_MPEG2VideoDescriptor_BPictureCount,  // 221
260         MDD_MPEG2VideoDescriptor_BitRate,  // 222
261         MDD_MPEG2VideoDescriptor_ProfileAndLevel,  // 223
262         MDD_WaveAudioDescriptor,  // 224
263         MDD_WaveAudioDescriptor_BlockAlign,  // 225
264         MDD_WaveAudioDescriptor_SequenceOffset,  // 226
265         MDD_WaveAudioDescriptor_AvgBps,  // 227
266         MDD_WaveAudioDescriptor_PeakEnvelope,  // 228
267         MDD_JPEG2000PictureSubDescriptor,  // 229
268         MDD_JPEG2000PictureSubDescriptor_Rsize,  // 230
269         MDD_JPEG2000PictureSubDescriptor_Xsize,  // 231
270         MDD_JPEG2000PictureSubDescriptor_Ysize,  // 232
271         MDD_JPEG2000PictureSubDescriptor_XOsize,  // 233
272         MDD_JPEG2000PictureSubDescriptor_YOsize,  // 234
273         MDD_JPEG2000PictureSubDescriptor_XTsize,  // 235
274         MDD_JPEG2000PictureSubDescriptor_YTsize,  // 236
275         MDD_JPEG2000PictureSubDescriptor_XTOsize,  // 237
276         MDD_JPEG2000PictureSubDescriptor_YTOsize,  // 238
277         MDD_JPEG2000PictureSubDescriptor_Csize,  // 239
278         MDD_JPEG2000PictureSubDescriptor_PictureComponentSizing,  // 240
279         MDD_JPEG2000PictureSubDescriptor_CodingStyleDefault,  // 241
280         MDD_JPEG2000PictureSubDescriptor_QuantizationDefault,  // 242
281         MDD_DM_Framework,  // 243
282         MDD_DM_Set,  // 244
283         MDD_EncryptedContainerLabel,  // 245
284         MDD_CryptographicFrameworkLabel,  // 246
285         MDD_CryptographicFramework,  // 247
286         MDD_CryptographicFramework_ContextSR,  // 248
287         MDD_CryptographicContext,  // 249
288         MDD_CryptographicContext_ContextID,  // 250
289         MDD_CryptographicContext_SourceEssenceContainer,  // 251
290         MDD_CryptographicContext_CipherAlgorithm,  // 252
291         MDD_CryptographicContext_MICAlgorithm,  // 253
292         MDD_CryptographicContext_CryptographicKeyID,  // 254
293     }; // enum MDD_t
294 } // namespaceASDCP
295
296
297 #endif // _MDD_H_
298
299 //
300 // end MDD.h
301 //