summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorkaiyiz <kaiyiz@codeaurora.org>2013-09-16 17:09:18 +0800
committeremancebo <emancebo@cyngn.com>2014-09-04 10:40:17 -0700
commit79dfda8b8dd72124236570c01e2cf6542a5c8138 (patch)
tree3b4b18d39204d1daf07fdbb7c5d8be1137fdacaa /src
parentdd8706473533847522d76ce32aae8122335f3bb1 (diff)
downloadandroid_packages_apps_Gallery2-79dfda8b8dd72124236570c01e2cf6542a5c8138.tar.gz
android_packages_apps_Gallery2-79dfda8b8dd72124236570c01e2cf6542a5c8138.tar.bz2
android_packages_apps_Gallery2-79dfda8b8dd72124236570c01e2cf6542a5c8138.zip
Gallery2: fix display abnormal when tap sharpness in filtershow
In Android4.3 version, it using stride to pad row layouts in script, and can't do 1D indexing of 2D objects, this make the resulting pixel values are not the corresponding coordinates' pixel value. We change to use rsGetElementAt() not gPixels() to get the correct pixel values. CRs-Fixed: 539928 Change-Id: Ifc0e516014c9fd974f3e7df163b06f732499f7c0
Diffstat (limited to 'src')
-rw-r--r--src/com/android/gallery3d/filtershow/filters/convolve3x3.rs18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/convolve3x3.rs b/src/com/android/gallery3d/filtershow/filters/convolve3x3.rs
index 2acffab06..d348b92e5 100644
--- a/src/com/android/gallery3d/filtershow/filters/convolve3x3.rs
+++ b/src/com/android/gallery3d/filtershow/filters/convolve3x3.rs
@@ -31,15 +31,15 @@ void root(const uchar4 *in, uchar4 *out, const void *usrData, uint32_t x, uint32
uint32_t y1 = min((int32_t)y+1, gHeight-1);
uint32_t y2 = max((int32_t)y-1, 0);
- float4 p00 = rsUnpackColor8888(gPixels[x1 + gWidth * y1]);
- float4 p01 = rsUnpackColor8888(gPixels[x + gWidth * y1]);
- float4 p02 = rsUnpackColor8888(gPixels[x2 + gWidth * y1]);
- float4 p10 = rsUnpackColor8888(gPixels[x1 + gWidth * y]);
- float4 p11 = rsUnpackColor8888(gPixels[x + gWidth * y]);
- float4 p12 = rsUnpackColor8888(gPixels[x2 + gWidth * y]);
- float4 p20 = rsUnpackColor8888(gPixels[x1 + gWidth * y2]);
- float4 p21 = rsUnpackColor8888(gPixels[x + gWidth * y2]);
- float4 p22 = rsUnpackColor8888(gPixels[x2 + gWidth * y2]);
+ float4 p00 = rsUnpackColor8888(*((uchar4 *)rsGetElementAt(gIn, x1, y1)));
+ float4 p01 = rsUnpackColor8888(*((uchar4 *)rsGetElementAt(gIn, x, y1)));
+ float4 p02 = rsUnpackColor8888(*((uchar4 *)rsGetElementAt(gIn, x2, y1)));
+ float4 p10 = rsUnpackColor8888(*((uchar4 *)rsGetElementAt(gIn, x1, y)));
+ float4 p11 = rsUnpackColor8888(*((uchar4 *)rsGetElementAt(gIn, x, y)));
+ float4 p12 = rsUnpackColor8888(*((uchar4 *)rsGetElementAt(gIn, x2, y)));
+ float4 p20 = rsUnpackColor8888(*((uchar4 *)rsGetElementAt(gIn, x1, y2)));
+ float4 p21 = rsUnpackColor8888(*((uchar4 *)rsGetElementAt(gIn, x, y2)));
+ float4 p22 = rsUnpackColor8888(*((uchar4 *)rsGetElementAt(gIn, x2, y2)));
p00 *= gCoeffs[0];
p01 *= gCoeffs[1];