summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorlihai <lihai@codeaurora.org>2015-09-02 10:03:19 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2015-10-09 06:15:56 -0700
commiteaf6ca6e3053d7cb0b3a1491f028e82c8573926d (patch)
treee99576a176e8e3b98c0365e5f7b7610fd9521d9f /src
parentbec577299fd05d5ee80a44ea93e1ae9a7779647a (diff)
downloadandroid_packages_apps_Gallery2-eaf6ca6e3053d7cb0b3a1491f028e82c8573926d.tar.gz
android_packages_apps_Gallery2-eaf6ca6e3053d7cb0b3a1491f028e82c8573926d.tar.bz2
android_packages_apps_Gallery2-eaf6ca6e3053d7cb0b3a1491f028e82c8573926d.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. Change-Id: I4ba074d70866c0c0e362cf6dc82158de0aeb7be4 CRs-Fixed: 899874
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];