unsigned int seed = 42;
/* Check a few random frames */
- check (&seed, writer, "c039c5a0e5d20bc646f7e9c10e2d5874");
- check (&seed, writer, "d9e694cfe84544c54a869c128ba39343");
- check (&seed, writer, "fafb05a0039cb9fc604279c90a13cb87");
+ check (&seed, writer, "9da3d1d93a80683e65d996edae4101ed");
+ check (&seed, writer, "ecd77b3fbf459591f24119d4118783fb");
+ check (&seed, writer, "9f10303495b58ccb715c893d40127e22");
}
<Path>video.mxf</Path>
<VolumeIndex>1</VolumeIndex>
<Offset>0</Offset>
- <Length>40144</Length>
+ <Length>49240</Length>
</Chunk>
</ChunkList>
</Asset>
<IntrinsicDuration>24</IntrinsicDuration>
<EntryPoint>0</EntryPoint>
<Duration>24</Duration>
- <Hash>XGhFVrqZqapOJx5Fh2SLjj48Yjg=</Hash>
+ <Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>
<FrameRate>24 1</FrameRate>
<ScreenAspectRatio>1998 1080</ScreenAspectRatio>
</MainPicture>
<Asset>
<Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
<AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
- <Hash>xz+gUPoPMdbFlAewvWIq8BRhBmA=</Hash>
+ <Hash>X3bMCBdXEOYEpYmsConNWrWUAGs=</Hash>
<Size>5082</Size>
<Type>text/xml</Type>
</Asset>
<Asset>
<Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
<AnnotationText>1fab8bb0-cfaf-4225-ad6d-01768bc10470</AnnotationText>
- <Hash>XGhFVrqZqapOJx5Fh2SLjj48Yjg=</Hash>
- <Size>40144</Size>
+ <Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>
+ <Size>49240</Size>
<Type>application/mxf</Type>
</Asset>
<Asset>
<Path>video.mxf</Path>
<VolumeIndex>1</VolumeIndex>
<Offset>0</Offset>
- <Length>40144</Length>
+ <Length>49240</Length>
</Chunk>
</ChunkList>
</Asset>
<IntrinsicDuration>24</IntrinsicDuration>
<EntryPoint>0</EntryPoint>
<Duration>24</Duration>
- <Hash>XGhFVrqZqapOJx5Fh2SLjj48Yjg=</Hash>
+ <Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>
<FrameRate>24 1</FrameRate>
<ScreenAspectRatio>1.85</ScreenAspectRatio>
</MainPicture>
<Asset>
<Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
<AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
- <Hash>JxqfjtwuLuimdPydOWGY/Vgrzek=</Hash>
+ <Hash>4a5qu1Q918HGMSi/b5d30ZvlkIo=</Hash>
<Size>2168</Size>
<Type>text/xml;asdcpKind=CPL</Type>
</Asset>
<Asset>
<Id>urn:uuid:1fab8bb0-cfaf-4225-ad6d-01768bc10470</Id>
<AnnotationText>1fab8bb0-cfaf-4225-ad6d-01768bc10470</AnnotationText>
- <Hash>XGhFVrqZqapOJx5Fh2SLjj48Yjg=</Hash>
- <Size>40144</Size>
+ <Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>
+ <Size>49240</Size>
<Type>application/x-smpte-mxf;asdcpKind=Picture</Type>
</Asset>
<Asset>
<IntrinsicDuration>24</IntrinsicDuration>
<EntryPoint>0</EntryPoint>
<Duration>24</Duration>
- <Hash>BM4qh04HOSGF5vop4mhJBE7C4M0=</Hash>
+ <Hash>AjCzoIG/11nYHsTmKGLJf/zWANI=</Hash>
<FrameRate>24 1</FrameRate>
<ScreenAspectRatio>1998 1080</ScreenAspectRatio>
</MainPicture>
<IntrinsicDuration>24</IntrinsicDuration>
<EntryPoint>0</EntryPoint>
<Duration>24</Duration>
- <Hash>BM4qh04HOSGF5vop4mhJBE7C4M0=</Hash>
+ <Hash>AjCzoIG/11nYHsTmKGLJf/zWANI=</Hash>
<FrameRate>24 1</FrameRate>
<ScreenAspectRatio>1998 1080</ScreenAspectRatio>
</MainPicture>
shared_ptr<dcp::MonoPictureAsset> mp (new dcp::MonoPictureAsset (dcp::Fraction (24, 1), dcp::Standard::SMPTE));
mp->set_metadata (mxf_meta);
shared_ptr<dcp::PictureAssetWriter> picture_writer = mp->start_write (path / dcp::String::compose("video%1.mxf", suffix), false);
- dcp::ArrayData j2c ("test/data/flat_red.j2c");
+
+ dcp::Size const size (1998, 1080);
+ auto image = make_shared<dcp::OpenJPEGImage>(size);
+ for (int i = 0; i < 3; ++i) {
+ memset (image->data(i), 0, 2 * size.width * size.height);
+ }
+ auto j2c = dcp::compress_j2k (image, 100000000, 24, false, false);
+
for (int i = 0; i < frames; ++i) {
- picture_writer->write (j2c.data (), j2c.size ());
+ picture_writer->write (j2c.data(), j2c.size());
}
picture_writer->finalize ();
{ dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::MISMATCHED_CPL_HASHES, dcp_test1_cpl_id, canonical(dir / dcp_test1_cpl) },
{ dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::MISMATCHED_PICTURE_HASHES, canonical(dir / "video.mxf") },
{ dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::MISMATCHED_SOUND_HASHES, canonical(dir / "audio.mxf") },
- { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xxz+gUPoPMdbFlAewvWIq8BRhBmA=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 12 },
- { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xXGhFVrqZqapOJx5Fh2SLjj48Yjg=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 19 },
+ { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xX3bMCBdXEOYEpYmsConNWrWUAGs=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 12 },
+ { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xaddO7je2lZSNQp55qjCWo5DLKFQ=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 19 },
{ dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xqtXbkcwhUj/yqquVLmV+wbzbxQ8=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 26 }
});
}
{
BOOST_REQUIRE (cpl->file());
Editor e(cpl->file().get());
- e.replace("<Hash>XGhFVrqZqapOJx5Fh2SLjj48Yjg=</Hash>", "");
+ e.replace("<Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>", "");
}
check_verify_result (