summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/CaptureModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/CaptureModule.java')
-rwxr-xr-xsrc/com/android/camera/CaptureModule.java58
1 files changed, 28 insertions, 30 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java
index 506c323a7..61aaf9d23 100755
--- a/src/com/android/camera/CaptureModule.java
+++ b/src/com/android/camera/CaptureModule.java
@@ -294,7 +294,7 @@ public class CaptureModule implements CameraModule, PhotoController,
private float mZoomValue = 1f;
private FocusStateListener mFocusStateListener;
private LocationManager mLocationManager;
- private SettingsManager mSettingsManager;
+ public SettingsManager mSettingsManager;
private long SECONDARY_SERVER_MEM;
private boolean mLongshotActive = false;
private CameraCharacteristics mMainCameraCharacteristics;
@@ -1775,7 +1775,9 @@ public class CaptureModule implements CameraModule, PhotoController,
* @param width The width of available size for camera preview
* @param height The height of available size for camera preview
*/
- private void setUpCameraOutputs(int imageFormat) {
+ private void setUpCameraOutputs(boolean isFilterOrZslEnabled) {
+ int imageFormat = ImageFormat.JPEG;
+
Log.d(TAG, "setUpCameraOutputs");
CameraManager manager = (CameraManager) mActivity.getSystemService(Context.CAMERA_SERVICE);
try {
@@ -1784,6 +1786,8 @@ public class CaptureModule implements CameraModule, PhotoController,
String cameraId = cameraIdList[i];
CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraId);
+ int [] capabilities = characteristics.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
+
if (isInMode(i))
mCameraIdList.add(i);
if(i == getMainCameraId()) {
@@ -1798,6 +1802,21 @@ public class CaptureModule implements CameraModule, PhotoController,
}
mCameraId[i] = cameraId;
+ // Set ImageFormat for ZSL
+ if (isFilterOrZslEnabled) {
+ for (int capability : capabilities) {
+ // YUV has higher priority
+ if (capability == CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_YUV_REPROCESSING) {
+ Log.d(TAG, "ImageFormat: YUV_420_888");
+ imageFormat = ImageFormat.YUV_420_888;
+ break;
+ } else if (capability == CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES_PRIVATE_REPROCESSING) {
+ Log.d(TAG, "ImageFormat: PRIVATE");
+ imageFormat = ImageFormat.PRIVATE;
+ }
+ }
+ }
+
if (isClearSightOn()) {
if(i == getMainCameraId()) {
// ClearSightImageProcessor.getInstance().init(map, mPictureSize.getWidth(),
@@ -2468,15 +2487,11 @@ public class CaptureModule implements CameraModule, PhotoController,
mFrameProcessor.onOpen(getFrameProcFilterId(), mPreviewSize);
}
- if(mPostProcessor.isZSLEnabled()) {
- mChosenImageFormat = ImageFormat.PRIVATE;
- } else if(mPostProcessor.isFilterOn() || getFrameFilters().size() != 0 || mPostProcessor.isSelfieMirrorOn()) {
- mChosenImageFormat = ImageFormat.YUV_420_888;
+ if(mPostProcessor.isFilterOn() || getFrameFilters().size() != 0 || mPostProcessor.isSelfieMirrorOn()) {
+ setUpCameraOutputs(true);
} else {
- mChosenImageFormat = ImageFormat.JPEG;
+ setUpCameraOutputs(false);
}
- setUpCameraOutputs(mChosenImageFormat);
-
}
@Override
@@ -2497,27 +2512,10 @@ public class CaptureModule implements CameraModule, PhotoController,
openProcessors();
Message msg = Message.obtain();
msg.what = OPEN_CAMERA;
- if (isBackCamera()) {
- switch (getCameraMode()) {
- case DUAL_MODE:
- case BAYER_MODE:
- msg.arg1 = BAYER_ID;
- mCameraHandler.sendMessage(msg);
- break;
- case MONO_MODE:
- msg.arg1 = MONO_ID;
- mCameraHandler.sendMessage(msg);
- break;
- case SWITCH_MODE:
- msg.arg1 = SWITCH_ID;
- mCameraHandler.sendMessage(msg);
- break;
- }
- } else {
- int cameraId = SWITCH_ID == -1? FRONT_ID : SWITCH_ID;
- msg.arg1 = cameraId;
- mCameraHandler.sendMessage(msg);
- }
+ int cameraId = getMainCameraId();
+ msg.arg1 = cameraId;
+ mCameraHandler.sendMessage(msg);
+
mUI.showSurfaceView();
if (!mFirstTimeInitialized) {
initializeFirstTime();