summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/rgb_xyz_test.cc14
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;