From e9c2875aea8b1ec50c8b83c2b06efc672e1bb4d4 Mon Sep 17 00:00:00 2001 From: Jacopo Mondi Date: Wed, 3 Feb 2021 14:47:45 +0100 Subject: android: camera_device: Report AE_EXPOSURE_COMPENSATION MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CaptureResultTest#testCameraCaptureResultAllKeys enforces the presence of the ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION result metadata. Report 0 as the current value for ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION in the result metadata pack. Reviewed-by: Niklas Söderlund Reviewed-by: Laurent Pinchart Signed-off-by: Jacopo Mondi --- src/android/camera_device.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp index 168489d6..909f8869 100644 --- a/src/android/camera_device.cpp +++ b/src/android/camera_device.cpp @@ -705,10 +705,10 @@ std::tuple CameraDevice::calculateStaticMetadataSize() { /* * \todo Keep this in sync with the actual number of entries. - * Currently: 53 entries, 842 bytes of static metadata + * Currently: 53 entries, 846 bytes of static metadata */ uint32_t numEntries = 53; - uint32_t byteSize = 842; + uint32_t byteSize = 846; /* * Calculate space occupation in bytes for dynamically built metadata @@ -1290,6 +1290,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata() std::vector availableResultKeys = { ANDROID_COLOR_CORRECTION_ABERRATION_MODE, ANDROID_CONTROL_AE_ANTIBANDING_MODE, + ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION, ANDROID_CONTROL_AE_LOCK, ANDROID_CONTROL_AE_MODE, ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER, @@ -2006,7 +2007,7 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, * Total bytes for JPEG metadata: 82 */ std::unique_ptr resultMetadata = - std::make_unique(41, 157); + std::make_unique(42, 161); if (!resultMetadata->isValid()) { LOG(HAL, Error) << "Failed to allocate static metadata"; return nullptr; @@ -2025,6 +2026,10 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF; resultMetadata->addEntry(ANDROID_CONTROL_AE_ANTIBANDING_MODE, &value, 1); + int32_t value32 = 0; + resultMetadata->addEntry(ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION, + &value32, 1); + value = ANDROID_CONTROL_AE_LOCK_OFF; resultMetadata->addEntry(ANDROID_CONTROL_AE_LOCK, &value, 1); -- cgit v1.2.1