summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/AndroidCameraManagerImpl.java
diff options
context:
space:
mode:
authorVijay kumar Tumati <vtumati@codeaurora.org>2015-04-13 15:36:33 +0530
committerArne Coucheron <arco68@gmail.com>2018-01-27 00:41:42 +0100
commit272fd0070cfe4c947e7c842a824f604ca95652b9 (patch)
treece4dfbd6848ae392764ba7921854ed22fc6dc4ea /src/com/android/camera/AndroidCameraManagerImpl.java
parent2e5481c2b7fd7b9604970b8416b648765a898775 (diff)
downloadandroid_packages_apps_Snap-272fd0070cfe4c947e7c842a824f604ca95652b9.tar.gz
android_packages_apps_Snap-272fd0070cfe4c947e7c842a824f604ca95652b9.tar.bz2
android_packages_apps_Snap-272fd0070cfe4c947e7c842a824f604ca95652b9.zip
SnapdragonCamera: Longshot with Burst Functionality.
This is a new Longshot feature where in the snapshot frames captured at ISP is @ 3fps and output JPEG encoded rate is @ 1.2 fps. This can be enabled by setting following setprop with the maximum number of snapshots. adb shell setprop persist.camera.longshot.max <max_number> e.g.:adb shell setprop persist.camera.longshot.max 10 If the number is -1, then the existing Longshot will be used. Main changes: 1) The number of Snapshot/Preview/Metadata buffers are increased to make sure no frames will be dropped @ ISP and to maintain burst fps. e.g.: For max number of 10 snapshots, Snapshot buffers are increased to 9 from existing 6. This buffer numbers are derived considering snapshot YUV frames @ 3 fps and JPEG encoding @ 1.2 fps. 2) Shutter will be played after receiving YUV frame instead of reprocess frame. 3) New Longshot stop command is sent after receiving all the required YUV callbacks or releasing the shutter before reaching Max number. 4) Existing Longshot off command is sent after receiving all JPEG CB.s for the issued TakePictures() and also shutter button will be disabled until all the JPEG callbacks are received. Change-Id: Id0c21aeb67245530768bf3ab859d39dea7e2bc40
Diffstat (limited to 'src/com/android/camera/AndroidCameraManagerImpl.java')
-rw-r--r--src/com/android/camera/AndroidCameraManagerImpl.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/android/camera/AndroidCameraManagerImpl.java b/src/com/android/camera/AndroidCameraManagerImpl.java
index b8650e590..27a31c00f 100644
--- a/src/com/android/camera/AndroidCameraManagerImpl.java
+++ b/src/com/android/camera/AndroidCameraManagerImpl.java
@@ -103,6 +103,7 @@ class AndroidCameraManagerImpl implements CameraManager {
private static final int SEND_HISTOGRAM_DATA = 602;
//LONGSHOT
private static final int SET_LONGSHOT = 701;
+ private static final int STOP_LONGSHOT = 702;
private static final int SET_AUTO_HDR_MODE = 801;
//HAL1 version code
@@ -416,6 +417,10 @@ class AndroidCameraManagerImpl implements CameraManager {
CameraWrapper.setLongshot(mCamera, (Boolean) msg.obj);
break;
+ case STOP_LONGSHOT:
+ CameraWrapper.stopLongshot(mCamera);
+ break;
+
case SET_AUTO_HDR_MODE:
CameraWrapper.setMetadataCb(mCamera, (CameraMetaDataCallback) msg.obj);
break;
@@ -676,6 +681,11 @@ class AndroidCameraManagerImpl implements CameraManager {
}
@Override
+ public void stopLongshot() {
+ mCameraHandler.sendEmptyMessage(STOP_LONGSHOT);
+ }
+
+ @Override
public void setHistogramMode(CameraDataCallback cb) {
mCameraHandler.obtainMessage(SET_HISTOGRAM_MODE, cb).sendToTarget();
}