summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJason Sams <jsams@google.com>2012-12-11 17:06:44 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-12-11 17:06:45 -0800
commit0d0c4e136a8da0b590d8c26f7f60603286362695 (patch)
tree746006c675eb1593bbc8966ff22e31419dea3079 /tests
parent1d42a09715a17e13c4c68e133bcae40ee9935638 (diff)
parentf914db7c42108de15c75e6e7a4396b440549b2ca (diff)
downloadframeworks_base-0d0c4e136a8da0b590d8c26f7f60603286362695.zip
frameworks_base-0d0c4e136a8da0b590d8c26f7f60603286362695.tar.gz
frameworks_base-0d0c4e136a8da0b590d8c26f7f60603286362695.tar.bz2
Merge "Minor cleanup of a few RS filter ports."
Diffstat (limited to 'tests')
-rw-r--r--tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/Contrast.java2
-rw-r--r--tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/Exposure.java2
-rw-r--r--tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/bwfilter.rs2
-rw-r--r--tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/contrast.rs31
-rw-r--r--tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/exposure.rs22
5 files changed, 25 insertions, 34 deletions
diff --git a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/Contrast.java b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/Contrast.java
index 80e0f1a..f3cf1b7 100644
--- a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/Contrast.java
+++ b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/Contrast.java
@@ -28,7 +28,7 @@ public class Contrast extends TestBase {
}
public void runTest() {
- mScript.set_bright(50.f);
+ mScript.invoke_setBright(50.f);
mScript.forEach_contrast(mInPixelsAllocation, mOutPixelsAllocation);
}
diff --git a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/Exposure.java b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/Exposure.java
index 6aad4be..bec53ab 100644
--- a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/Exposure.java
+++ b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/Exposure.java
@@ -28,7 +28,7 @@ public class Exposure extends TestBase {
}
public void runTest() {
- mScript.set_bright(50.f);
+ mScript.invoke_setBright(50.f);
mScript.forEach_exposure(mInPixelsAllocation, mOutPixelsAllocation);
}
diff --git a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/bwfilter.rs b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/bwfilter.rs
index 80a626a..2818bf5 100644
--- a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/bwfilter.rs
+++ b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/bwfilter.rs
@@ -48,6 +48,6 @@ void bwFilterKernel(const uchar4 *in, uchar4 *out) {
localMin = fmin(r,localMin);
localMax = fmax(g,b);
localMax = fmax(r,localMax);
- avg =(localMin+localMax)/2;
+ avg = (localMin+localMax) * 0.5f;
out->r = out->g = out->b = rsClamp(avg, 0, 255);
}
diff --git a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/contrast.rs b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/contrast.rs
index 987315e..5fd7be1 100644
--- a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/contrast.rs
+++ b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/contrast.rs
@@ -16,27 +16,24 @@
#pragma version(1)
#pragma rs java_package_name(com.android.rs.image)
-#pragma rs_fp_relaxed
+#pragma rs_fp_full
-float bright = 0.f;
+static float brightM = 0.f;
+static float brightC = 0.f;
-static unsigned char contrastClamp(int c)
-{
- int N = 255;
- c &= ~(c >> 31);
- c -= N;
- c &= (c >> 31);
- c += N;
- return (unsigned char) c;
+void setBright(float v) {
+ brightM = pow(2.f, v / 100.f);
+ brightC = 127.f - brightM * 127.f;
}
void contrast(const uchar4 *in, uchar4 *out)
{
- float m = (float)pow(2, bright/100.f);
- float c = 127-m*127;
-
- out->r = contrastClamp((int)(m*in->r+c));
- out->g = contrastClamp((int)(m*in->g+c));
- out->b = contrastClamp((int)(m*in->b+c));
-
+#if 0
+ out->r = rsClamp((int)(brightM * in->r + brightC), 0, 255);
+ out->g = rsClamp((int)(brightM * in->g + brightC), 0, 255);
+ out->b = rsClamp((int)(brightM * in->b + brightC), 0, 255);
+#else
+ float3 v = convert_float3(in->rgb) * brightM + brightC;
+ out->rgb = convert_uchar3(clamp(v, 0.f, 255.f));
+#endif
}
diff --git a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/exposure.rs b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/exposure.rs
index d15fd87..adfae4a 100644
--- a/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/exposure.rs
+++ b/tests/RenderScriptTests/ImageProcessing/src/com/android/rs/image/exposure.rs
@@ -16,24 +16,18 @@
#pragma version(1)
#pragma rs java_package_name(com.android.rs.image)
-#pragma rs_fp_relaxed
+#pragma rs_fp_full
-float bright = 0.f;
+static float bright = 0.f;
-static unsigned char contrastClamp(int c)
-{
- int N = 255;
- c &= ~(c >> 31);
- c -= N;
- c &= (c >> 31);
- c += N;
- return (unsigned char) c;
+void setBright(float v) {
+ bright = 255.f / (255.f - v);
}
void exposure(const uchar4 *in, uchar4 *out)
{
- int m = 255 - bright;
- out->r = contrastClamp((255 * in->r)/m);
- out->g = contrastClamp((255 * in->g)/m);
- out->b = contrastClamp((255 * in->b)/m);
+ out->r = rsClamp((int)(bright * in->r), 0, 255);
+ out->g = rsClamp((int)(bright * in->g), 0, 255);
+ out->b = rsClamp((int)(bright * in->b), 0, 255);
}
+