diff options
| author | Jay Wang <jaywang@codeaurora.org> | 2016-09-19 14:15:42 -0700 |
|---|---|---|
| committer | Jay Wang <jaywang@codeaurora.org> | 2016-09-27 15:54:48 -0700 |
| commit | aff5be78e5eaa1c5329bbdda0e669ca4f099d420 (patch) | |
| tree | 3ceba72f8a973aea20716066eddaf984ba3b17a8 /src/com/android/camera/CaptureModule.java | |
| parent | 6b4a36b3b4f55c8dd2e18d8f84c4106ce0590f50 (diff) | |
SnapdragonCamera: Add exif thumbnail to Camera2 captures
Add embedded thumbnails for Camera2 captures.
CRs-Fixed: 1068516
Change-Id: I5c0fdb3ddee3dd676a6b1ab91e5e7c33322e49b1
Diffstat (limited to 'src/com/android/camera/CaptureModule.java')
| -rw-r--r-- | src/com/android/camera/CaptureModule.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/com/android/camera/CaptureModule.java b/src/com/android/camera/CaptureModule.java index d4d83813f..95c780944 100644 --- a/src/com/android/camera/CaptureModule.java +++ b/src/com/android/camera/CaptureModule.java @@ -260,6 +260,8 @@ public class CaptureModule implements CameraModule, PhotoController, private Size mVideoPreviewSize; private Size mVideoSize; private Size mVideoSnapshotSize; + private Size mPictureThumbSize; + private Size mVideoSnapshotThumbSize; private MediaRecorder mMediaRecorder; private boolean mIsRecordingVideo; @@ -1166,6 +1168,8 @@ public class CaptureModule implements CameraModule, PhotoController, Log.d(TAG, "captureStillPicture no location - getRecordLocation: " + getRecordLocation()); } captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, CameraUtil.getJpegRotation(id, mOrientation)); + captureBuilder.set(CaptureRequest.JPEG_THUMBNAIL_SIZE, mPictureThumbSize); + captureBuilder.set(CaptureRequest.JPEG_THUMBNAIL_QUALITY, (byte)80); captureBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO); addPreviewSurface(captureBuilder, null, id); captureBuilder.set(CaptureRequest.CONTROL_AF_MODE, mControlAFMode); @@ -1267,6 +1271,8 @@ public class CaptureModule implements CameraModule, PhotoController, mCameraDevice[id].createCaptureRequest(CameraDevice.TEMPLATE_VIDEO_SNAPSHOT); captureBuilder.set(CaptureRequest.JPEG_ORIENTATION, CameraUtil.getJpegRotation(id, mOrientation)); + captureBuilder.set(CaptureRequest.JPEG_THUMBNAIL_SIZE, mVideoSnapshotThumbSize); + captureBuilder.set(CaptureRequest.JPEG_THUMBNAIL_QUALITY, (byte)80); applyVideoSnapshot(captureBuilder, id); captureBuilder.addTarget(mVideoSnapshotImageReader.getSurface()); @@ -2289,6 +2295,8 @@ public class CaptureModule implements CameraModule, PhotoController, SurfaceHolder.class); mSupportedMaxPictureSize = prevSizes[0]; mPreviewSize = getOptimalPreviewSize(mPictureSize, prevSizes, screenSize.x, screenSize.y); + Size[] thumbSizes = mSettingsManager.getSupportedThumbnailSizes(getMainCameraId()); + mPictureThumbSize = getOptimalPreviewSize(mPictureSize, thumbSizes, 0, 0); // get largest thumb size } public boolean isRecordingVideo() { @@ -2322,6 +2330,8 @@ public class CaptureModule implements CameraModule, PhotoController, if (is4kSize(mVideoSize) && is4kSize(mVideoSnapshotSize)) { mVideoSnapshotSize = getMaxPictureSizeLessThan4k(); } + Size[] thumbSizes = mSettingsManager.getSupportedThumbnailSizes(getMainCameraId()); + mVideoSnapshotThumbSize = getOptimalPreviewSize(mVideoSnapshotSize, thumbSizes, 0, 0); // get largest thumb size } private boolean is4kSize(Size size) { |
