summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkaiyiz <kaiyiz@codeaurora.org>2013-09-16 17:09:18 +0800
committerSteve Kondik <shade@chemlab.org>2013-12-12 04:03:01 -0500
commit7d6105a77320c0de8cd7e7fbde82dccf4f606548 (patch)
tree6af51d5a15b7e04cb962b6e1978b242d572e2579
parent8ecb0c9375a739b69d5d163a3a15d55fa563009f (diff)
downloadandroid_packages_apps_Gallery2-7d6105a77320c0de8cd7e7fbde82dccf4f606548.tar.gz
android_packages_apps_Gallery2-7d6105a77320c0de8cd7e7fbde82dccf4f606548.tar.bz2
android_packages_apps_Gallery2-7d6105a77320c0de8cd7e7fbde82dccf4f606548.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
-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];