summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/imageprocessor/filter
diff options
context:
space:
mode:
authorJack Yoo <jyoo@codeaurora.org>2016-09-12 12:48:28 -0700
committerJay Wang <jaywang@codeaurora.org>2016-09-27 15:54:56 -0700
commitc3a465da5ed9ba64512eda37597e96f6ab839fa8 (patch)
treea92a4655021e0be421f02f297f49e063c05b3526 /src/com/android/camera/imageprocessor/filter
parent8f6566e427e0091e95974768596e29220c2f181b (diff)
downloadandroid_packages_apps_Snap-c3a465da5ed9ba64512eda37597e96f6ab839fa8.tar.gz
android_packages_apps_Snap-c3a465da5ed9ba64512eda37597e96f6ab839fa8.tar.bz2
android_packages_apps_Snap-c3a465da5ed9ba64512eda37597e96f6ab839fa8.zip
SnapdragonCamera: Makeup feature
Makeup feature for camera preview and video Change-Id: Ia8cdb629372333c9dceef8aa474402553b7259f0 CRs-Fixed: 1067848
Diffstat (limited to 'src/com/android/camera/imageprocessor/filter')
-rw-r--r--src/com/android/camera/imageprocessor/filter/BeautificationFilter.java18
-rw-r--r--src/com/android/camera/imageprocessor/filter/UbifocusFilter.java1
2 files changed, 15 insertions, 4 deletions
diff --git a/src/com/android/camera/imageprocessor/filter/BeautificationFilter.java b/src/com/android/camera/imageprocessor/filter/BeautificationFilter.java
index 77e6ead6e..3f0a10bbf 100644
--- a/src/com/android/camera/imageprocessor/filter/BeautificationFilter.java
+++ b/src/com/android/camera/imageprocessor/filter/BeautificationFilter.java
@@ -33,12 +33,15 @@ import android.hardware.Camera;
import android.hardware.camera2.CameraCaptureSession;
import android.hardware.camera2.CaptureRequest;
import android.hardware.camera2.params.Face;
+import android.media.audiofx.BassBoost;
import android.os.Handler;
import android.util.Log;
import android.util.Size;
import com.android.camera.CaptureModule;
+import com.android.camera.SettingsManager;
import com.android.camera.ui.FilmstripBottomControls;
+import com.android.camera.ui.ListMenu;
import java.nio.ByteBuffer;
import java.util.List;
@@ -53,9 +56,15 @@ public class BeautificationFilter implements ImageFilter {
private static boolean DEBUG = false;
private static String TAG = "BeautificationFilter";
private static boolean mIsSupported = false;
+ private int mStrengthValue = 0;
public BeautificationFilter(CaptureModule module) {
mModule = module;
+ String value = SettingsManager.getInstance().getValue(SettingsManager.KEY_MAKEUP);
+ try {
+ mStrengthValue = Integer.parseInt(value);
+ } catch(Exception e) {
+ }
}
@Override
@@ -97,12 +106,13 @@ public class BeautificationFilter implements ImageFilter {
}
float widthRatio = (float)mWidth/back.width();
float heightRatio = (float)mHeight/back.height();
- if(faces == null || faces.length == 0)
+ if(faces == null || faces.length == 0) {
return;
+ }
Rect rect = faces[0].getBounds();
int value = nativeBeautificationProcess(bY, bVU, mWidth, mHeight, mStrideY,
(int)(rect.left*widthRatio), (int)(rect.top*heightRatio),
- (int)(rect.right*widthRatio), (int)(rect.bottom*heightRatio));
+ (int)(rect.right*widthRatio), (int)(rect.bottom*heightRatio), mStrengthValue, mStrengthValue);
if(DEBUG && value < 0) {
if(value == -1) {
Log.d(TAG, "library initialization is failed.");
@@ -143,11 +153,11 @@ public class BeautificationFilter implements ImageFilter {
}
private native int nativeBeautificationProcess(ByteBuffer yB, ByteBuffer vuB,
- int width, int height, int stride, int fleft, int ftop, int fright, int fbottom);
+ int width, int height, int stride, int fleft, int ftop, int fright, int fbottom, int whiteLevel, int cleanLevel);
static {
try {
- System.loadLibrary("jni_makeup");
+ System.loadLibrary("jni_makeupV2");
mIsSupported = true;
}catch(UnsatisfiedLinkError e) {
mIsSupported = false;
diff --git a/src/com/android/camera/imageprocessor/filter/UbifocusFilter.java b/src/com/android/camera/imageprocessor/filter/UbifocusFilter.java
index 37ee1dc27..a4e0f8e1e 100644
--- a/src/com/android/camera/imageprocessor/filter/UbifocusFilter.java
+++ b/src/com/android/camera/imageprocessor/filter/UbifocusFilter.java
@@ -215,6 +215,7 @@ public class UbifocusFilter implements ImageFilter {
} while(Math.abs(mModule.getPreviewCaptureResult().get(CaptureResult.LENS_FOCUS_DISTANCE)
- value) >= 0.5f);
} catch (InterruptedException e) {
+ } catch (NullPointerException e) {
}
builder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_OFF);
builder.set(CaptureRequest.LENS_FOCUS_DISTANCE, value);