diff options
author | Jason Sams <jsams@google.com> | 2012-12-11 17:06:44 -0800 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-12-11 17:06:45 -0800 |
commit | 0d0c4e136a8da0b590d8c26f7f60603286362695 (patch) | |
tree | 746006c675eb1593bbc8966ff22e31419dea3079 /tests | |
parent | 1d42a09715a17e13c4c68e133bcae40ee9935638 (diff) | |
parent | f914db7c42108de15c75e6e7a4396b440549b2ca (diff) | |
download | frameworks_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')
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); } + |