diff options
Diffstat (limited to 'camera/QCamera2/HAL3/QCamera3HWI.cpp')
-rw-r--r-- | camera/QCamera2/HAL3/QCamera3HWI.cpp | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp index 05c0c41..eecd454 100644 --- a/camera/QCamera2/HAL3/QCamera3HWI.cpp +++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp @@ -6791,7 +6791,12 @@ int QCamera3HardwareInterface::initStaticMetadata(uint32_t cameraId) ANDROID_STATISTICS_HISTOGRAM_MODE, ANDROID_STATISTICS_SHARPNESS_MAP_MODE, 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}; + 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 + }; size_t request_keys_cnt = sizeof(request_keys_basic)/sizeof(request_keys_basic[0]); @@ -6828,7 +6833,13 @@ int QCamera3HardwareInterface::initStaticMetadata(uint32_t cameraId) ANDROID_STATISTICS_FACE_SCORES, ANDROID_SENSOR_DYNAMIC_BLACK_LEVEL, ANDROID_SENSOR_DYNAMIC_WHITE_LEVEL, NEXUS_EXPERIMENTAL_2016_HYBRID_AE_ENABLE, - ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST }; + ANDROID_CONTROL_POST_RAW_SENSITIVITY_BOOST, + 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 + }; size_t result_keys_cnt = sizeof(result_keys_basic)/sizeof(result_keys_basic[0]); @@ -6906,7 +6917,8 @@ int QCamera3HardwareInterface::initStaticMetadata(uint32_t cameraId) ANDROID_CONTROL_AWB_LOCK_AVAILABLE, ANDROID_STATISTICS_INFO_AVAILABLE_LENS_SHADING_MAP_MODES, ANDROID_SHADING_AVAILABLE_MODES, - ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL }; + ANDROID_INFO_SUPPORTED_HARDWARE_LEVEL, QCAMERA3_OPAQUE_RAW_FORMAT + }; Vector<int32_t> available_characteristics_keys; available_characteristics_keys.appendArray(characteristics_keys_basic, @@ -6914,9 +6926,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*/ @@ -6989,8 +6998,15 @@ int QCamera3HardwareInterface::initStaticMetadata(uint32_t cameraId) &gCamCapability[cameraId]->padding_info, &buf_planes); strides[i*3+2] = buf_planes.plane_info.mp[0].stride; } - staticInfo.update(QCAMERA3_OPAQUE_RAW_STRIDES, strides, - 3*raw_count); + + if (raw_count > 0) { + staticInfo.update(QCAMERA3_OPAQUE_RAW_STRIDES, strides, + 3*raw_count); + available_characteristics_keys.add(QCAMERA3_OPAQUE_RAW_STRIDES); + } + staticInfo.update(ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS, + available_characteristics_keys.array(), + available_characteristics_keys.size()); gStaticMetadata[cameraId] = staticInfo.release(); return rc; |