diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/rgb_xyz_test.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/test/rgb_xyz_test.cc b/test/rgb_xyz_test.cc index d9c27ae2..8a5ad205 100644 --- a/test/rgb_xyz_test.cc +++ b/test/rgb_xyz_test.cc @@ -51,7 +51,7 @@ using boost::scoped_array; BOOST_AUTO_TEST_CASE (rgb_xyz_test) { srand (0); - dcp::Size const size (640, 480); + dcp::Size const size (647, 485); scoped_array<uint8_t> rgb (new uint8_t[size.width * size.height * 6]); for (int y = 0; y < size.height; ++y) { @@ -125,11 +125,13 @@ BOOST_AUTO_TEST_CASE (rgb_xyz_test) BOOST_AUTO_TEST_CASE (rgb_xyz_test_avx2) { srand (0); - dcp::Size const size (640, 480); + dcp::Size const size (647, 485); + + int stride = (size.width + (16 - size.width % 16)) * 8; - scoped_array<uint8_t> rgb (new uint8_t[size.width * size.height * 8]); + scoped_array<uint8_t> rgb (new uint8_t[size.height * stride]); for (int y = 0; y < size.height; ++y) { - uint16_t* p = reinterpret_cast<uint16_t*> (rgb.get() + y * size.width * 8); + uint16_t* p = reinterpret_cast<uint16_t*> (rgb.get() + y * stride); for (int x = 0; x < size.width; ++x) { /* Write a 12-bit random number for each component */ for (int c = 0; c < 3; ++c) { @@ -139,10 +141,10 @@ BOOST_AUTO_TEST_CASE (rgb_xyz_test_avx2) } } - shared_ptr<dcp::OpenJPEGImage> xyz = dcp::rgb_to_xyz_avx2 (rgb.get(), size, size.width * 8, dcp::ColourConversion::srgb_to_xyz()); + shared_ptr<dcp::OpenJPEGImage> xyz = dcp::rgb_to_xyz_avx2 (rgb.get(), size, stride, dcp::ColourConversion::srgb_to_xyz()); for (int y = 0; y < size.height; ++y) { - uint16_t* p = reinterpret_cast<uint16_t*> (rgb.get() + y * size.width * 8); + uint16_t* p = reinterpret_cast<uint16_t*> (rgb.get() + y * stride); for (int x = 0; x < size.width; ++x) { double cr = *p++ / 65535.0; |
