X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fimage_test.cc;h=e021322e095d9f81d407c020aa40e429f7d014a8;hb=5ff6b15ef3c58a046fb9eec0273c5e7322988a14;hp=8378207cfd42b0971de89cb60ab5a78bff13e524;hpb=25d968fdcf1abada4bd7bbcb8c72eeebda73b134;p=dcpomatic.git diff --git a/test/image_test.cc b/test/image_test.cc index 8378207cf..e021322e0 100644 --- a/test/image_test.cc +++ b/test/image_test.cc @@ -137,7 +137,7 @@ BOOST_AUTO_TEST_CASE (compact_image_test) void alpha_blend_test_one (AVPixelFormat format, string suffix) { - shared_ptr proxy (new FFmpegImageProxy (private_data / "prophet_frame.tiff")); + shared_ptr proxy (new FFmpegImageProxy (TestPaths::private_data / "prophet_frame.tiff")); shared_ptr raw = proxy->image().first; shared_ptr background = raw->convert_pixel_format (dcp::YUV_TO_RGB_REC709, format, true, false); @@ -173,7 +173,7 @@ alpha_blend_test_one (AVPixelFormat format, string suffix) shared_ptr save = background->convert_pixel_format (dcp::YUV_TO_RGB_REC709, AV_PIX_FMT_RGB24, false, false); write_image (save, "build/test/image_test_" + suffix + ".png", "RGB"); - check_image ("build/test/image_test_" + suffix + ".png", private_data / ("image_test_" + suffix + ".png")); + check_image ("build/test/image_test_" + suffix + ".png", TestPaths::private_data / ("image_test_" + suffix + ".png")); } /** Test Image::alpha_blend */ @@ -270,12 +270,47 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test) /** Special cases of Image::crop_scale_window which triggered some valgrind warnings */ BOOST_AUTO_TEST_CASE (crop_scale_window_test2) { - /* This 2048 does the same as J2KImageProxy does when it makes an image */ - shared_ptr image (new Image(AV_PIX_FMT_XYZ12LE, dcp::Size(2048, 858), true, 2048)); + shared_ptr image (new Image(AV_PIX_FMT_XYZ12LE, dcp::Size(2048, 858), true)); image->crop_scale_window (Crop(279, 0, 0, 0), dcp::Size(1069, 448), dcp::Size(1069, 578), dcp::YUV_TO_RGB_REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, false, false); image->crop_scale_window (Crop(2048, 0, 0, 0), dcp::Size(1069, 448), dcp::Size(1069, 578), dcp::YUV_TO_RGB_REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, false, false); } +BOOST_AUTO_TEST_CASE (crop_scale_window_test3) +{ + shared_ptr proxy(new FFmpegImageProxy("test/data/player_seek_test_0.png")); + shared_ptr xyz = proxy->image().first->convert_pixel_format(dcp::YUV_TO_RGB_REC709, AV_PIX_FMT_RGB24, true, false); + shared_ptr cropped = xyz->crop_scale_window(Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUV_TO_RGB_REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, false, false); + write_image(cropped, "build/test/crop_scale_window_test3.png", "RGB", MagickCore::CharPixel); + check_image("test/data/crop_scale_window_test3.png", "build/test/crop_scale_window_test3.png"); +} + +BOOST_AUTO_TEST_CASE (crop_scale_window_test4) +{ + shared_ptr proxy(new FFmpegImageProxy("test/data/player_seek_test_0.png")); + shared_ptr xyz = proxy->image().first->convert_pixel_format(dcp::YUV_TO_RGB_REC709, AV_PIX_FMT_RGB24, true, false); + shared_ptr cropped = xyz->crop_scale_window(Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUV_TO_RGB_REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_XYZ12LE, false, false); + write_image(cropped, "build/test/crop_scale_window_test4.png", "RGB", MagickCore::ShortPixel); + check_image("test/data/crop_scale_window_test4.png", "build/test/crop_scale_window_test4.png"); +} + +BOOST_AUTO_TEST_CASE (crop_scale_window_test5) +{ + shared_ptr proxy(new FFmpegImageProxy("test/data/player_seek_test_0.png")); + shared_ptr xyz = proxy->image().first->convert_pixel_format(dcp::YUV_TO_RGB_REC709, AV_PIX_FMT_XYZ12LE, true, false); + shared_ptr cropped = xyz->crop_scale_window(Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUV_TO_RGB_REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_RGB24, false, false); + write_image(cropped, "build/test/crop_scale_window_test5.png", "RGB", MagickCore::CharPixel); + check_image("test/data/crop_scale_window_test5.png", "build/test/crop_scale_window_test5.png"); +} + +BOOST_AUTO_TEST_CASE (crop_scale_window_test6) +{ + shared_ptr proxy(new FFmpegImageProxy("test/data/player_seek_test_0.png")); + shared_ptr xyz = proxy->image().first->convert_pixel_format(dcp::YUV_TO_RGB_REC709, AV_PIX_FMT_XYZ12LE, true, false); + shared_ptr cropped = xyz->crop_scale_window(Crop(512, 0, 0, 0), dcp::Size(1486, 1080), dcp::Size(1998, 1080), dcp::YUV_TO_RGB_REC709, VIDEO_RANGE_FULL, AV_PIX_FMT_XYZ12LE, false, false); + write_image(cropped, "build/test/crop_scale_window_test6.png", "RGB", MagickCore::ShortPixel); + check_image("test/data/crop_scale_window_test6.png", "build/test/crop_scale_window_test6.png"); +} + BOOST_AUTO_TEST_CASE (as_png_test) { shared_ptr proxy(new FFmpegImageProxy("test/data/3d_test/000001.png"));