Implement alpha_blend for YUV420P and YUV420P10. Improve unit test.
[dcpomatic.git] / test / test.cc
index b8d7070f8b960c6f89ee6bc4c30993f8dba662a0..85c36c16c0038910242def9a57ed7ed05ed71e84 100644 (file)
@@ -162,6 +162,22 @@ check_audio_file (boost::filesystem::path ref, boost::filesystem::path check)
        }
 }
 
+void
+check_image (boost::filesystem::path ref, boost::filesystem::path check)
+{
+#ifdef DCPOMATIC_IMAGE_MAGICK
+       using namespace MagickCore;
+#else
+       using namespace MagickLib;
+#endif
+
+       Magick::Image ref_image;
+       ref_image.read (ref.string ());
+       Magick::Image check_image;
+       check_image.read (check.string ());
+       DCPOMATIC_ASSERT (ref_image.compare (check_image));
+}
+
 void
 check_file (boost::filesystem::path ref, boost::filesystem::path check)
 {
@@ -333,7 +349,7 @@ wait_for_jobs ()
 }
 
 void
-write_image (shared_ptr<const Image> image, boost::filesystem::path file)
+write_image (shared_ptr<const Image> image, boost::filesystem::path file, string format)
 {
 #ifdef DCPOMATIC_IMAGE_MAGICK
                using namespace MagickCore;
@@ -341,6 +357,6 @@ write_image (shared_ptr<const Image> image, boost::filesystem::path file)
                using namespace MagickLib;
 #endif
 
-       Magick::Image m (image->size().width, image->size().height, "ARGB", CharPixel, (void *) image->data()[0]);
+       Magick::Image m (image->size().width, image->size().height, format.c_str(), CharPixel, (void *) image->data()[0]);
        m.write (file.string ());
 }