summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMansoor Aftab <maftab@codeaurora.org>2014-04-30 17:39:44 -0700
committerAli B <abittin@gmail.com>2018-06-17 19:19:52 +0300
commit4e378a2416809648d73a6b70745f4e42ea9f7a63 (patch)
tree52136f59c3cf5f26fbd49ac31ef2c4e211905e57
parent5fd3ab32e96fef552ff5958c293ae0ed9da4358f (diff)
Camera3: Remove redundant Buffer tracking structure
Change-Id: I972e0868d08384209fe413fd5398c2e113a3fab0 Signed-off-by: Daniel Jarai <jaraidaniel@gmail.com>
-rwxr-xr-xcamera/QCamera2/HAL3/QCamera3Channel.cpp17
-rwxr-xr-xcamera/QCamera2/HAL3/QCamera3Channel.h2
-rw-r--r--camera/QCamera2/HAL3/QCamera3Mem.cpp20
-rw-r--r--camera/QCamera2/HAL3/QCamera3Mem.h2
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];