diff options
author | Emilian Peev <epeev@mm-sol.com> | 2012-07-19 12:44:09 +0300 |
---|---|---|
committer | Jason Simmons <jsimmons@google.com> | 2012-11-07 14:36:33 -0800 |
commit | ca2a5fa144b1484caace32ab51d01c195d74df3c (patch) | |
tree | 8b53ccf327c4b32816788efb16c58476f781f35c | |
parent | 5687980685c1b10e7297a24c1b28d1a1067e02d7 (diff) | |
download | omap4-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.cpp | 19 | ||||
-rw-r--r-- | camera/OMXCameraAdapter/OMXReprocess.cpp | 1 |
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 |