summaryrefslogtreecommitdiffstats
path: root/camera/inc/CameraHal.h
diff options
context:
space:
mode:
authorEmilian Peev <epeev@mm-sol.com>2012-07-03 15:05:13 +0300
committerDaniel Levin <dendy@ti.com>2012-10-10 18:55:46 +0300
commitf7460dde1a455f34c6d6f7b8cde9984f4f1591de (patch)
treef269571a0e4966b11cb78eccc08f69a904e80a4e /camera/inc/CameraHal.h
parentc50511700cb0afceb049f81c24b1a42e12fd4787 (diff)
downloadhardware_ti_omap4-f7460dde1a455f34c6d6f7b8cde9984f4f1591de.tar.gz
hardware_ti_omap4-f7460dde1a455f34c6d6f7b8cde9984f4f1591de.tar.bz2
hardware_ti_omap4-f7460dde1a455f34c6d6f7b8cde9984f4f1591de.zip
Camera: Use share buffer allocator for metadata
For perfomance reasons stop parsing metadata as strings and use a common 'camera_metadata_t' structure instead. The storage behind it is backed by a shared allocator in order to propagate the data between different process address spaces efficiently. Change-Id: I960057d56440f07ffafe42d70d221c4a2b564f97 Signed-off-by: Emilian Peev <epeev@mm-sol.com> Signed-off-by: Vladimir Petrov <vppetrov@mm-sol.com>
Diffstat (limited to 'camera/inc/CameraHal.h')
-rw-r--r--camera/inc/CameraHal.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/camera/inc/CameraHal.h b/camera/inc/CameraHal.h
index 965f1f3..2d72b90 100644
--- a/camera/inc/CameraHal.h
+++ b/camera/inc/CameraHal.h
@@ -367,10 +367,14 @@ class CameraFrame
mFd(0),
mLength(0),
mFrameMask(0),
- mQuirks(0) {
-
+ mQuirks(0)
+ {
mYuv[0] = NULL;
mYuv[1] = NULL;
+
+#ifdef OMAP_ENHANCEMENT_CPCAM
+ mMetaData = 0;
+#endif
}
void *mCookie;
@@ -387,7 +391,7 @@ class CameraFrame
unsigned int mQuirks;
unsigned int mYuv[2];
#ifdef OMAP_ENHANCEMENT_CPCAM
- android::CameraMetadata mMetaData;
+ camera_memory_t *mMetaData;
#endif
///@todo add other member vars like stride etc
};
@@ -950,6 +954,8 @@ public:
// Retrieves the next Adapter state - for internal use (not locked)
virtual status_t getNextState(AdapterState &state) = 0;
+ virtual status_t setSharedAllocator(camera_request_memory shmem_alloc) = 0;
+
protected:
//The first two methods will try to switch the adapter state.
//Every call to setState() should be followed by a corresponding