diff options
author | Jack Yoo <jyoo@codeaurora.org> | 2016-09-12 12:48:28 -0700 |
---|---|---|
committer | Jay Wang <jaywang@codeaurora.org> | 2016-09-27 15:54:56 -0700 |
commit | c3a465da5ed9ba64512eda37597e96f6ab839fa8 (patch) | |
tree | a92a4655021e0be421f02f297f49e063c05b3526 /src/com/android/camera/imageprocessor/filter | |
parent | 8f6566e427e0091e95974768596e29220c2f181b (diff) | |
download | android_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.java | 18 | ||||
-rw-r--r-- | src/com/android/camera/imageprocessor/filter/UbifocusFilter.java | 1 |
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); |