diff options
| author | Mansoor Aftab <maftab@codeaurora.org> | 2014-04-30 17:39:44 -0700 |
|---|---|---|
| committer | Ali B <abittin@gmail.com> | 2018-06-17 19:19:52 +0300 |
| commit | 4e378a2416809648d73a6b70745f4e42ea9f7a63 (patch) | |
| tree | 52136f59c3cf5f26fbd49ac31ef2c4e211905e57 | |
| parent | 5fd3ab32e96fef552ff5958c293ae0ed9da4358f (diff) | |
Camera3: Remove redundant Buffer tracking structure
Change-Id: I972e0868d08384209fe413fd5398c2e113a3fab0
Signed-off-by: Daniel Jarai <jaraidaniel@gmail.com>
| -rwxr-xr-x | camera/QCamera2/HAL3/QCamera3Channel.cpp | 17 | ||||
| -rwxr-xr-x | camera/QCamera2/HAL3/QCamera3Channel.h | 2 | ||||
| -rw-r--r-- | camera/QCamera2/HAL3/QCamera3Mem.cpp | 20 | ||||
| -rw-r--r-- | camera/QCamera2/HAL3/QCamera3Mem.h | 2 |
4 files changed, 26 insertions, 15 deletions
diff --git a/camera/QCamera2/HAL3/QCamera3Channel.cpp b/camera/QCamera2/HAL3/QCamera3Channel.cpp index 0e7a314..9e18740 100755 --- a/camera/QCamera2/HAL3/QCamera3Channel.cpp +++ b/camera/QCamera2/HAL3/QCamera3Channel.cpp @@ -496,7 +496,6 @@ QCamera3RegularChannel::QCamera3RegularChannel(uint32_t cam_handle, *==========================================================================*/ QCamera3RegularChannel::~QCamera3RegularChannel() { - mCamera3Buffers.clear(); } /*=========================================================================== @@ -585,7 +584,7 @@ int32_t QCamera3RegularChannel::start() { int32_t rc = NO_ERROR; - if (0 < mCamera3Buffers.size()) { + if (0 < mMemory.getCnt()) { rc = QCamera3Channel::start(); } @@ -675,7 +674,7 @@ int32_t QCamera3RegularChannel::registerBuffer(buffer_handle_t *buffer) { int rc = 0; - if (mCamera3Buffers.size() > (mNumBufs - 1)) { + if ((uint32_t)mMemory.getCnt() > (mNumBufs - 1)) { ALOGE("%s: Trying to register more buffers than initially requested", __func__); return BAD_VALUE; @@ -698,8 +697,6 @@ int32_t QCamera3RegularChannel::registerBuffer(buffer_handle_t *buffer) return rc; } - mCamera3Buffers.add(buffer); - return rc; } @@ -738,7 +735,7 @@ void QCamera3RegularChannel::streamCbRoutine( } ////Use below data to issue framework callback - resultBuffer = mCamera3Buffers[frameIndex]; + resultBuffer = (buffer_handle_t *)mMemory.getBufferHandle(frameIndex); resultFrameNumber = mMemory.getFrameNumber(frameIndex); result.stream = mCamera3Stream; @@ -938,7 +935,7 @@ void QCamera3PicChannel::jpegEvtHandle(jpeg_job_status_t status, obj->mMemory.cleanInvalidateCache(obj->mCurrentBufIndex); ////Use below data to issue framework callback - resultBuffer = obj->mCamera3Buffers[obj->mCurrentBufIndex]; + resultBuffer = (buffer_handle_t *)obj->mMemory.getBufferHandle(obj->mCurrentBufIndex); resultFrameNumber = obj->mMemory.getFrameNumber(obj->mCurrentBufIndex); result.stream = obj->mCamera3Stream; @@ -994,8 +991,6 @@ QCamera3PicChannel::~QCamera3PicChannel() if (rc != 0) { ALOGE("De-init Postprocessor failed"); } - - mCamera3Buffers.clear(); } int32_t QCamera3PicChannel::initialize() @@ -1156,7 +1151,7 @@ int32_t QCamera3PicChannel::registerBuffer(buffer_handle_t *buffer) { int rc = 0; - if (mCamera3Buffers.size() > (mNumBufs - 1)) { + if ((uint32_t)mMemory.getCnt() > (mNumBufs - 1)) { ALOGE("%s: Trying to register more buffers than initially requested", __func__); return BAD_VALUE; @@ -1179,8 +1174,6 @@ int32_t QCamera3PicChannel::registerBuffer(buffer_handle_t *buffer) return rc; } - mCamera3Buffers.add(buffer); - return rc; } diff --git a/camera/QCamera2/HAL3/QCamera3Channel.h b/camera/QCamera2/HAL3/QCamera3Channel.h index f2f2b53..9c5022a 100755 --- a/camera/QCamera2/HAL3/QCamera3Channel.h +++ b/camera/QCamera2/HAL3/QCamera3Channel.h @@ -156,7 +156,6 @@ public: private: camera3_stream_t *mCamera3Stream; uint32_t mNumBufs; - Vector<buffer_handle_t *> mCamera3Buffers; QCamera3GrallocMemory mMemory; @@ -267,7 +266,6 @@ public: private: camera3_stream_t *mCamera3Stream; uint32_t mNumBufs; - Vector<buffer_handle_t *> mCamera3Buffers; jpeg_settings_t* mJpegSettings; int32_t mCurrentBufIndex; bool m_bWNROn; diff --git a/camera/QCamera2/HAL3/QCamera3Mem.cpp b/camera/QCamera2/HAL3/QCamera3Mem.cpp index dd81069..5c148ae 100644 --- a/camera/QCamera2/HAL3/QCamera3Mem.cpp +++ b/camera/QCamera2/HAL3/QCamera3Mem.cpp @@ -831,4 +831,24 @@ void *QCamera3GrallocMemory::getPtr(int index) const return mPtr[index]; } +/*=========================================================================== + * FUNCTION : getBufferHandle + * + * DESCRIPTION: return framework pointer + * + * PARAMETERS : + * @index : index of the buffer + * + * RETURN : buffer ptr if match found + NULL if failed + *==========================================================================*/ +void *QCamera3GrallocMemory::getBufferHandle(int index) +{ + if (index >= mBufferCount) { + ALOGE("index out of bound"); + return NULL; + } + return mBufferHandle[index]; +} + }; //namespace qcamera diff --git a/camera/QCamera2/HAL3/QCamera3Mem.h b/camera/QCamera2/HAL3/QCamera3Mem.h index 217295a..d275df4 100644 --- a/camera/QCamera2/HAL3/QCamera3Mem.h +++ b/camera/QCamera2/HAL3/QCamera3Mem.h @@ -115,7 +115,7 @@ public: virtual void *getPtr(int index) const; int32_t markFrameNumber(int index, uint32_t frameNumber); int32_t getFrameNumber(int index); - + void *getBufferHandle(int index); private: buffer_handle_t *mBufferHandle[MM_CAMERA_MAX_NUM_FRAMES]; struct private_handle_t *mPrivateHandle[MM_CAMERA_MAX_NUM_FRAMES]; |
