Don't use flat_red.j2c for the simple DCP test as it's only 8-bit.
authorCarl Hetherington <cth@carlh.net>
Thu, 28 Jan 2021 22:13:15 +0000 (23:13 +0100)
committerCarl Hetherington <cth@carlh.net>
Sat, 6 Feb 2021 21:48:30 +0000 (22:48 +0100)
13 files changed:
test/frame_info_hash_test.cc
test/ref/DCP/dcp_test1/ASSETMAP.xml
test/ref/DCP/dcp_test1/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/dcp_test1/pkl_2b9b857f-ab4a-440e-a313-1ace0f1cfc95.xml
test/ref/DCP/dcp_test1/video.mxf
test/ref/DCP/dcp_test7/ASSETMAP
test/ref/DCP/dcp_test7/cpl_81fb54df-e1bf-4647-8788-ea7ba154375b.xml
test/ref/DCP/dcp_test7/pkl_63c3aece-c581-4603-b612-75e43f0c0430.xml
test/ref/DCP/dcp_test7/video.mxf
test/ref/cpl_metadata_test1.xml
test/ref/cpl_metadata_test2.xml
test/test.cc
test/verify_test.cc

index e24ab5aa6036f7b2050f0a5d6f302f7d76a6855e..82e0f3ac0bd12246d950f383dfc8b44e737fc0f8 100644 (file)
@@ -66,7 +66,7 @@ BOOST_AUTO_TEST_CASE (frame_info_hash_test)
        unsigned int seed = 42;
 
        /* Check a few random frames */
        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");
 }
 }
index e0426fb14b2f7aa9344fca54ac08d92452180052..1e5c909b62c57dd8636f1ca1adcb4b9fed3f5524 100644 (file)
@@ -37,7 +37,7 @@
           <Path>video.mxf</Path>
           <VolumeIndex>1</VolumeIndex>
           <Offset>0</Offset>
           <Path>video.mxf</Path>
           <VolumeIndex>1</VolumeIndex>
           <Offset>0</Offset>
-          <Length>40144</Length>
+          <Length>49240</Length>
         </Chunk>
       </ChunkList>
     </Asset>
         </Chunk>
       </ChunkList>
     </Asset>
index 2ee11df5dea1a38be25823f4c7f2a64b87971d11..fed09ab1c5b6c56e8a08dcaabb6d033ffe49730b 100644 (file)
@@ -41,7 +41,7 @@
           <IntrinsicDuration>24</IntrinsicDuration>
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
           <IntrinsicDuration>24</IntrinsicDuration>
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
-          <Hash>XGhFVrqZqapOJx5Fh2SLjj48Yjg=</Hash>
+          <Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>
           <FrameRate>24 1</FrameRate>
           <ScreenAspectRatio>1998 1080</ScreenAspectRatio>
         </MainPicture>
           <FrameRate>24 1</FrameRate>
           <ScreenAspectRatio>1998 1080</ScreenAspectRatio>
         </MainPicture>
index 5038b8ed8690a6b81f9cdacd208b341ebfc36287..e2a283296f3f0cea671ec7fd66104258f6aba56c 100644 (file)
@@ -9,15 +9,15 @@
     <Asset>
       <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
       <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
     <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>
       <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>
       <Type>application/mxf</Type>
     </Asset>
     <Asset>
index 0a8fb0cab03c264d7ed5f12c3e4cd66b19a19b60..7042a71ac700e58c03615197173c31c480d85fe4 100644 (file)
Binary files a/test/ref/DCP/dcp_test1/video.mxf and b/test/ref/DCP/dcp_test1/video.mxf differ
index a0a42801aaa04e81c0bcc16f5cbbbf373fd387ab..58ef12795e4a75a53306d1e72b20e8aa579068b6 100644 (file)
@@ -37,7 +37,7 @@
           <Path>video.mxf</Path>
           <VolumeIndex>1</VolumeIndex>
           <Offset>0</Offset>
           <Path>video.mxf</Path>
           <VolumeIndex>1</VolumeIndex>
           <Offset>0</Offset>
-          <Length>40144</Length>
+          <Length>49240</Length>
         </Chunk>
       </ChunkList>
     </Asset>
         </Chunk>
       </ChunkList>
     </Asset>
