summaryrefslogtreecommitdiff
path: root/camera
diff options
context:
space:
mode:
authorEmilian Peev <epeev@google.com>2017-09-18 14:40:55 +0100
committerEmilian Peev <epeev@google.com>2017-09-19 17:09:32 +0100
commit385f0408b1eb53a2dfdde6709aa135780151e57c (patch)
treef131dfaf8d857f00b8a32fcc20080518e96f355e /camera
parent250180a46e9dd5c5b4feeab6a5c68ef06867570a (diff)
downloadmarlin-385f0408b1eb53a2dfdde6709aa135780151e57c.tar.gz
QCamera2: HAL3: Extend available request/result/charact. keys
All vendor supported tags should be advertised in the respective available lists. Remove initial capability optimization. The vendor tag ops are not initialized at this point which will lead to errors when trying to append vendor tags. Bug: 63817523 Test: Camera CTS Change-Id: I417963660815b8cfe5678e8e017981f462037f0d
Diffstat (limited to 'camera')
-rw-r--r--camera/QCamera2/HAL3/QCamera3HWI.cpp30
-rw-r--r--camera/QCamera2/QCamera2Factory.cpp5
2 files changed, 24 insertions, 11 deletions
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index 8dfec977..1a087a4d 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -7944,6 +7944,12 @@ int QCamera3HardwareInterface::initStaticMetadata(uint32_t cameraId)
ANDROID_STATISTICS_LENS_SHADING_MAP_MODE, ANDROID_TONEMAP_CURVE_BLUE,
ANDROID_TONEMAP_CURVE_GREEN, ANDROID_TONEMAP_CURVE_RED, ANDROID_TONEMAP_MODE,
ANDROID_BLACK_LEVEL_LOCK, NEXUS_EXPERIMENTAL_2016_HYBRID_AE_ENABLE,
+ QCAMERA3_PRIVATEDATA_REPROCESS, QCAMERA3_CDS_MODE, QCAMERA3_CDS_INFO,
+ QCAMERA3_CROP_COUNT_REPROCESS, QCAMERA3_CROP_REPROCESS,
+ QCAMERA3_CROP_ROI_MAP_REPROCESS, QCAMERA3_TEMPORAL_DENOISE_ENABLE,
+ QCAMERA3_TEMPORAL_DENOISE_PROCESS_TYPE, QCAMERA3_USE_AV_TIMER,
+ QCAMERA3_DUALCAM_LINK_ENABLE, QCAMERA3_DUALCAM_LINK_IS_MAIN,
+ QCAMERA3_DUALCAM_LINK_RELATED_CAMERA_ID,
/* DevCamDebug metadata request_keys_basic */
DEVCAMDEBUG_META_ENABLE,
/* DevCamDebug metadata end */
@@ -7985,6 +7991,13 @@ int QCamera3HardwareInterface::initStaticMetadata(uint32_t cameraId)
ANDROID_STATISTICS_FACE_SCORES,
NEXUS_EXPERIMENTAL_2016_HYBRID_AE_ENABLE,
NEXUS_EXPERIMENTAL_2016_AF_SCENE_CHANGE,
+ QCAMERA3_PRIVATEDATA_REPROCESS, QCAMERA3_CDS_MODE, QCAMERA3_CDS_INFO,
+ QCAMERA3_CROP_COUNT_REPROCESS, QCAMERA3_CROP_REPROCESS,
+ QCAMERA3_CROP_ROI_MAP_REPROCESS, QCAMERA3_TUNING_META_DATA_BLOB,
+ QCAMERA3_TEMPORAL_DENOISE_ENABLE, QCAMERA3_TEMPORAL_DENOISE_PROCESS_TYPE,
+ QCAMERA3_SENSOR_DYNAMIC_BLACK_LEVEL_PATTERN,
+ QCAMERA3_DUALCAM_LINK_ENABLE, QCAMERA3_DUALCAM_LINK_IS_MAIN,
+ QCAMERA3_DUALCAM_LINK_RELATED_CAMERA_ID,
// DevCamDebug metadata result_keys_basic
DEVCAMDEBUG_META_ENABLE,
// DevCamDebug metadata result_keys AF
@@ -8115,7 +8128,8 @@ int QCamera3HardwareInterface::initStaticMetadata(uint32_t cameraId)
ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST_RANGE,
ANDROID_SHADING_AVAILABLE_MODES,
ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL,
- ANDROID_SENSOR_OPAQUE_RAW_SIZE };
+ ANDROID_SENSOR_OPAQUE_RAW_SIZE, QCAMERA3_OPAQUE_RAW_FORMAT
+ };
Vector<int32_t> available_characteristics_keys;
available_characteristics_keys.appendArray(characteristics_keys_basic,
@@ -8123,9 +8137,6 @@ int QCamera3HardwareInterface::initStaticMetadata(uint32_t cameraId)
if (hasBlackRegions) {
available_characteristics_keys.add(ANDROID_SENSOR_OPTICAL_BLACK_REGIONS);
}
- staticInfo.update(ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS,
- available_characteristics_keys.array(),
- available_characteristics_keys.size());
/*available stall durations depend on the hw + sw and will be different for different devices */
/*have to add for raw after implementation*/
@@ -8195,8 +8206,15 @@ int QCamera3HardwareInterface::initStaticMetadata(uint32_t cameraId)
&gCamCapability[cameraId]->padding_info, &buf_planes);
strides.add(buf_planes.plane_info.mp[0].stride);
}
- staticInfo.update(QCAMERA3_OPAQUE_RAW_STRIDES, strides.array(),
- strides.size());
+
+ if (!strides.isEmpty()) {
+ staticInfo.update(QCAMERA3_OPAQUE_RAW_STRIDES, strides.array(),
+ strides.size());
+ available_characteristics_keys.add(QCAMERA3_OPAQUE_RAW_STRIDES);
+ }
+ staticInfo.update(ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS,
+ available_characteristics_keys.array(),
+ available_characteristics_keys.size());
Vector<int32_t> opaque_size;
for (size_t j = 0; j < scalar_formats_count; j++) {
diff --git a/camera/QCamera2/QCamera2Factory.cpp b/camera/QCamera2/QCamera2Factory.cpp
index a464a3e2..dfa900a6 100644
--- a/camera/QCamera2/QCamera2Factory.cpp
+++ b/camera/QCamera2/QCamera2Factory.cpp
@@ -70,7 +70,6 @@ volatile uint32_t gKpiDebugLevel = 1;
*==========================================================================*/
QCamera2Factory::QCamera2Factory()
{
- camera_info info;
mHalDescriptors = NULL;
mCallbacks = NULL;
mNumOfCameras = get_num_of_cameras();
@@ -111,10 +110,6 @@ QCamera2Factory::QCamera2Factory()
mHalDescriptors[i].device_version =
CAMERA_DEVICE_API_VERSION_1_0;
}
- //Query camera at this point in order
- //to avoid any delays during subsequent
- //calls to 'getCameraInfo()'
- getCameraInfo(i, &info);
}
} else {
LOGE("Not enough resources to allocate HAL descriptor table!");