path: root/src/gui/painting/qimagescale.cpp
diff options
authorAllan Sandfeld Jensen <>2015-12-14 12:49:36 +0100
committerTor Arne Vestbø <>2015-12-17 01:11:57 +0000
commitd290424f2aad53eec5a94909703d988009fde973 (patch)
tree934d4828404efd8d0e3d6a1a288caac2ee974fda /src/gui/painting/qimagescale.cpp
parent3e892e4a972446d17afde178a7b17482ecaced33 (diff)
NEON optimized bilinear sampling
Adds NEON version of interpolate_4_pixels used by smooth upscaling, and bilinear sampling. The SSE2 version is reordered to match the NEON version so they have the same order of operations and a faster version that loads directly into vector registers. Testing is extended so we have a test of smoothness that can catch more possible mistakes. Change-Id: I0de4aecf5cb79468e7c8f19f421aa24b2955547c Reviewed-by: Erik Verbruggen <>
Diffstat (limited to 'src/gui/painting/qimagescale.cpp')
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gui/painting/qimagescale.cpp b/src/gui/painting/qimagescale.cpp
index d51d0bf4a8..9381afa8e7 100644
--- a/src/gui/painting/qimagescale.cpp
+++ b/src/gui/painting/qimagescale.cpp
@@ -308,7 +308,7 @@ static void qt_qimageScaleAARGBA_up_xy(QImageScaleInfo *isi, unsigned int *dest,
const unsigned int *pix = sptr + xpoints[x];
const int xap = xapoints[x];
if (xap > 0)
- *dptr = interpolate_4_pixels(pix[0], pix[1], pix[sow], pix[sow + 1], xap, yap);
+ *dptr = interpolate_4_pixels(pix, pix + sow, xap, yap);
*dptr = INTERPOLATE_PIXEL_256(pix[0], 256 - yap, pix[sow], yap);