diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-12-14 12:49:36 +0100 |
---|---|---|
committer | Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> | 2015-12-17 01:11:57 +0000 |
commit | d290424f2aad53eec5a94909703d988009fde973 (patch) | |
tree | 934d4828404efd8d0e3d6a1a288caac2ee974fda /src/gui/painting/qimagescale.cpp | |
parent | 3e892e4a972446d17afde178a7b17482ecaced33 (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 <erik.verbruggen@theqtcompany.com>
Diffstat (limited to 'src/gui/painting/qimagescale.cpp')
-rw-r--r-- | src/gui/painting/qimagescale.cpp | 2 |
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); else *dptr = INTERPOLATE_PIXEL_256(pix[0], 256 - yap, pix[sow], yap); dptr++; |