diff options
author | Jaimin Bhise <jbhise@codeaurora.org> | 2015-07-15 12:58:58 +0530 |
---|---|---|
committer | Jaimin Bhise <jbhise@codeaurora.org> | 2015-10-29 13:57:25 -0700 |
commit | c1263820a5d1aa97e6427cb6af07bd6af76fcfe8 (patch) | |
tree | ed48ccf72262a23e5dc177b8ce1e6bb36ac8957b | |
parent | cf50c164afdcb43aa8cb03eb5e450568d6b33512 (diff) | |
download | android_packages_apps_Snap-c1263820a5d1aa97e6427cb6af07bd6af76fcfe8.tar.gz android_packages_apps_Snap-c1263820a5d1aa97e6427cb6af07bd6af76fcfe8.tar.bz2 android_packages_apps_Snap-c1263820a5d1aa97e6427cb6af07bd6af76fcfe8.zip |
SnapdragonCamera: Fix compilation
1. Address compilation due to compiler upgrade.
2. Comment out video dependencies to enable camera.
3. Fix compilation issue due to IMountService interface change.
4. Comment out ExtendedFace.
5. Remove non-standard video resolutions.
6. Revert "camera: override shutter sound volume" commit
8a50cda8f72738e943904fdf7cae189b2b0a8ea8.
Change-Id: I167ab5ff399c4f1d306a1a7ddf94896565c9625a
-rw-r--r-- | jni/feature_mos/src/mosaic/AlignFeatures.cpp | 2 | ||||
-rw-r--r-- | jni/feature_mos/src/mosaic/AlignFeatures.h | 2 | ||||
-rw-r--r-- | jni/feature_mos/src/mosaic/Blend.cpp | 4 | ||||
-rw-r--r-- | jni/feature_mos/src/mosaic/Blend.h | 4 | ||||
-rw-r--r-- | jni/feature_mos/src/mosaic/ImageUtils.cpp | 2 | ||||
-rw-r--r-- | jni/feature_mos/src/mosaic/ImageUtils.h | 2 | ||||
-rw-r--r-- | res/values-et/strings.xml | 1 | ||||
-rw-r--r-- | res/values-ms/strings.xml | 1 | ||||
-rw-r--r-- | res/values/arrays.xml | 8 | ||||
-rw-r--r-- | res/values/qcomstrings.xml | 8 | ||||
-rw-r--r-- | src/com/android/camera/CameraActivity.java | 18 | ||||
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 24 | ||||
-rw-r--r-- | src/com/android/camera/SDCard.java | 5 | ||||
-rw-r--r-- | src/com/android/camera/VideoModule.java | 15 | ||||
-rw-r--r-- | src/com/android/camera/crop/CropActivity.java | 14 | ||||
-rw-r--r-- | src/com/android/camera/ui/FaceView.java | 4 |
16 files changed, 35 insertions, 79 deletions
diff --git a/jni/feature_mos/src/mosaic/AlignFeatures.cpp b/jni/feature_mos/src/mosaic/AlignFeatures.cpp index aeabf8f97..9d7ce7f14 100644 --- a/jni/feature_mos/src/mosaic/AlignFeatures.cpp +++ b/jni/feature_mos/src/mosaic/AlignFeatures.cpp @@ -30,6 +30,8 @@ #define LOG_TAG "AlignFeatures" +const double Align::DEFAULT_MAX_DISPARITY=0.1;//0.4; + Align::Align() { width = height = 0; diff --git a/jni/feature_mos/src/mosaic/AlignFeatures.h b/jni/feature_mos/src/mosaic/AlignFeatures.h index 19f39051d..68894ff3d 100644 --- a/jni/feature_mos/src/mosaic/AlignFeatures.h +++ b/jni/feature_mos/src/mosaic/AlignFeatures.h @@ -44,7 +44,7 @@ public: ///// Settings for feature-based alignment // Number of features to use from corner detection static const int DEFAULT_NR_CORNERS=750; - static const double DEFAULT_MAX_DISPARITY=0.1;//0.4; + static const double DEFAULT_MAX_DISPARITY; // Type of homography to model static const int DEFAULT_MOTION_MODEL=DB_HOMOGRAPHY_TYPE_R_T; // static const int DEFAULT_MOTION_MODEL=DB_HOMOGRAPHY_TYPE_PROJECTIVE; diff --git a/jni/feature_mos/src/mosaic/Blend.cpp b/jni/feature_mos/src/mosaic/Blend.cpp index fce89c6e1..8e8ca6749 100644 --- a/jni/feature_mos/src/mosaic/Blend.cpp +++ b/jni/feature_mos/src/mosaic/Blend.cpp @@ -29,6 +29,10 @@ #include "Log.h" #define LOG_TAG "BLEND" +const float Blend::LIMIT_SIZE_MULTIPLIER = 5.0f * 2.0f; + +const float Blend::LIMIT_HEIGHT_MULTIPLIER = 2.5f; + Blend::Blend() { m_wb.blendingType = BLEND_TYPE_NONE; diff --git a/jni/feature_mos/src/mosaic/Blend.h b/jni/feature_mos/src/mosaic/Blend.h index 2c7ee5c5f..175eacd4a 100644 --- a/jni/feature_mos/src/mosaic/Blend.h +++ b/jni/feature_mos/src/mosaic/Blend.h @@ -119,8 +119,8 @@ protected: void CropFinalMosaic(YUVinfo &imgMos, MosaicRect &cropping_rect); private: - static const float LIMIT_SIZE_MULTIPLIER = 5.0f * 2.0f; - static const float LIMIT_HEIGHT_MULTIPLIER = 2.5f; + static const float LIMIT_SIZE_MULTIPLIER; + static const float LIMIT_HEIGHT_MULTIPLIER; int MosaicSizeCheck(float sizeMultiplier, float heightMultiplier); void RoundingCroppingSizeToMultipleOf8(MosaicRect& rect); }; diff --git a/jni/feature_mos/src/mosaic/ImageUtils.cpp b/jni/feature_mos/src/mosaic/ImageUtils.cpp index 6d0aac0c1..82c2673cd 100644 --- a/jni/feature_mos/src/mosaic/ImageUtils.cpp +++ b/jni/feature_mos/src/mosaic/ImageUtils.cpp @@ -25,6 +25,8 @@ #include "ImageUtils.h" +const ImageType ImageUtils::IMAGE_TYPE_NOIMAGE = 0; + void ImageUtils::rgba2yvu(ImageType out, ImageType in, int width, int height) { int r,g,b, a; diff --git a/jni/feature_mos/src/mosaic/ImageUtils.h b/jni/feature_mos/src/mosaic/ImageUtils.h index 92965ca81..9c6066815 100644 --- a/jni/feature_mos/src/mosaic/ImageUtils.h +++ b/jni/feature_mos/src/mosaic/ImageUtils.h @@ -47,7 +47,7 @@ public: /** * Definition of an empty image. */ - static const int IMAGE_TYPE_NOIMAGE = 0; + static const ImageType IMAGE_TYPE_NOIMAGE; /** * Convert image from BGR (interlaced) to YVU (non-interlaced) diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml index 7873ccde3..e3fcf3b29 100644 --- a/res/values-et/strings.xml +++ b/res/values-et/strings.xml @@ -40,7 +40,6 @@ <string name="save_error" msgid="6857408774183654970">"Kärbitud kujutist ei saanud salvestada."</string> <string name="crop_label" msgid="521114301871349328">"Kärbi pilti"</string> <string name="trim_label" msgid="274203231381209979">"Kärbi videot"</string> - <string name="select_image" msgid="7841406150484742140">"Valige foto"</string> <string name="select_video" msgid="4859510992798615076">"Vali video"</string> <string name="select_item" msgid="2816923896202086390">"Valige üksus"</string> <string name="select_album" msgid="1557063764849434077">"Albumi valimine"</string> diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml index b1ed9b39f..cb514d854 100644 --- a/res/values-ms/strings.xml +++ b/res/values-ms/strings.xml @@ -40,7 +40,6 @@ <string name="save_error" msgid="6857408774183654970">"Tidak dapat menyimpan imej yang dipangkas."</string> <string name="crop_label" msgid="521114301871349328">"Pangkas gambar"</string> <string name="trim_label" msgid="274203231381209979">"Potong video"</string> - <string name="select_image" msgid="7841406150484742140">"Pilih foto"</string> <string name="select_video" msgid="4859510992798615076">"Pilih video"</string> <string name="select_item" msgid="2816923896202086390">"Pilih item"</string> <string name="select_album" msgid="1557063764849434077">"Pilih album"</string> diff --git a/res/values/arrays.xml b/res/values/arrays.xml index 12cff4dbf..476bd2084 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -25,11 +25,7 @@ <item>@string/pref_video_quality_entry_1080p</item> <item>@string/pref_video_quality_entry_720p</item> <item>@string/pref_video_quality_entry_480p</item> - <item>@string/pref_video_quality_entry_fwvga</item> - <item>@string/pref_video_quality_entry_wvga</item> <item>@string/pref_video_quality_entry_vga</item> - <item>@string/pref_video_quality_entry_hvga</item> - <item>@string/pref_video_quality_entry_wqvga</item> <item>@string/pref_video_quality_entry_cif</item> <item>@string/pref_video_quality_entry_qvga</item> <item>@string/pref_video_quality_entry_qcif</item> @@ -42,11 +38,7 @@ <item>1920x1080</item> <item>1280x720</item> <item>720x480</item> - <item>864x480</item> - <item>800x480</item> <item>640x480</item> - <item>480x360</item> - <item>400x240</item> <item>352x288</item> <item>320x240</item> <item>176x144</item> diff --git a/res/values/qcomstrings.xml b/res/values/qcomstrings.xml index fd189a8a1..08a3d60ba 100644 --- a/res/values/qcomstrings.xml +++ b/res/values/qcomstrings.xml @@ -19,16 +19,8 @@ --> <resources> - <!-- Video quality setting entry. Videos will be recorded in FWVGA quality. [CHAR LIMIT=24] --> - <string name="pref_video_quality_entry_fwvga" translatable="false">FWVGA</string> - <!-- Video quality setting entry. Videos will be recorded in WVGA quality. [CHAR LIMIT=24] --> - <string name="pref_video_quality_entry_wvga" translatable="false">WVGA</string> <!-- Video quality setting entry. Videos will be recorded in VGA quality. [CHAR LIMIT=24] --> <string name="pref_video_quality_entry_vga" translatable="false">VGA</string> - <!-- Video quality setting entry. Videos will be recorded in HVGA quality. [CHAR LIMIT=24] --> - <string name="pref_video_quality_entry_hvga" translatable="false">HVGA</string> - <!-- Video quality setting entry. Videos will be recorded in WQVGA quality. [CHAR LIMIT=24] --> - <string name="pref_video_quality_entry_wqvga" translatable="false">WQVGA</string> <!-- Video quality setting entry. Videos will be recorded in CIF quality. [CHAR LIMIT=24] --> <string name="pref_video_quality_entry_cif" translatable="false">CIF</string> <!-- Video quality setting entry. Videos will be recorded in QVGA quality. [CHAR LIMIT=24] --> diff --git a/src/com/android/camera/CameraActivity.java b/src/com/android/camera/CameraActivity.java index fb14aad8d..cea1d745d 100644 --- a/src/com/android/camera/CameraActivity.java +++ b/src/com/android/camera/CameraActivity.java @@ -118,8 +118,6 @@ import java.io.IOException; import static com.android.camera.CameraManager.CameraOpenErrorCallback; -import android.media.AudioManager; - public class CameraActivity extends Activity implements ModuleSwitcher.ModuleSwitchListener, ActionBar.OnMenuVisibilityListener, @@ -240,9 +238,6 @@ public class CameraActivity extends Activity // Keep track of data request here to avoid creating useless UpdateThumbnailTask. private boolean mDataRequested; - private AudioManager mAudioManager; - private int mShutterVol; - private int mOriginalMasterVol; private WakeLock mWakeLock; private class MyOrientationEventListener @@ -1462,12 +1457,6 @@ public class CameraActivity extends Activity } GcamHelper.init(getContentResolver()); - mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE); - mOriginalMasterVol = mAudioManager.getMasterVolume(); - mShutterVol = SystemProperties.getInt("persist.camera.snapshot.volume", -1); - if (mShutterVol >= 0 && mShutterVol <= 100 ) - mAudioManager.setMasterVolume(mShutterVol,0); - getWindow().requestFeature(Window.FEATURE_ACTION_BAR); LayoutInflater inflater = getLayoutInflater(); @@ -1647,8 +1636,6 @@ public class CameraActivity extends Activity @Override public void onPause() { - if (mShutterVol >= 0 && mShutterVol <= 100) - mAudioManager.setMasterVolume(mOriginalMasterVol,0); // Delete photos that are pending deletion performDeletion(); mOrientationListener.disable(); @@ -1683,8 +1670,6 @@ public class CameraActivity extends Activity // Hide action bar first since we are in full screen mode first, and // switch the system UI to lights-out mode. this.setSystemBarsVisibility(false); - if (mShutterVol >= 0 && mShutterVol <= 100) - mAudioManager.setMasterVolume(mShutterVol,0); UsageStatistics.onEvent(UsageStatistics.COMPONENT_CAMERA, UsageStatistics.ACTION_FOREGROUNDED, this.getClass().getSimpleName()); @@ -1747,9 +1732,6 @@ public class CameraActivity extends Activity mWakeLock.release(); Log.d(TAG, "wake lock release"); } - if (mShutterVol >= 0 && mShutterVol <= 100) - mAudioManager.setMasterVolume(mOriginalMasterVol,0); - if (mScreenOffReceiver != null) { unregisterReceiver(mScreenOffReceiver); } diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 053381122..99f866991 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -272,22 +272,18 @@ public class CameraSettings { //video encoders VIDEO_ENCODER_TABLE.put(MediaRecorder.VideoEncoder.H263, "h263"); VIDEO_ENCODER_TABLE.put(MediaRecorder.VideoEncoder.H264, "h264"); - VIDEO_ENCODER_TABLE.put(MediaRecorder.VideoEncoder.H265, "h265"); + //VIDEO_ENCODER_TABLE.put(MediaRecorder.VideoEncoder.H265, "h265"); VIDEO_ENCODER_TABLE.put(MediaRecorder.VideoEncoder.MPEG_4_SP, "m4v"); //video qualities - VIDEO_QUALITY_TABLE.put("4096x2160", CamcorderProfile.QUALITY_4kDCI); +// VIDEO_QUALITY_TABLE.put("4096x2160", CamcorderProfile.QUALITY_4kDCI); VIDEO_QUALITY_TABLE.put("3840x2160", CamcorderProfile.QUALITY_2160P); VIDEO_QUALITY_TABLE.put("2560x1440", CamcorderProfile.QUALITY_QHD); VIDEO_QUALITY_TABLE.put("2048x1080", CamcorderProfile.QUALITY_2k); VIDEO_QUALITY_TABLE.put("1920x1080", CamcorderProfile.QUALITY_1080P); VIDEO_QUALITY_TABLE.put("1280x720", CamcorderProfile.QUALITY_720P); VIDEO_QUALITY_TABLE.put("720x480", CamcorderProfile.QUALITY_480P); - VIDEO_QUALITY_TABLE.put("864x480", CamcorderProfile.QUALITY_FWVGA); - VIDEO_QUALITY_TABLE.put("800x480", CamcorderProfile.QUALITY_WVGA); - VIDEO_QUALITY_TABLE.put("640x480", CamcorderProfile.QUALITY_VGA); - VIDEO_QUALITY_TABLE.put("480x360", CamcorderProfile.QUALITY_HVGA); - VIDEO_QUALITY_TABLE.put("400x240", CamcorderProfile.QUALITY_WQVGA); +// VIDEO_QUALITY_TABLE.put("640x480", CamcorderProfile.QUALITY_VGA); VIDEO_QUALITY_TABLE.put("352x288", CamcorderProfile.QUALITY_CIF); VIDEO_QUALITY_TABLE.put("320x240", CamcorderProfile.QUALITY_QVGA); VIDEO_QUALITY_TABLE.put("176x144", CamcorderProfile.QUALITY_QCIF); @@ -1206,11 +1202,13 @@ public class CameraSettings { @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2) private static void getFineResolutionQuality(ArrayList<String> supported, int cameraId,Parameters parameters) { +/* if (CamcorderProfile.hasProfile(cameraId, CamcorderProfile.QUALITY_4kDCI)) { if (checkSupportedVideoQuality(parameters,4096,2160)) { supported.add(Integer.toString(CamcorderProfile.QUALITY_4kDCI)); } } +*/ if (CamcorderProfile.hasProfile(cameraId, CamcorderProfile.QUALITY_2160P)) { if (checkSupportedVideoQuality(parameters,3840,2160)) { supported.add(Integer.toString(CamcorderProfile.QUALITY_2160P)); @@ -1231,21 +1229,13 @@ public class CameraSettings { supported.add(Integer.toString(CamcorderProfile.QUALITY_480P)); } } - if (CamcorderProfile.hasProfile(cameraId, CamcorderProfile.QUALITY_FWVGA)) { - if (checkSupportedVideoQuality(parameters,864,480)){ - supported.add(Integer.toString(CamcorderProfile.QUALITY_FWVGA)); - } - } - if (CamcorderProfile.hasProfile(cameraId, CamcorderProfile.QUALITY_WVGA)) { - if (checkSupportedVideoQuality(parameters,800,480)){ - supported.add(Integer.toString(CamcorderProfile.QUALITY_WVGA)); - } - } +/* if (CamcorderProfile.hasProfile(cameraId, CamcorderProfile.QUALITY_VGA)) { if (checkSupportedVideoQuality(parameters,640,480)){ supported.add(Integer.toString(CamcorderProfile.QUALITY_VGA)); } } +*/ if (CamcorderProfile.hasProfile(cameraId, CamcorderProfile.QUALITY_CIF)) { if (checkSupportedVideoQuality(parameters,352,288)){ supported.add(Integer.toString(CamcorderProfile.QUALITY_CIF)); diff --git a/src/com/android/camera/SDCard.java b/src/com/android/camera/SDCard.java index dad354007..6ee2c07ad 100644 --- a/src/com/android/camera/SDCard.java +++ b/src/com/android/camera/SDCard.java @@ -28,7 +28,7 @@ package com.android.camera; -import android.content.Context; +import android.os.UserHandle; import android.os.StatFs; import android.os.Environment; import android.os.storage.StorageVolume; @@ -40,6 +40,7 @@ public class SDCard { private static final String TAG = "SDCard"; private static final int VOLUME_SDCARD_INDEX = 1; + private IMountService mMountService = null; private StorageVolume mVolume = null; private String path = null; @@ -95,7 +96,7 @@ public class SDCard { try { mMountService = IMountService.Stub.asInterface(ServiceManager .getService("mount")); - final StorageVolume[] volumes = mMountService.getVolumeList(); + final StorageVolume[] volumes = mMountService.getVolumeList(UserHandle.myUserId()); if (volumes.length > VOLUME_SDCARD_INDEX) { mVolume = volumes[VOLUME_SDCARD_INDEX]; } diff --git a/src/com/android/camera/VideoModule.java b/src/com/android/camera/VideoModule.java index f9a924f4e..489585042 100644 --- a/src/com/android/camera/VideoModule.java +++ b/src/com/android/camera/VideoModule.java @@ -294,7 +294,8 @@ public class VideoModule implements CameraModule, VIDEO_ENCODER_TABLE.put("h263", MediaRecorder.VideoEncoder.H263); VIDEO_ENCODER_TABLE.put("h264", MediaRecorder.VideoEncoder.H264); - VIDEO_ENCODER_TABLE.put("h265", MediaRecorder.VideoEncoder.H265); +//TODO: Add dependency +// VIDEO_ENCODER_TABLE.put("h265", MediaRecorder.VideoEncoder.H265); VIDEO_ENCODER_TABLE.put("m4v", MediaRecorder.VideoEncoder.MPEG_4_SP); VIDEO_ENCODER_TABLE.putDefault(MediaRecorder.VideoEncoder.DEFAULT); @@ -847,8 +848,8 @@ public class VideoModule implements CameraModule, } private boolean is4KEnabled() { - if (mProfile.quality == CamcorderProfile.QUALITY_2160P || - mProfile.quality == CamcorderProfile.QUALITY_4kDCI) { + if (mProfile.quality == CamcorderProfile.QUALITY_2160P /*|| + mProfile.quality == CamcorderProfile.QUALITY_4kDCI*/) { return true; } else { return false; @@ -910,7 +911,8 @@ public class VideoModule implements CameraModule, boolean supported = false; List<VideoEncoderCap> videoEncoders = EncoderCapabilities.getVideoEncoders(); for (VideoEncoderCap videoEncoder: videoEncoders) { - if (videoEncoder.mCodec == mVideoEncoder) { +//TODO: How to handle HFRFrameWidth and HFRFrameHeight +/* if (videoEncoder.mCodec == mVideoEncoder) { int maxBitrate = (videoEncoder.mMaxHFRFrameWidth * videoEncoder.mMaxHFRFrameHeight * videoEncoder.mMaxHFRMode); @@ -919,6 +921,7 @@ public class VideoModule implements CameraModule, } break; } +*/ } return supported; @@ -1749,7 +1752,7 @@ public class VideoModule implements CameraModule, Log.v(TAG, "pauseVideoRecording"); mMediaRecorderPausing = true; mRecordingTotalTime += SystemClock.uptimeMillis() - mRecordingStartTime; - mMediaRecorder.pause(); + //mMediaRecorder.pause(); } private void resumeVideoRecording() { @@ -2128,6 +2131,7 @@ public class VideoModule implements CameraModule, List<VideoEncoderCap> videoEncoders = EncoderCapabilities.getVideoEncoders(); for (VideoEncoderCap videoEncoder: videoEncoders) { if (videoEncoder.mCodec == mVideoEncoder){ +/* TODO: int maxBitrate = (videoEncoder.mMaxHFRFrameWidth * videoEncoder.mMaxHFRFrameHeight * videoEncoder.mMaxHFRMode); @@ -2146,6 +2150,7 @@ public class VideoModule implements CameraModule, } } break; +*/ } } if ("hfr".equals(HighFrameRate.substring(0,3))) { diff --git a/src/com/android/camera/crop/CropActivity.java b/src/com/android/camera/crop/CropActivity.java index 9c9295dc4..9c09b9a87 100644 --- a/src/com/android/camera/crop/CropActivity.java +++ b/src/com/android/camera/crop/CropActivity.java @@ -118,8 +118,6 @@ public class CropActivity extends Activity { if (intent.getData() != null) { mSourceUri = intent.getData(); startLoadBitmap(mSourceUri); - } else { - pickImage(); } } @@ -144,18 +142,6 @@ public class CropActivity extends Activity { } /** - * Opens a selector in Gallery to chose an image for use when none was given - * in the CROP intent. - */ - private void pickImage() { - Intent intent = new Intent(); - intent.setType("image/*"); - intent.setAction(Intent.ACTION_GET_CONTENT); - startActivityForResult(Intent.createChooser(intent, getString(R.string.select_image)), - SELECT_PICTURE); - } - - /** * Callback for pickImage(). */ @Override diff --git a/src/com/android/camera/ui/FaceView.java b/src/com/android/camera/ui/FaceView.java index 61142fc4d..9a1ef006d 100644 --- a/src/com/android/camera/ui/FaceView.java +++ b/src/com/android/camera/ui/FaceView.java @@ -34,7 +34,7 @@ import android.view.View; import com.android.camera.PhotoUI; import com.android.camera.util.CameraUtil; import org.codeaurora.snapcam.R; -import org.codeaurora.camera.ExtendedFace; +//import org.codeaurora.camera.ExtendedFace; public class FaceView extends View implements FocusIndicator, Rotatable, @@ -232,6 +232,7 @@ public class FaceView extends View mPaint.setColor(mColor); mRect.offset(dx, dy); canvas.drawOval(mRect, mPaint); +/* if (mFaces[i] instanceof ExtendedFace) { ExtendedFace face = (ExtendedFace)mFaces[i]; float[] point = new float[4]; @@ -382,6 +383,7 @@ public class FaceView extends View } } } +*/ } canvas.restore(); } |