diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-12-12 15:11:28 +0100 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2016-12-12 15:11:28 +0100 |
commit | d507150f2a5750e055cc6e6f2b74796b55f8f97a (patch) | |
tree | 1a2c3903897fc29e8bf6d760a448b5310c0d1499 | |
parent | 6bd4443818dc11fc08c0ec20745ec75a8bd647ca (diff) | |
parent | 79171ff1cb60c83a020cae25c73b415c6812a90e (diff) | |
download | packages_apps_LegacyCamera-d507150f2a5750e055cc6e6f2b74796b55f8f97a.zip packages_apps_LegacyCamera-d507150f2a5750e055cc6e6f2b74796b55f8f97a.tar.gz packages_apps_LegacyCamera-d507150f2a5750e055cc6e6f2b74796b55f8f97a.tar.bz2 |
Merge branch 'master' of https://android.googlesource.com/platform/packages/apps/LegacyCamera into replicant-6.0
-rw-r--r-- | jni/feature_mos/src/mosaic/Delaunay.cpp | 2 | ||||
-rw-r--r-- | jni/feature_stab/db_vlvm/db_utilities_constants.h | 2 | ||||
-rw-r--r-- | jni/feature_stab/src/dbreg/vp_motionmodel.h | 34 | ||||
-rw-r--r-- | src/com/android/camera/Camera.java | 17 |
4 files changed, 34 insertions, 21 deletions
diff --git a/jni/feature_mos/src/mosaic/Delaunay.cpp b/jni/feature_mos/src/mosaic/Delaunay.cpp index 0ce09fc..82f5d20 100644 --- a/jni/feature_mos/src/mosaic/Delaunay.cpp +++ b/jni/feature_mos/src/mosaic/Delaunay.cpp @@ -24,7 +24,7 @@ #define QQ 9 // Optimal value as determined by testing #define DM 38 // 2^(1+DM/2) element sort capability. DM=38 for >10^6 elements -#define NYL -1 +#define NYL (-1) #define valid(l) ccw(orig(basel), dest(l), dest(basel)) diff --git a/jni/feature_stab/db_vlvm/db_utilities_constants.h b/jni/feature_stab/db_vlvm/db_utilities_constants.h index 07565ef..612fc78 100644 --- a/jni/feature_stab/db_vlvm/db_utilities_constants.h +++ b/jni/feature_stab/db_vlvm/db_utilities_constants.h @@ -64,7 +64,7 @@ #define DB_DEFAULT_ABS_CORNER_THRESHOLD 50000000.0 #define DB_DEFAULT_REL_CORNER_THRESHOLD 0.00005 #define DB_DEFAULT_MAX_DISPARITY 0.1 -#define DB_DEFAULT_NO_DISPARITY -1.0 +#define DB_DEFAULT_NO_DISPARITY (-1.0) #define DB_DEFAULT_MAX_TRACK_LENGTH 300 #define DB_DEFAULT_MAX_NR_CAMERAS 1000 diff --git a/jni/feature_stab/src/dbreg/vp_motionmodel.h b/jni/feature_stab/src/dbreg/vp_motionmodel.h index a63ac00..71a7f7e 100644 --- a/jni/feature_stab/src/dbreg/vp_motionmodel.h +++ b/jni/feature_stab/src/dbreg/vp_motionmodel.h @@ -120,7 +120,7 @@ enum VP_MOTION_MODEL { VP_VFE_AFFINE=120 }; -#define VP_REFID -1 /* Default ID used for reference frame */ +#define VP_REFID (-1) /* Default ID used for reference frame */ typedef struct { VP_TRS par; /* Contains the motion paramerers. @@ -205,16 +205,16 @@ typedef struct { /* Warp a 2d point (assuming the z component is zero) */ #define VP_WARP_POINT_2D(inx,iny,m,outx,outy) do {\ VP_PAR vpTmpWarpPnt___= MWX(m)*(inx)+MWY(m)*(iny)+MWW(m); \ - outx = (MXX(m)*((VP_PAR)inx)+MXY(m)*((VP_PAR)iny)+MXW(m))/vpTmpWarpPnt___; \ - outy = (MYX(m)*((VP_PAR)inx)+MYY(m)*((VP_PAR)iny)+MYW(m))/vpTmpWarpPnt___; } while (0) + (outx) = (MXX(m)*((VP_PAR)(inx))+MXY(m)*((VP_PAR)(iny))+MXW(m))/vpTmpWarpPnt___; \ + (outy) = (MYX(m)*((VP_PAR)(inx))+MYY(m)*((VP_PAR)(iny))+MYW(m))/vpTmpWarpPnt___; } while (0) /* Warp a 3d point */ #define VP_WARP_POINT_3D(inx,iny,inz,m,outx,outy,outz) do {\ - VP_PAR vpTmpWarpPnt___= MWX(m)*(inx)+MWY(m)*(iny)+MWZ(m)*((VP_PAR)inz)+MWW(m); \ - outx = (MXX(m)*((VP_PAR)inx)+MXY(m)*((VP_PAR)iny)+MXZ(m)*((VP_PAR)inz)+MXW(m))/vpTmpWarpPnt___; \ - outy = (MYX(m)*((VP_PAR)inx)+MYY(m)*((VP_PAR)iny)+MYZ(m)*((VP_PAR)inz)+MYW(m))/vpTmpWarpPnt___; \ - outz = MZX(m)*((VP_PAR)inx)+MZY(m)*((VP_PAR)iny)+MZZ(m)*((VP_PAR)inz)+MZW(m); \ - if ((m).type==VP_MOTION_PROJ_3D) outz/=vpTmpWarpPnt___; } while (0) + VP_PAR vpTmpWarpPnt___= MWX(m)*(inx)+MWY(m)*(iny)+MWZ(m)*((VP_PAR)(inz))+MWW(m); \ + (outx) = (MXX(m)*((VP_PAR)(inx))+MXY(m)*((VP_PAR)(iny))+MXZ(m)*((VP_PAR)(inz))+MXW(m))/vpTmpWarpPnt___; \ + (outy) = (MYX(m)*((VP_PAR)(inx))+MYY(m)*((VP_PAR)(iny))+MYZ(m)*((VP_PAR)(inz))+MYW(m))/vpTmpWarpPnt___; \ + (outz) = MZX(m)*((VP_PAR)(inx))+MZY(m)*((VP_PAR)(iny))+MZZ(m)*((VP_PAR)(inz))+MZW(m); \ + if ((m).type==VP_MOTION_PROJ_3D) (outz)/=vpTmpWarpPnt___; } while (0) /* Projections of each component */ #define VP_PROJW_3D(m,x,y,z,f) ( MWX(m)*(x)+MWY(m)*(y)+MWZ(m)*(z)+MWW(m) ) @@ -224,15 +224,15 @@ typedef struct { /* Scale Down a matrix by Sfactor */ #define VP_SCALEDOWN(m,Sfactor) do { \ - MXW(m) /= (VP_PAR)Sfactor; MWX(m) *= (VP_PAR)Sfactor; \ - MYW(m) /= (VP_PAR)Sfactor; MWY(m) *= (VP_PAR)Sfactor; \ - MZW(m) /= (VP_PAR)Sfactor; MWZ(m) *= (VP_PAR)Sfactor; } while (0) + MXW(m) /= (VP_PAR)(Sfactor); MWX(m) *= (VP_PAR)(Sfactor); \ + MYW(m) /= (VP_PAR)(Sfactor); MWY(m) *= (VP_PAR)(Sfactor); \ + MZW(m) /= (VP_PAR)(Sfactor); MWZ(m) *= (VP_PAR)(Sfactor); } while (0) /* Scale Up a matrix by Sfactor */ #define VP_SCALEUP(m,Sfactor) do { \ - MXW(m) *= (VP_PAR)Sfactor; MWX(m) /= (VP_PAR)Sfactor; \ - MYW(m) *= (VP_PAR)Sfactor; MWY(m) /= (VP_PAR)Sfactor; \ - MZW(m) *= (VP_PAR)Sfactor; MWZ(m) /= (VP_PAR)Sfactor; } while (0) + MXW(m) *= (VP_PAR)(Sfactor); MWX(m) /= (VP_PAR)(Sfactor); \ + MYW(m) *= (VP_PAR)(Sfactor); MWY(m) /= (VP_PAR)(Sfactor); \ + MZW(m) *= (VP_PAR)(Sfactor); MWZ(m) /= (VP_PAR)(Sfactor); } while (0) /* Normalize the transformation matrix so that MWW is 1 */ #define VP_NORMALIZE(m) if (MWW(m)!=(VP_PAR)0.0) do { \ @@ -253,15 +253,15 @@ typedef struct { /* w' projection given a point x,y,0,f */ #define VP_PROJZ(m,x,y,f) ( \ - MWX(m)*((VP_PAR)x)+MWY(m)*((VP_PAR)y)+MWW(m)*((VP_PAR)f)) + MWX(m)*((VP_PAR)(x))+MWY(m)*((VP_PAR)(y))+MWW(m)*((VP_PAR)(f))) /* X Projection given a point x,y,0,f and w' */ #define VP_PROJX(m,x,y,w,f) (\ - (MXX(m)*((VP_PAR)x)+MXY(m)*((VP_PAR)y)+MXW(m)*((VP_PAR)f))/((VP_PAR)w)) + (MXX(m)*((VP_PAR)(x))+MXY(m)*((VP_PAR)(y))+MXW(m)*((VP_PAR)(f)))/((VP_PAR)(w))) /* Y Projection given a point x,y,0,f and the w' */ #define VP_PROJY(m,x,y,w,f) (\ - (MYX(m)*((VP_PAR)x)+MYY(m)*((VP_PAR)y)+MYW(m)*((VP_PAR)f))/((VP_PAR)w)) + (MYX(m)*((VP_PAR)(x))+MYY(m)*((VP_PAR)(y))+MYW(m)*((VP_PAR)(f)))/((VP_PAR)(w))) /* Set the reference id for a motion */ #define VP_SET_REFID(m,id) do { (m).refid=id; } while (0) diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java index f7de7f6..254db28 100644 --- a/src/com/android/camera/Camera.java +++ b/src/com/android/camera/Camera.java @@ -1089,7 +1089,21 @@ public class Camera extends ActivityBase implements FocusManager.Listener, private void getPreferredCameraId() { mPreferences = new ComboPreferences(this); CameraSettings.upgradeGlobalPreferences(mPreferences.getGlobal()); - mCameraId = CameraSettings.readPreferredCameraId(mPreferences); + + mNumberOfCameras = CameraHolder.instance().getNumberOfCameras(); + int attemptedCameraId = CameraSettings.readPreferredCameraId(mPreferences); + + // It is possible that the user can connect/disconnect cameras + // between device boots. + // We need to check that the preferred camera ID + // does not refer to a disconnected camera. + if (attemptedCameraId >= mNumberOfCameras) { + Log.v(TAG, "Preferred camera (id= " + attemptedCameraId + + ") missing. Defaulting to the first one"); + mCameraId = 0; + } else { + mCameraId = attemptedCameraId; + } // Testing purpose. Launch a specific camera through the intent extras. int intentCameraId = Util.getCameraFacingIntentExtras(this); @@ -1148,7 +1162,6 @@ public class Camera extends ActivityBase implements FocusManager.Listener, mPreferences.setLocalId(this, mCameraId); CameraSettings.upgradeLocalPreferences(mPreferences.getLocal()); - mNumberOfCameras = CameraHolder.instance().getNumberOfCameras(); mQuickCapture = getIntent().getBooleanExtra(EXTRA_QUICK_CAPTURE, false); // we need to reset exposure for the preview |