diff options
author | Zhijun He <zhijunhe@google.com> | 2014-09-14 12:44:20 -0700 |
---|---|---|
committer | Zhijun He <zhijunhe@google.com> | 2014-09-14 14:18:06 -0700 |
commit | a1530f1b16f093a91edbbbaf7dac9f9809867817 (patch) | |
tree | ae02777ffeb1240f3fb260856839460ad1719348 /services/camera/libcameraservice/device3/Camera3Device.cpp | |
parent | 2b9530a7287f4f470d5f2aecea4da043b7af98a7 (diff) | |
download | frameworks_av-a1530f1b16f093a91edbbbaf7dac9f9809867817.zip frameworks_av-a1530f1b16f093a91edbbbaf7dac9f9809867817.tar.gz frameworks_av-a1530f1b16f093a91edbbbaf7dac9f9809867817.tar.bz2 |
Camera3: Update ZSL post-processing tags
Update ZSL processing tags according the still capture template
Also cache the request template to avoid extra cost of querying
into HAL every time.
Bug: 17463102
Change-Id: I2eeffefb0a4131c99a85dd3e4484cc6f0f025efa
Diffstat (limited to 'services/camera/libcameraservice/device3/Camera3Device.cpp')
-rw-r--r-- | services/camera/libcameraservice/device3/Camera3Device.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp index fafe349..690f675 100644 --- a/services/camera/libcameraservice/device3/Camera3Device.cpp +++ b/services/camera/libcameraservice/device3/Camera3Device.cpp @@ -1044,6 +1044,11 @@ status_t Camera3Device::createDefaultRequest(int templateId, return INVALID_OPERATION; } + if (!mRequestTemplateCache[templateId].isEmpty()) { + *request = mRequestTemplateCache[templateId]; + return OK; + } + const camera_metadata_t *rawRequest; ATRACE_BEGIN("camera3->construct_default_request_settings"); rawRequest = mHal3Device->ops->construct_default_request_settings( @@ -1055,6 +1060,7 @@ status_t Camera3Device::createDefaultRequest(int templateId, return DEAD_OBJECT; } *request = rawRequest; + mRequestTemplateCache[templateId] = rawRequest; return OK; } |