index a9ff202bd1a6f053051932b77515a7b496565bce..bb933d94612f8c71d2e471e0eb6a60d17c7847a9 100644 (file)
@@ -41,7 +41,7 @@
           <IntrinsicDuration>24</IntrinsicDuration>
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
           <IntrinsicDuration>24</IntrinsicDuration>
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
-          <Hash>XGhFVrqZqapOJx5Fh2SLjj48Yjg=</Hash>
+          <Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>
           <FrameRate>24 1</FrameRate>
           <ScreenAspectRatio>1.85</ScreenAspectRatio>
         </MainPicture>
           <FrameRate>24 1</FrameRate>
           <ScreenAspectRatio>1.85</ScreenAspectRatio>
         </MainPicture>
index 919fe206bccd12b28fb17426e74b7c606f1f76d0..ae197d215777e06460e02f91ae927cfe0e703585 100644 (file)
@@ -9,15 +9,15 @@
     <Asset>
       <Id>urn:uuid:81fb54df-e1bf-4647-8788-ea7ba154375b</Id>
       <AnnotationText>81fb54df-e1bf-4647-8788-ea7ba154375b</AnnotationText>
     <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>
       <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>
       <Type>application/x-smpte-mxf;asdcpKind=Picture</Type>
     </Asset>
     <Asset>
index 0a8fb0cab03c264d7ed5f12c3e4cd66b19a19b60..7042a71ac700e58c03615197173c31c480d85fe4 100644 (file)
Binary files a/test/ref/DCP/dcp_test7/video.mxf and b/test/ref/DCP/dcp_test7/video.mxf differ
index b0641ab975348174f121d597ef443494aa69bbbe..9fac07ce5f13b6790b7555ad81dad69b615cc0a0 100644 (file)
@@ -23,7 +23,7 @@
           <IntrinsicDuration>24</IntrinsicDuration>
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
           <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>
           <FrameRate>24 1</FrameRate>
           <ScreenAspectRatio>1998 1080</ScreenAspectRatio>
         </MainPicture>
index f57dd06aa798fd7225031225c5e5bafa0caa346a..f7fe62a31f51195afdddc8f76f6959261cfa2ae9 100644 (file)
@@ -23,7 +23,7 @@
           <IntrinsicDuration>24</IntrinsicDuration>
           <EntryPoint>0</EntryPoint>
           <Duration>24</Duration>
           <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>
           <FrameRate>24 1</FrameRate>
           <ScreenAspectRatio>1998 1080</ScreenAspectRatio>
         </MainPicture>
index dc18f190abcc05ce0aaf8b352e30c59032e5aaaf..7ee42cf8835cb2d62e39d3ad1d2acf9be2379487 100644 (file)
@@ -267,9 +267,16 @@ simple_picture (boost::filesystem::path path, string suffix, int frames)
        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);
        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) {
        for (int i = 0; i < frames; ++i) {
-               picture_writer->write (j2c.data (), j2c.size ());
+               picture_writer->write (j2c.data(), j2c.size());
        }
        picture_writer->finalize ();
 
        }
        picture_writer->finalize ();
 
index fc2ed203a754ee5e26469a3b0a6aa70b3d7bec0e..f5a012a629f93ccd55ad26142640ccd851b3bbb8 100644 (file)
@@ -332,8 +332,8 @@ BOOST_AUTO_TEST_CASE (verify_mismatched_picture_sound_hashes)
                        { 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::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 }
                });
 }
                        { dcp::VerificationNote::Type::ERROR, dcp::VerificationNote::Code::INVALID_XML, "value 'xqtXbkcwhUj/yqquVLmV+wbzbxQ8=' is invalid Base64-encoded binary", canonical(dir / dcp_test1_pkl), 26 }
                });
 }
@@ -2187,7 +2187,7 @@ BOOST_AUTO_TEST_CASE (verify_missing_hash)
        {
                BOOST_REQUIRE (cpl->file());
                Editor e(cpl->file().get());
        {
                BOOST_REQUIRE (cpl->file());
                Editor e(cpl->file().get());
-               e.replace("<Hash>XGhFVrqZqapOJx5Fh2SLjj48Yjg=</Hash>", "");
+               e.replace("<Hash>addO7je2lZSNQp55qjCWo5DLKFQ=</Hash>", "");
        }
 
        check_verify_result (
        }
 
        check_verify_result (