OSDN Git Service

Fix exposure and fixed warnings
authorJohn Hoford <hoford@google.com>
Tue, 2 Oct 2012 00:21:55 +0000 (17:21 -0700)
committerJohn Hoford <hoford@google.com>
Tue, 2 Oct 2012 00:47:50 +0000 (17:47 -0700)
bug:7234321

jni/Android.mk
jni/filters/contrast.c
jni/filters/exposure.c [moved from jni/filters/brightness.c with 74% similarity]
jni/filters/filters.h
jni/filters/vignette.c
src/com/android/gallery3d/filtershow/FilterShowActivity.java
src/com/android/gallery3d/filtershow/filters/ImageFilterExposure.java [moved from src/com/android/gallery3d/filtershow/filters/ImageFilterBrightness.java with 75% similarity]

index 8453f76..38fa453 100644 (file)
@@ -27,7 +27,7 @@ LOCAL_MODULE    := libjni_filtershow_filters
 LOCAL_SRC_FILES := filters/bw.c \
                   filters/gradient.c \
                   filters/saturated.c \
-                   filters/brightness.c \
+                   filters/exposure.c \
                    filters/contrast.c \
                    filters/hue.c \
                   filters/vignette.c
index 45209c1..6c1b976 100644 (file)
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
 
+#include <math.h>
 #include "filters.h"
 
 unsigned char clamp(int c)
similarity index 74%
rename from jni/filters/brightness.c
rename to jni/filters/exposure.c
index 88044a2..6b32798 100644 (file)
 
 #include "filters.h"
 
-void JNIFUNCF(ImageFilterBrightness, nativeApplyFilter, jobject bitmap, jint width, jint height, jfloat bright)
+void JNIFUNCF(ImageFilterExposure, nativeApplyFilter, jobject bitmap, jint width, jint height, jfloat bright)
 {
     char* destination = 0;
     AndroidBitmap_lockPixels(env, bitmap, (void**) &destination);
     unsigned char * rgb = (unsigned char * )destination;
     int i;
     int len = width * height * 4;
-    int c = (int)(bright);
-    int m =  (c>0)?(255+c):255;
+
+    int m =   (255-bright);
 
     for (i = 0; i < len; i+=4)
     {
-        rgb[RED]   = clamp((255*(rgb[RED]))/m+c);
-        rgb[GREEN] = clamp((255*(rgb[GREEN]))/m+c);
-        rgb[BLUE]  = clamp((255*(rgb[BLUE]))/m+c);
+        rgb[RED]   = clamp((255*(rgb[RED]))/m);
+        rgb[GREEN] = clamp((255*(rgb[GREEN]))/m);
+        rgb[BLUE]  = clamp((255*(rgb[BLUE]))/m);
     }
     AndroidBitmap_unlockPixels(env, bitmap);
 }
index 5fe595b..44a4422 100644 (file)
@@ -43,6 +43,6 @@ typedef unsigned int Color;
 #define ALPHA i+3
 #define CLAMP(c) (MAX(0, MIN(255, c)))
 
-unsigned char __inline__ clamp(int c);
+__inline__ unsigned char  clamp(int c);
 
 #endif // FILTERS_H
index 7cff517..2799ff0 100644 (file)
@@ -20,7 +20,7 @@ static int* gVignetteMap = 0;
 static int gVignetteWidth = 0;
 static int gVignetteHeight = 0;
 
-void __inline__ createVignetteMap(int w, int h)
+__inline__ void createVignetteMap(int w, int h)
 {
     if (gVignetteMap && (gVignetteWidth != w || gVignetteHeight != h))
     {
index eb95d74..4570eb0 100644 (file)
@@ -753,14 +753,14 @@ public class FilterShowActivity extends Activity implements OnItemClickListener
                 mImageShow.setVisibility(View.VISIBLE);
                 mImageShow.setShowControls(true);
                 ImagePreset preset = mImageShow.getImagePreset();
-                ImageFilter filter = preset.getFilter("Brightness");
+                ImageFilter filter = preset.getFilter("Exposure");
                 if (filter == null) {
-                    ImageFilterBrightness bright = new ImageFilterBrightness();
+                    ImageFilterExposure bright = new ImageFilterExposure();
                     ImagePreset copy = new ImagePreset(preset);
                     copy.add(bright);
                     copy.setHistoryName(bright.getName());
                     copy.setIsFx(false);
-                    filter = copy.getFilter("Brightness");
+                    filter = copy.getFilter("Exposure");
                     mImageShow.setImagePreset(copy);
                 }
                 mImageShow.setCurrentFilter(filter);
@@ -3,14 +3,15 @@ package com.android.gallery3d.filtershow.filters;
 
 import android.graphics.Bitmap;
 
-public class ImageFilterBrightness extends ImageFilter {
+public class ImageFilterExposure extends ImageFilter {
 
-    public ImageFilterBrightness() {
-        mName = "Brightness";
+    public ImageFilterExposure() {
+        mName = "Exposure";
     }
 
     native protected void nativeApplyFilter(Bitmap bitmap, int w, int h, float bright);
 
+    @Override
     public void apply(Bitmap bitmap) {
         int w = bitmap.getWidth();
         int h = bitmap.getHeight();