X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fimage_test.cc;h=56e6819436886b187f39861f2207ea198994bda0;hb=6c18c9a37f3a1c8ea1d3ca7791a0f1380b23f5d1;hp=a529a39355f49a643e8fe38af3abaa1b23d5f20c;hpb=9704833bdfc8c8f104203200be27f714fa677506;p=dcpomatic.git diff --git a/test/image_test.cc b/test/image_test.cc index a529a3935..56e681943 100644 --- a/test/image_test.cc +++ b/test/image_test.cc @@ -223,7 +223,6 @@ BOOST_AUTO_TEST_CASE (alpha_blend_test_onto_xyz) for (int y = 0; y < 50; ++y) { uint16_t* p = reinterpret_cast(xyz.data()[0]) + (y * xyz.stride()[0] / 2); for (int x = 0; x < 50; ++x) { - std::cout << "x=" << x << ", y=" << y << "\n"; if (4 <= x && x < 12 && 4 <= y && y < 12) { BOOST_REQUIRE_EQUAL(p[0], 45078U); BOOST_REQUIRE_EQUAL(p[1], 34939U); @@ -356,7 +355,7 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test4) Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_XYZ12LE, VideoRange::FULL, Image::Alignment::COMPACT, false ); write_image(cropped, "build/test/crop_scale_window_test4.png"); - check_image("test/data/crop_scale_window_test4.png", "build/test/crop_scale_window_test4.png", 35000); + check_image("test/data/crop_scale_window_test4.png", "build/test/crop_scale_window_test4.png"); } @@ -380,7 +379,7 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test6) Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_XYZ12LE, VideoRange::FULL, Image::Alignment::COMPACT, false ); write_image(cropped, "build/test/crop_scale_window_test6.png"); - check_image("test/data/crop_scale_window_test6.png", "build/test/crop_scale_window_test6.png", 35000); + check_image("test/data/crop_scale_window_test6.png", "build/test/crop_scale_window_test6.png"); } @@ -410,6 +409,23 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test7) } +BOOST_AUTO_TEST_CASE (crop_scale_window_test8) +{ + using namespace boost::filesystem; + + auto image = make_shared(AV_PIX_FMT_YUV420P, dcp::Size(800, 600), Image::Alignment::PADDED); + memset(image->data()[0], 41, image->stride()[0] * 600); + memset(image->data()[1], 240, image->stride()[1] * 300); + memset(image->data()[2], 41, image->stride()[2] * 300); + auto scaled = image->crop_scale_window( + Crop(), dcp::Size(1435, 1080), dcp::Size(1998, 1080), dcp::YUVToRGB::REC709, VideoRange::FULL, AV_PIX_FMT_YUV420P, VideoRange::FULL, Image::Alignment::PADDED, false + ); + auto file = "crop_scale_window_test8.png"; + write_image(scaled->convert_pixel_format(dcp::YUVToRGB::REC709, AV_PIX_FMT_RGB24, Image::Alignment::COMPACT, false), path("build") / "test" / file); + check_image(path("test") / "data" / file, path("build") / "test" / file, 10); +} + + BOOST_AUTO_TEST_CASE (as_png_test) { auto proxy = make_shared("test/data/3d_test/000001.png"); @@ -568,6 +584,7 @@ BOOST_AUTO_TEST_CASE (make_part_black_test) AV_PIX_FMT_BGRA, AV_PIX_FMT_YUV420P, AV_PIX_FMT_YUV422P10LE, + AV_PIX_FMT_YUV444P10LE }; list> positions = {