summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmilian Peev <epeev@mm-sol.com>2012-07-19 12:44:09 +0300
committerJason Simmons <jsimmons@google.com>2012-11-07 14:36:33 -0800
commitca2a5fa144b1484caace32ab51d01c195d74df3c (patch)
tree8b53ccf327c4b32816788efb16c58476f781f35c
parent5687980685c1b10e7297a24c1b28d1a1067e02d7 (diff)
downloadomap4-aah-ca2a5fa144b1484caace32ab51d01c195d74df3c.tar.gz
CameraHal: Further reprocess optimizations
- Image port was disabled twice. There is no need for that since this is done during 'stopImageCapture()'. - Re-configuring extra data on the image port during image capture stop seems unneeded as well. The extra data on this port is always configured during image capture start. - Omit vector shot and extra data configurations during reprocessing. Change-Id: I4d766fff581c8043b4cc436882a35f0a87731a3c Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
-rw-r--r--camera/OMXCameraAdapter/OMXCapture.cpp19
-rw-r--r--camera/OMXCameraAdapter/OMXReprocess.cpp1
2 files changed, 8 insertions, 12 deletions
diff --git a/camera/OMXCameraAdapter/OMXCapture.cpp b/camera/OMXCameraAdapter/OMXCapture.cpp
index 3382493..ecc84f2 100644
--- a/camera/OMXCameraAdapter/OMXCapture.cpp
+++ b/camera/OMXCameraAdapter/OMXCapture.cpp
@@ -1450,13 +1450,6 @@ status_t OMXCameraAdapter::stopImageCapture()
}
}
- // Disable WB and vector shot extra data for metadata
- setExtraData(false, mCameraAdapterParameters.mImagePortIndex, OMX_WhiteBalance);
- // TODO: WA: if domx client disables VectShotInfo metadata on the image port, this causes
- // VectShotInfo to be disabled internally on preview port also. Remove setting in OMXCapture
- // setExtraData(false, mCameraAdapterParameters.mImagePortIndex, OMX_TI_VectShotInfo);
- setExtraData(false, mCameraAdapterParameters.mImagePortIndex, OMX_TI_LSCTable);
-
CAMHAL_LOGDB("Capture set - 0x%x", eError);
mCaptureSignalled = true; //set this to true if we exited because of timeout
@@ -1885,13 +1878,17 @@ status_t OMXCameraAdapter::UseBuffersCapture(CameraBuffer * bufArr, int num)
#endif
- // Enable WB and vector shot extra data for metadata
- ret = setExtraData(true, mCameraAdapterParameters.mImagePortIndex, OMX_WhiteBalance);
- ret = setExtraData(true, mCameraAdapterParameters.mImagePortIndex, OMX_TI_LSCTable);
+ if (mNextState != LOADED_REPROCESS_CAPTURE_STATE) {
+ // Enable WB and vector shot extra data for metadata
+ setExtraData(true, mCameraAdapterParameters.mImagePortIndex, OMX_WhiteBalance);
+ setExtraData(true, mCameraAdapterParameters.mImagePortIndex, OMX_TI_LSCTable);
+ }
// CPCam mode only supports vector shot
// Regular capture is not supported
- if (mCapMode == CP_CAM) initVectorShot();
+ if ( (mCapMode == CP_CAM) && (mNextState != LOADED_REPROCESS_CAPTURE_STATE) ) {
+ initVectorShot();
+ }
mCaptureBuffersAvailable.clear();
for (unsigned int i = 0; i < imgCaptureData->mMaxQueueable; i++ ) {
diff --git a/camera/OMXCameraAdapter/OMXReprocess.cpp b/camera/OMXCameraAdapter/OMXReprocess.cpp
index 05ac37b..c720c2b 100644
--- a/camera/OMXCameraAdapter/OMXReprocess.cpp
+++ b/camera/OMXCameraAdapter/OMXReprocess.cpp
@@ -226,7 +226,6 @@ status_t OMXCameraAdapter::UseBuffersReprocess(CameraBuffer *bufArr, int num)
} else if (mAdapterState == CAPTURE_STATE) {
stopImageCapture();
stopReprocess();
- disableImagePort();
}
#if PPM_INSTRUMENTATION || PPM_INSTRUMENTATION_ABS