diff options
| author | Carl Hetherington <cth@carlh.net> | 2012-07-16 19:24:44 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2012-07-16 19:24:44 +0100 |
| commit | 7d48446b5efdf795df1ce22d6d9ed3ebe85d3381 (patch) | |
| tree | f492aebd71fae087e7903dafc097d3899cff8481 /test | |
Import.
Diffstat (limited to 'test')
39 files changed, 541 insertions, 0 deletions
diff --git a/test/data/1s_24-bit_48k_silence.wav b/test/data/1s_24-bit_48k_silence.wav Binary files differnew file mode 100644 index 00000000..5bfc14dc --- /dev/null +++ b/test/data/1s_24-bit_48k_silence.wav diff --git a/test/data/32x32_red_square.j2c b/test/data/32x32_red_square.j2c Binary files differnew file mode 100644 index 00000000..027929be --- /dev/null +++ b/test/data/32x32_red_square.j2c diff --git a/test/data/32x32_red_square.png b/test/data/32x32_red_square.png Binary files differnew file mode 100644 index 00000000..49cd2bef --- /dev/null +++ b/test/data/32x32_red_square.png diff --git a/test/ref/DCP/02020202-0202-0202-0202-020202020202_cpl.xml b/test/ref/DCP/02020202-0202-0202-0202-020202020202_cpl.xml new file mode 100644 index 00000000..cc5e933e --- /dev/null +++ b/test/ref/DCP/02020202-0202-0202-0202-020202020202_cpl.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CompositionPlaylist xmlns="http://www.smpte-ra.org/schemas/429-7/2006/CPL"> + <Id>urn:uuid:488d58ab-474e-4b01-a2cb-a6ce1e5e70b3</Id> + <AnnotationText>A Test DCP</AnnotationText> + <IssueDate>2012-07-16T06:28:27+00:00</IssueDate> + <Creator>OpenDCP 0.0.25</Creator> + <ContentTitleText>A Test DCP</ContentTitleText> + <ContentKind>feature</ContentKind> + <ContentVersion> + <Id>urn:uri:488d58ab-474e-4b01-a2cb-a6ce1e5e70b3_2012-07-16T06:28:27+00:00</Id> + <LabelText>488d58ab-474e-4b01-a2cb-a6ce1e5e70b3_2012-07-16T06:28:27+00:00</LabelText> + </ContentVersion> + <RatingList/> + <ReelList> + <Reel> + <Id>urn:uuid:b4f8f14e-63d9-4d34-9b8d-11d158d77115</Id> + <AssetList> + <MainPicture> + <Id>urn:uuid:0a2335fe-09a3-4a19-b5ea-2e0308e727b3</Id> + <AnnotationText>video.mxf</AnnotationText> + <EditRate>24 1</EditRate> + <IntrinsicDuration>24</IntrinsicDuration> + <EntryPoint>0</EntryPoint> + <Duration>24</Duration> + <FrameRate>24 1</FrameRate> + <ScreenAspectRatio>32 32</ScreenAspectRatio> + </MainPicture> + <MainSound> + <Id>urn:uuid:ac884d5a-1d72-425b-a45b-d0c0bce4f6f4</Id> + <AnnotationText>audio.mxf</AnnotationText> + <EditRate>24 1</EditRate> + <IntrinsicDuration>24</IntrinsicDuration> + <EntryPoint>0</EntryPoint> + <Duration>24</Duration> + </MainSound> + </AssetList> + </Reel> + </ReelList> +</CompositionPlaylist> diff --git a/test/ref/DCP/04040404-0404-0404-0404-040404040404_pkl.xml b/test/ref/DCP/04040404-0404-0404-0404-040404040404_pkl.xml new file mode 100644 index 00000000..76f1292a --- /dev/null +++ b/test/ref/DCP/04040404-0404-0404-0404-040404040404_pkl.xml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?> +<PackingList xmlns="http://www.smpte-ra.org/schemas/429-8/2007/PKL"> + <Id>urn:uuid:caaf9bfe-2a00-4b95-b6d3-d6c0b181e17b</Id> + <AnnotationText>A Test DCP</AnnotationText> + <IssueDate>2012-07-16T06:28:27+00:00</IssueDate> + <Issuer>OpenDCP 0.0.25</Issuer> + <Creator>OpenDCP 0.0.25</Creator> + <AssetList> + <Asset> + <Id>urn:uuid:0a2335fe-09a3-4a19-b5ea-2e0308e727b3</Id> + <AnnotationText>video.mxf</AnnotationText> + <Hash>ETDlJzvJT98gAc2Y84/4AoXQuhs=</Hash> + <Size>26080</Size> + <Type>application/mxf</Type> + </Asset> + <Asset> + <Id>urn:uuid:ac884d5a-1d72-425b-a45b-d0c0bce4f6f4</Id> + <AnnotationText>audio.mxf</AnnotationText> + <Hash>duYsdzeBVwuv5EfxvLmshyBQdo0=</Hash> + <Size>305326</Size> + <Type>application/mxf</Type> + </Asset> + <Asset> + <Id>urn:uuid:488d58ab-474e-4b01-a2cb-a6ce1e5e70b3</Id> + <Hash>RanewioDBtecLpvB7W2v/g9/vos=</Hash> + <Size>1526</Size> + <Type>text/xml</Type> + </Asset> + </AssetList> +</PackingList> diff --git a/test/ref/DCP/ASSETMAP.xml b/test/ref/DCP/ASSETMAP.xml new file mode 100644 index 00000000..dff86855 --- /dev/null +++ b/test/ref/DCP/ASSETMAP.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> +<AssetMap xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM"> + <Id>urn:uuid:7193f3d3-4083-4e4d-9a35-b108dad4e305</Id> + <Creator>OpenDCP 0.0.25</Creator> + <VolumeCount>1</VolumeCount> + <IssueDate>2012-07-16T06:28:27+00:00</IssueDate> + <Issuer>OpenDCP 0.0.25</Issuer> + <AssetList> + <Asset> + <Id>urn:uuid:caaf9bfe-2a00-4b95-b6d3-d6c0b181e17b</Id> + <PackingList>true</PackingList> + <ChunkList> + <Chunk> + <Path>caaf9bfe-2a00-4b95-b6d3-d6c0b181e17b_pkl.xml</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>1049</Length> + </Chunk> + </ChunkList> + </Asset> + <Asset> + <Id>urn:uuid:488d58ab-474e-4b01-a2cb-a6ce1e5e70b3</Id> + <ChunkList> + <Chunk> + <Path>488d58ab-474e-4b01-a2cb-a6ce1e5e70b3_cpl.xml</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>1526</Length> + </Chunk> + </ChunkList> + </Asset> + <Asset> + <Id>urn:uuid:0a2335fe-09a3-4a19-b5ea-2e0308e727b3</Id> + <ChunkList> + <Chunk> + <Path>video.mxf</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>26080</Length> + </Chunk> + </ChunkList> + </Asset> + <Asset> + <Id>urn:uuid:ac884d5a-1d72-425b-a45b-d0c0bce4f6f4</Id> + <ChunkList> + <Chunk> + <Path>audio.mxf</Path> + <VolumeIndex>1</VolumeIndex> + <Offset>0</Offset> + <Length>305326</Length> + </Chunk> + </ChunkList> + </Asset> + </AssetList> +</AssetMap> diff --git a/test/ref/DCP/VOLINDEX.xml b/test/ref/DCP/VOLINDEX.xml new file mode 100644 index 00000000..f66c004a --- /dev/null +++ b/test/ref/DCP/VOLINDEX.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<VolumeIndex xmlns="http://www.smpte-ra.org/schemas/429-9/2007/AM"> + <Index>1</Index> +</VolumeIndex> diff --git a/test/ref/DCP/audio.mxf b/test/ref/DCP/audio.mxf Binary files differnew file mode 100644 index 00000000..06e9438d --- /dev/null +++ b/test/ref/DCP/audio.mxf diff --git a/test/ref/DCP/video.dump b/test/ref/DCP/video.dump new file mode 100644 index 00000000..c01dfd73 --- /dev/null +++ b/test/ref/DCP/video.dump @@ -0,0 +1,302 @@ +Dump an MXF file using MXFLib +- using dictionary "dict.xml" + +Partition at 0x00000000 is for BodySID 0x0000 +ClosedCompleteHeader + MajorVersion = 1 + MinorVersion = 2 + KAGSize = 1 + ThisPartition = 0 + PreviousPartition = 0 + FooterPartition = 25476 + HeaderByteCount = 16244 + IndexByteCount = 0 + IndexSID = 0 + BodyOffset = 0 + BodySID = 0 + OperationalPattern = MXF Specialized OP Atom + EssenceContainers + EssenceContainer = MXF-GC Generic Essence Multiple Mappings + EssenceContainer = MXF-GC JPEG-2000 Picture Mappings + +Header Metadata: + Preface + InstanceUID = {772726eb-422b-478c-869c-679e550ee103} + LastModifiedDate = 2012-07-16 17:28:27.000 + Version = 258 + ObjectModelVersion = 0 + PrimaryPackage -> Weak Reference to SourcePackage + Identifications + Identification = {7079b446-6e8c-4bfb-91d6-8e2053a0b4c2} + Identification -> Strong Reference to Identification + Identification + InstanceUID = {7079b446-6e8c-4bfb-91d6-8e2053a0b4c2} + ThisGenerationUID = {4f2bd67b-f257-4ed9-ac9d-6956bbe61c36} + CompanyName = OpenDCP + ProductName = OpenDCP + ProductVersion = Major="0", Minor="0", Patch="0", Build="0", Release="VersionUnknown" + VersionString = 0.0.25 + ProductUID = {43059a1d-0432-4101-b83f-736815acf31d} + ModificationDate = 2012-07-16 17:28:27.000 + ToolkitVersion = Major="1", Minor="8", Patch="44", Build="27240", Release="VersionReleased" + Platform = unix + ContentStorage = {f11189d2-31a5-4c7b-8608-59ff5d340245} + ContentStorage -> Strong Reference to ContentStorage + ContentStorage + InstanceUID = {f11189d2-31a5-4c7b-8608-59ff5d340245} + Packages + Package = {80a78644-dda6-43d7-a55b-77c4fec29654} + Package -> Strong Reference to MaterialPackage + MaterialPackage + InstanceUID = {80a78644-dda6-43d7-a55b-77c4fec29654} + PackageUID = [060a2b34.0101.0105.01010f20],13,00,00,00,{2542c57c-5a87-4834-918b-9f09153e10ca} + Name = AS-DCP Material Package + PackageCreationDate = 2012-07-16 17:28:27.000 + PackageModifiedDate = 2012-07-16 17:28:27.000 + Tracks + Tracks_Item = {79f6d86f-3f08-40b3-943b-e7e3b1819209} + Tracks_Item -> Strong Reference to Track + Track + InstanceUID = {79f6d86f-3f08-40b3-943b-e7e3b1819209} + TrackID = 1 + TrackNumber = 0 + TrackName = Timecode Track + Sequence = {6964beaf-d7fc-4f74-8d58-6a095850df00} + Sequence -> Strong Reference to Sequence + Sequence + InstanceUID = {6964beaf-d7fc-4f74-8d58-6a095850df00} + DataDefinition = SMPTE 12M Timecode Track + Duration = 24 + StructuralComponents + StructuralComponent = {9c28304b-6293-4651-8e20-ba11db057222} + StructuralComponent -> Strong Reference to TimecodeComponent + TimecodeComponent + InstanceUID = {9c28304b-6293-4651-8e20-ba11db057222} + DataDefinition = SMPTE 12M Timecode Track + Duration = 24 + RoundedTimecodeBase = 24 + StartTimecode = 0 + DropFrame = 0 + EditRate = 24/1 + Origin = 0 + Tracks_Item = {4cc1735a-c2e5-40c5-a3d8-4699d9d8f28a} + Tracks_Item -> Strong Reference to Track + Track + InstanceUID = {4cc1735a-c2e5-40c5-a3d8-4699d9d8f28a} + TrackID = 2 + TrackNumber = 0 + TrackName = Picture Track + Sequence = {85182d60-83d9-490d-9a6e-9939ea88593b} + Sequence -> Strong Reference to Sequence + Sequence + InstanceUID = {85182d60-83d9-490d-9a6e-9939ea88593b} + DataDefinition = Picture Essence Track + Duration = 24 + StructuralComponents + StructuralComponent = {8d1a4bab-3854-4110-a6c6-a8658947859e} + StructuralComponent -> Strong Reference to SourceClip + SourceClip + InstanceUID = {8d1a4bab-3854-4110-a6c6-a8658947859e} + DataDefinition = Picture Essence Track + Duration = 24 + StartPosition = 0 + SourcePackageID = [060a2b34.0101.0105.01010f20],13,00,00,00,{0a2335fe-09a3-4a19-b5ea-2e0308e727b3} + SourceTrackID = 2 + EditRate = 24/1 + Origin = 0 + Package = {24569e0a-10e9-42b5-bbb6-c81b76ec6c7e} + Package -> Strong Reference to SourcePackage + SourcePackage + InstanceUID = {24569e0a-10e9-42b5-bbb6-c81b76ec6c7e} + PackageUID = [060a2b34.0101.0105.01010f20],13,00,00,00,{0a2335fe-09a3-4a19-b5ea-2e0308e727b3} + Name = File Package: SMPTE 429-4 frame wrapping of JPEG 2000 codestreams + PackageCreationDate = 2012-07-16 17:28:27.000 + PackageModifiedDate = 2012-07-16 17:28:27.000 + Tracks + Tracks_Item = {072c2857-9116-4802-98bb-1c585580baae} + Tracks_Item -> Strong Reference to Track + Track + InstanceUID = {072c2857-9116-4802-98bb-1c585580baae} + TrackID = 1 + TrackNumber = 0 + TrackName = Timecode Track + Sequence = {82f075be-eb53-47c2-b6d6-5aa053756248} + Sequence -> Strong Reference to Sequence + Sequence + InstanceUID = {82f075be-eb53-47c2-b6d6-5aa053756248} + DataDefinition = SMPTE 12M Timecode Track + Duration = 24 + StructuralComponents + StructuralComponent = {29dc1968-3487-4ef2-a156-949afe99fdab} + StructuralComponent -> Strong Reference to TimecodeComponent + TimecodeComponent + InstanceUID = {29dc1968-3487-4ef2-a156-949afe99fdab} + DataDefinition = SMPTE 12M Timecode Track + Duration = 24 + RoundedTimecodeBase = 24 + StartTimecode = 86400 + DropFrame = 0 + EditRate = 24/1 + Origin = 0 + Tracks_Item = {f2f685f0-25f5-4d65-9592-7f511c730706} + Tracks_Item -> Strong Reference to Track + Track + InstanceUID = {f2f685f0-25f5-4d65-9592-7f511c730706} + TrackID = 2 + TrackNumber = 352389121 + TrackName = Picture Track + Sequence = {90bbbbca-9042-4244-9db2-939c83cd1a84} + Sequence -> Strong Reference to Sequence + Sequence + InstanceUID = {90bbbbca-9042-4244-9db2-939c83cd1a84} + DataDefinition = Picture Essence Track + Duration = 24 + StructuralComponents + StructuralComponent = {f1f17679-2c07-458c-af0d-cfdadde6a705} + StructuralComponent -> Strong Reference to SourceClip + SourceClip + InstanceUID = {f1f17679-2c07-458c-af0d-cfdadde6a705} + DataDefinition = Picture Essence Track + Duration = 24 + StartPosition = 0 + SourcePackageID = [00000000.0000.0000.00000000],00,00,00,00,[00000000.0000.0000.00000000.00000000] + SourceTrackID = 0 + EditRate = 24/1 + Origin = 0 + Descriptor = {d33fd7d1-a6ce-4f9f-ade5-db60bf89e34b} + Descriptor -> Strong Reference to RGBAEssenceDescriptor + RGBAEssenceDescriptor + InstanceUID = {d33fd7d1-a6ce-4f9f-ade5-db60bf89e34b} + SubDescriptors + SubDescriptor = {d4700ab9-4c69-44d1-a849-8920b60b017e} + SubDescriptor -> Strong Reference to JPEG2000PictureSubDescriptor + JPEG2000PictureSubDescriptor + InstanceUID = {d4700ab9-4c69-44d1-a849-8920b60b017e} + Rsiz = 3 + Xsiz = 32 + Ysiz = 32 + XOsiz = 0 + YOsiz = 0 + XTsiz = 32 + YTsiz = 32 + XTOsiz = 0 + YTOsiz = 0 + Csiz = 3 + PictureComponentSizing + PictureComponentSize = Ssiz="7", XRsiz="1", YRsiz="1" + PictureComponentSize = Ssiz="7", XRsiz="1", YRsiz="1" + PictureComponentSize = Ssiz="7", XRsiz="1", YRsiz="1" + CodingStyleDefault = Scod="1", SGcod="ProgressionOrder="4", NumberOfLayers="1", MultipleComponentTransformation="1"", SPcod="DecompositionLevels="5", CodeblockWidth="3", CodeblockHeight="3", CodeblockStyle="0", Transformation="0"", PrecinctSize="119, 136, 136, 136, 136, 136" + QuantizationDefault = Sqcd="66", SPqcd="119, 32, 118, 240, 118, 240, 118, 192, 111, 0, 111, 0, 110, 224, 103, 80, 103, 80, 103, 104, 80, 5, 80, 5, 80, 71, 87, 211, 87, 211, 87, 98" + LinkedTrackID = 2 + SampleRate = 24/1 + ContainerDuration = 24 + EssenceContainer = MXF-GC JPEG-2000 Picture Mappings + FrameLayout = 0 + StoredWidth = 32 + StoredHeight = 32 + AspectRatio = 32/32 + PictureEssenceCoding = [060e2b34.0401.0109.04010202.03010103] + ComponentMaxRef = 4095 + ComponentMinRef = 0 + EssenceContainerData + EssenceContainer = {7d384edf-2ff0-4b50-ab06-9165947b289b} + EssenceContainer -> Strong Reference to EssenceContainerData + EssenceContainerData + InstanceUID = {7d384edf-2ff0-4b50-ab06-9165947b289b} + LinkedPackageUID = [060a2b34.0101.0105.01010f20],13,00,00,00,{0a2335fe-09a3-4a19-b5ea-2e0308e727b3} + IndexSID = 129 + BodySID = 1 + OperationalPattern = MXF Specialized OP Atom + EssenceContainers + EssenceContainer = MXF-GC Generic Essence Multiple Mappings + EssenceContainer = MXF-GC JPEG-2000 Picture Mappings + DMSchemes + +No index table in this partition + +Partition at 0x00004000 is for BodySID 0x0001 + +Partition at 0x00006384 is for BodySID 0x0000 +CompleteFooter + MajorVersion = 1 + MinorVersion = 2 + KAGSize = 1 + ThisPartition = 25476 + PreviousPartition = 16384 + FooterPartition = 25476 + HeaderByteCount = 0 + IndexByteCount = 404 + IndexSID = 129 + BodyOffset = 0 + BodySID = 0 + OperationalPattern = MXF Specialized OP Atom + EssenceContainers + EssenceContainer = MXF-GC Generic Essence Multiple Mappings + EssenceContainer = MXF-GC JPEG-2000 Picture Mappings +No header metadata in this partition + +Index Table Segment (first edit unit = 0, duration = 24) : + Indexing BodySID 0x0001 from IndexSID 0x0081 + + Bytestream Order: + EditUnit 0 for stream 0 is at 0x00000000, Flags=00 *Exact* + EditUnit 1 for stream 0 is at 0x00000175, Flags=00 *Exact* + EditUnit 2 for stream 0 is at 0x000002ea, Flags=00 *Exact* + EditUnit 3 for stream 0 is at 0x0000045f, Flags=00 *Exact* + EditUnit 4 for stream 0 is at 0x000005d4, Flags=00 *Exact* + EditUnit 5 for stream 0 is at 0x00000749, Flags=00 *Exact* + EditUnit 6 for stream 0 is at 0x000008be, Flags=00 *Exact* + EditUnit 7 for stream 0 is at 0x00000a33, Flags=00 *Exact* + EditUnit 8 for stream 0 is at 0x00000ba8, Flags=00 *Exact* + EditUnit 9 for stream 0 is at 0x00000d1d, Flags=00 *Exact* + EditUnit 10 for stream 0 is at 0x00000e92, Flags=00 *Exact* + EditUnit 11 for stream 0 is at 0x00001007, Flags=00 *Exact* + EditUnit 12 for stream 0 is at 0x0000117c, Flags=00 *Exact* + EditUnit 13 for stream 0 is at 0x000012f1, Flags=00 *Exact* + EditUnit 14 for stream 0 is at 0x00001466, Flags=00 *Exact* + EditUnit 15 for stream 0 is at 0x000015db, Flags=00 *Exact* + EditUnit 16 for stream 0 is at 0x00001750, Flags=00 *Exact* + EditUnit 17 for stream 0 is at 0x000018c5, Flags=00 *Exact* + EditUnit 18 for stream 0 is at 0x00001a3a, Flags=00 *Exact* + EditUnit 19 for stream 0 is at 0x00001baf, Flags=00 *Exact* + EditUnit 20 for stream 0 is at 0x00001d24, Flags=00 *Exact* + EditUnit 21 for stream 0 is at 0x00001e99, Flags=00 *Exact* + EditUnit 22 for stream 0 is at 0x0000200e, Flags=00 *Exact* + EditUnit 23 for stream 0 is at 0x00002183, Flags=00 *Exact* + + Presentation Order: + EditUnit 0 for stream 0 is at 0x00000000, Flags=00 *Exact* + EditUnit 1 for stream 0 is at 0x00000175, Flags=00 *Exact* + EditUnit 2 for stream 0 is at 0x000002ea, Flags=00 *Exact* + EditUnit 3 for stream 0 is at 0x0000045f, Flags=00 *Exact* + EditUnit 4 for stream 0 is at 0x000005d4, Flags=00 *Exact* + EditUnit 5 for stream 0 is at 0x00000749, Flags=00 *Exact* + EditUnit 6 for stream 0 is at 0x000008be, Flags=00 *Exact* + EditUnit 7 for stream 0 is at 0x00000a33, Flags=00 *Exact* + EditUnit 8 for stream 0 is at 0x00000ba8, Flags=00 *Exact* + EditUnit 9 for stream 0 is at 0x00000d1d, Flags=00 *Exact* + EditUnit 10 for stream 0 is at 0x00000e92, Flags=00 *Exact* + EditUnit 11 for stream 0 is at 0x00001007, Flags=00 *Exact* + EditUnit 12 for stream 0 is at 0x0000117c, Flags=00 *Exact* + EditUnit 13 for stream 0 is at 0x000012f1, Flags=00 *Exact* + EditUnit 14 for stream 0 is at 0x00001466, Flags=00 *Exact* + EditUnit 15 for stream 0 is at 0x000015db, Flags=00 *Exact* + EditUnit 16 for stream 0 is at 0x00001750, Flags=00 *Exact* + EditUnit 17 for stream 0 is at 0x000018c5, Flags=00 *Exact* + EditUnit 18 for stream 0 is at 0x00001a3a, Flags=00 *Exact* + EditUnit 19 for stream 0 is at 0x00001baf, Flags=00 *Exact* + EditUnit 20 for stream 0 is at 0x00001d24, Flags=00 *Exact* + EditUnit 21 for stream 0 is at 0x00001e99, Flags=00 *Exact* + EditUnit 22 for stream 0 is at 0x0000200e, Flags=00 *Exact* + EditUnit 23 for stream 0 is at 0x00002183, Flags=00 *Exact* + +Read RIP + BodySID 0x0000 is at 0x00000000 and is not loaded + BodySID 0x0001 is at 0x00004000 and is not loaded + BodySID 0x0000 is at 0x00006384 and is not loaded + +Scanned RIP + BodySID 0x0000 is at 0x00000000 type ClosedCompleteHeader + BodySID 0x0001 is at 0x00004000 type ClosedCompleteBodyPartition + BodySID 0x0000 is at 0x00006384 type CompleteFooter diff --git a/test/ref/DCP/video.mxf b/test/ref/DCP/video.mxf Binary files differnew file mode 100644 index 00000000..9b11f99e --- /dev/null +++ b/test/ref/DCP/video.mxf diff --git a/test/ref/j2c/1.j2c b/test/ref/j2c/1.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/1.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/10.j2c b/test/ref/j2c/10.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/10.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/11.j2c b/test/ref/j2c/11.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/11.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/12.j2c b/test/ref/j2c/12.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/12.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/13.j2c b/test/ref/j2c/13.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/13.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/14.j2c b/test/ref/j2c/14.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/14.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/15.j2c b/test/ref/j2c/15.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/15.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/16.j2c b/test/ref/j2c/16.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/16.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/17.j2c b/test/ref/j2c/17.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/17.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/18.j2c b/test/ref/j2c/18.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/18.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/19.j2c b/test/ref/j2c/19.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/19.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/2.j2c b/test/ref/j2c/2.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/2.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/20.j2c b/test/ref/j2c/20.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/20.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/21.j2c b/test/ref/j2c/21.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/21.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/22.j2c b/test/ref/j2c/22.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/22.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/23.j2c b/test/ref/j2c/23.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/23.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/24.j2c b/test/ref/j2c/24.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/24.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/3.j2c b/test/ref/j2c/3.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/3.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/4.j2c b/test/ref/j2c/4.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/4.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/5.j2c b/test/ref/j2c/5.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/5.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/6.j2c b/test/ref/j2c/6.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/6.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/7.j2c b/test/ref/j2c/7.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/7.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/8.j2c b/test/ref/j2c/8.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/8.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/j2c/9.j2c b/test/ref/j2c/9.j2c new file mode 120000 index 00000000..7e4f07ef --- /dev/null +++ b/test/ref/j2c/9.j2c @@ -0,0 +1 @@ +../../data/32x32_red_square.j2c
\ No newline at end of file diff --git a/test/ref/make.sh b/test/ref/make.sh new file mode 100644 index 00000000..1d04e244 --- /dev/null +++ b/test/ref/make.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +rm -rf DCP +mkdir DCP +opendcp_mxf -i j2c -o DCP/video.mxf -r 24 +opendcp_mxf -i wav -o DCP/audio.mxf -r 24 +opendcp_xml --reel DCP/video.mxf DCP/audio.mxf -k feature -t "A Test DCP" -a "A Test DCP" +mv *.xml DCP +mv DCP/*_pkl.xml DCP/04040404-0404-0404-0404-040404040404_pkl.xml +mv DCP/*_cpl.xml DCP/02020202-0202-0202-0202-020202020202_cpl.xml diff --git a/test/ref/wav/1.wav b/test/ref/wav/1.wav new file mode 120000 index 00000000..6163f166 --- /dev/null +++ b/test/ref/wav/1.wav @@ -0,0 +1 @@ +../../data/1s_24-bit_48k_silence.wav
\ No newline at end of file diff --git a/test/ref/wav/2.wav b/test/ref/wav/2.wav new file mode 120000 index 00000000..6163f166 --- /dev/null +++ b/test/ref/wav/2.wav @@ -0,0 +1 @@ +../../data/1s_24-bit_48k_silence.wav
\ No newline at end of file diff --git a/test/tests.cc b/test/tests.cc new file mode 100644 index 00000000..dd9ed07d --- /dev/null +++ b/test/tests.cc @@ -0,0 +1,60 @@ +/* + Copyright (C) 2012 Carl Hetherington <cth@carlh.net> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#include <boost/filesystem.hpp> +#include "dcp.h" +#include "util.h" +#include "tags.h" + +#define BOOST_TEST_DYN_LINK +#define BOOST_TEST_MODULE libdcp_test +#include <boost/test/unit_test.hpp> + +using namespace std; +using namespace boost; + +BOOST_AUTO_TEST_CASE (dcp_test) +{ + libdcp::libdcp_test = true; + + libdcp::Tags* t = libdcp::Tags::instance (); + t->issuer = "OpenDCP 0.0.25"; + t->creator = "OpenDCP 0.0.25"; + t->company_name = "OpenDCP"; + t->product_name = "OpenDCP"; + t->product_version = "0.0.25"; + + filesystem::remove_all ("build/test/foo"); + filesystem::create_directories ("build/test/foo"); + libdcp::DCP d ("build/test/foo", "A Test DCP", libdcp::DCP::FEATURE, 24, 24); + + list<string> j2cs; + for (int i = 0; i < 24; ++i) { + j2cs.push_back ("test/data/32x32_red_square.j2c"); + } + d.add_picture_asset (j2cs, 32, 32); + + list<string> wavs; + for (int i = 0; i < 2; ++i) { + wavs.push_back ("test/data/1s_24-bit_48k_silence.wav"); + } + d.add_sound_asset (wavs); + + d.write_xml (); +} diff --git a/test/wscript b/test/wscript new file mode 100644 index 00000000..cd10983a --- /dev/null +++ b/test/wscript @@ -0,0 +1,15 @@ +def configure(conf): + conf.check_cxx(fragment = """ + #define BOOST_TEST_MODULE Config test\n + #include <boost/test/unit_test.hpp>\n + int main() {} + """, msg = 'Checking for boost unit testing library', lib = 'boost_unit_test_framework', uselib_store = 'BOOST_TEST') + +def build(bld): + obj = bld(features = 'cxx cxxprogram') + obj.name = 'tests' + obj.uselib = 'BOOST_TEST' + obj.use = 'libdcp' + obj.source = 'tests.cc' + obj.target = 'tests' + obj.install_path = '' |
