summaryrefslogtreecommitdiffstats
path: root/libcamera/SecCameraHWInterface.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcamera/SecCameraHWInterface.cpp')
-rw-r--r--libcamera/SecCameraHWInterface.cpp35
1 files changed, 16 insertions, 19 deletions
diff --git a/libcamera/SecCameraHWInterface.cpp b/libcamera/SecCameraHWInterface.cpp
index 4a16bc2..79ce606 100644
--- a/libcamera/SecCameraHWInterface.cpp
+++ b/libcamera/SecCameraHWInterface.cpp
@@ -1127,9 +1127,11 @@ int CameraHardwareSec::pictureThread()
&JpegImageSize, JpegHeap->base(), PostviewHeap->base());
}
- scaleDownYuv422((char *)PostviewHeap->base(), mPostViewWidth, mPostViewHeight,
- (char *)ThumbnailHeap->base(), mThumbWidth, mThumbHeight);
+ } else {
+ JpegImageSize = static_cast<int>(output_size);
}
+ scaleDownYuv422((char *)PostviewHeap->base(), mPostViewWidth, mPostViewHeight,
+ (char *)ThumbnailHeap->base(), mThumbWidth, mThumbHeight);
#ifdef POSTVIEW_CALLBACK
sp<MemoryBase> postview = new MemoryBase(PostviewHeap, 0, postviewHeapSize);
@@ -1192,28 +1194,23 @@ PostviewOverlayEnd:
}
#endif
if (mMsgEnabled & CAMERA_MSG_COMPRESSED_IMAGE) {
- if (mSecCamera->getCameraId() == SecCamera::CAMERA_ID_BACK) {
- sp<MemoryHeapBase> ExifHeap = new MemoryHeapBase(EXIF_FILE_SIZE + JPG_STREAM_BUF_SIZE);
- JpegExifSize = mSecCamera->getExif((unsigned char *)ExifHeap->base(),
- (unsigned char *)ThumbnailHeap->base());
+ sp<MemoryHeapBase> ExifHeap = new MemoryHeapBase(EXIF_FILE_SIZE + JPG_STREAM_BUF_SIZE);
+ JpegExifSize = mSecCamera->getExif((unsigned char *)ExifHeap->base(),
+ (unsigned char *)ThumbnailHeap->base());
- LOGE("JpegExifSize=%d", JpegExifSize);
+ LOGV("JpegExifSize=%d", JpegExifSize);
- if (JpegExifSize < 0)
- return UNKNOWN_ERROR;
+ if (JpegExifSize < 0)
+ return UNKNOWN_ERROR;
- unsigned char *ExifStart = (unsigned char *)JpegHeap->base() + 2;
- unsigned char *ImageStart = ExifStart + JpegExifSize;
+ unsigned char *ExifStart = (unsigned char *)JpegHeap->base() + 2;
+ unsigned char *ImageStart = ExifStart + JpegExifSize;
- memmove(ImageStart, ExifStart, JpegImageSize - 2);
- memcpy(ExifStart, ExifHeap->base(), JpegExifSize);
- sp<MemoryBase> mem = new MemoryBase(JpegHeap, 0, JpegImageSize + JpegExifSize);
+ memmove(ImageStart, ExifStart, JpegImageSize - 2);
+ memcpy(ExifStart, ExifHeap->base(), JpegExifSize);
+ sp<MemoryBase> mem = new MemoryBase(JpegHeap, 0, JpegImageSize + JpegExifSize);
- mDataCb(CAMERA_MSG_COMPRESSED_IMAGE, mem, mCallbackCookie);
- } else {
- sp<MemoryBase> mem = new MemoryBase(JpegHeap , 0, output_size);
- mDataCb(CAMERA_MSG_COMPRESSED_IMAGE, mem, mCallbackCookie);
- }
+ mDataCb(CAMERA_MSG_COMPRESSED_IMAGE, mem, mCallbackCookie);
}
LOG_TIME_END(0)