X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=test%2Fimage_test.cc;h=4eb2f0486811a09ab31a1c58f3d99c5e5a648a5d;hb=5eb8b5c3a1566aef638e9d9df03b88d320735092;hp=0bae58e60146bc42e68f59b0bf552ad933b79be4;hpb=92784c9c28c48859578cd6e75aa01d5657d0c341;p=dcpomatic.git diff --git a/test/image_test.cc b/test/image_test.cc index 0bae58e60..4eb2f0486 100644 --- a/test/image_test.cc +++ b/test/image_test.cc @@ -267,6 +267,50 @@ BOOST_AUTO_TEST_CASE (crop_scale_window_test) check_image("test/data/crop_scale_window_test.png", "build/test/crop_scale_window_test.png"); } +/** Special cases of Image::crop_scale_window which triggered some valgrind warnings */ +BOOST_AUTO_TEST_CASE (crop_scale_window_test2) +{ + 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"));