summaryrefslogtreecommitdiffstats
path: root/jni
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2013-11-22 10:35:34 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2013-11-22 10:35:34 -0800
commitb269d503712d9f214297ef7dcf5991745626b675 (patch)
tree9ded5bc639ad820c1a7416cebd45ed111f4c2a79 /jni
parent2c237f1146ebc4385a9a0a0c6f9365aa09db5b24 (diff)
parent289306f103b181378d5d58850cf61495facc3204 (diff)
downloadandroid_packages_apps_Gallery2-b269d503712d9f214297ef7dcf5991745626b675.tar.gz
android_packages_apps_Gallery2-b269d503712d9f214297ef7dcf5991745626b675.tar.bz2
android_packages_apps_Gallery2-b269d503712d9f214297ef7dcf5991745626b675.zip
Merge commit '289306f103b181378d5d58850cf61495facc3204' into HEAD
Diffstat (limited to 'jni')
-rw-r--r--jni/Android.mk1
-rw-r--r--jni/filters/fx.c8
-rw-r--r--jni/filters/vignette.c49
3 files changed, 4 insertions, 54 deletions
diff --git a/jni/Android.mk b/jni/Android.mk
index e612486e1..0b8480e56 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -37,7 +37,6 @@ LOCAL_SRC_FILES := filters/gradient.c \
filters/vibrance.c \
filters/geometry.c \
filters/negative.c \
- filters/vignette.c \
filters/redEyeMath.c \
filters/fx.c \
filters/wbalance.c \
diff --git a/jni/filters/fx.c b/jni/filters/fx.c
index 24fa5e0d7..c3c9cbdc6 100644
--- a/jni/filters/fx.c
+++ b/jni/filters/fx.c
@@ -29,7 +29,9 @@ __inline__ int interp(unsigned char *src, int p , int *off ,float dr,float dg,
return (int)frbg ;
}
-void JNIFUNCF(ImageFilterFx, nativeApplyFilter, jobject bitmap, jint width, jint height, jobject lutbitmap,jint lutwidth, jint lutheight )
+void JNIFUNCF(ImageFilterFx, nativeApplyFilter, jobject bitmap, jint width, jint height,
+ jobject lutbitmap, jint lutwidth, jint lutheight,
+ jint start, jint end)
{
char* destination = 0;
char* lut = 0;
@@ -58,9 +60,7 @@ void JNIFUNCF(ImageFilterFx, nativeApplyFilter, jobject bitmap, jint width, jint
float scale_B = (lutdim_b-1.f)/256.f;
int i;
- int len = width * height * STEP;
-
- for (i = 0; i < len; i+=STEP)
+ for (i = start; i < end; i+= STEP)
{
int r = rgb[RED];
int g = rgb[GREEN];
diff --git a/jni/filters/vignette.c b/jni/filters/vignette.c
deleted file mode 100644
index b9ee3ff01..000000000
--- a/jni/filters/vignette.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2012 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include "filters.h"
-#include <math.h>
-
-static int* gVignetteMap = 0;
-static int gVignetteWidth = 0;
-static int gVignetteHeight = 0;
-
-void JNIFUNCF(ImageFilterVignette, nativeApplyFilter, jobject bitmap, jint width, jint height, jint centerx, jint centery, jfloat radiusx, jfloat radiusy, jfloat strength)
-{
- char* destination = 0;
- AndroidBitmap_lockPixels(env, bitmap, (void**) &destination);
- int i;
- int len = width * height * 4;
- int vignette = 0;
- float d = centerx;
- if (radiusx == 0) radiusx = 10;
- if (radiusy == 0) radiusy = 10;
- float scalex = 1/radiusx;
- float scaley = 1/radiusy;
-
- for (i = 0; i < len; i += 4)
- {
- int p = i/4;
- float x = ((p%width)-centerx)*scalex;
- float y = ((p/width)-centery)*scaley;
- float dist = sqrt(x*x+y*y)-1;
- vignette = (int) (strength*256*MAX(dist,0));
- destination[RED] = CLAMP(destination[RED] - vignette);
- destination[GREEN] = CLAMP(destination[GREEN] - vignette);
- destination[BLUE] = CLAMP(destination[BLUE] - vignette);
- }
- AndroidBitmap_unlockPixels(env, bitmap);
-}