From 520c3664bc0841c375b7777bb7380cf0c533f218 Mon Sep 17 00:00:00 2001 From: Jacopo Mondi Date: Wed, 3 Feb 2021 14:44:34 +0100 Subject: android: camera_device: Report COLOR_CORRECTION_ABERRATION_MODE MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CaptureResultTest#testCameraCaptureResultAllKeys enforces the presence of the ANDROID_COLOR_CORRECTION_ABERRATION_MODE result metadata. Report the only supported value of ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF. Reviewed-by: Niklas Söderlund Reviewed-by: Laurent Pinchart Signed-off-by: Jacopo Mondi --- src/android/camera_device.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp index f15d4d60..168489d6 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, 838 bytes of static metadata + * Currently: 53 entries, 842 bytes of static metadata */ uint32_t numEntries = 53; - uint32_t byteSize = 838; + uint32_t byteSize = 842; /* * Calculate space occupation in bytes for dynamically built metadata @@ -1288,6 +1288,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata() availableRequestKeys.size()); std::vector availableResultKeys = { + ANDROID_COLOR_CORRECTION_ABERRATION_MODE, ANDROID_CONTROL_AE_ANTIBANDING_MODE, ANDROID_CONTROL_AE_LOCK, ANDROID_CONTROL_AE_MODE, @@ -2005,7 +2006,7 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, * Total bytes for JPEG metadata: 82 */ std::unique_ptr resultMetadata = - std::make_unique(40, 156); + std::make_unique(41, 157); if (!resultMetadata->isValid()) { LOG(HAL, Error) << "Failed to allocate static metadata"; return nullptr; @@ -2017,7 +2018,11 @@ CameraDevice::getResultMetadata(Camera3RequestDescriptor *descriptor, * from libcamera::Request::metadata. */ - uint8_t value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF; + uint8_t value = ANDROID_COLOR_CORRECTION_ABERRATION_MODE_OFF; + resultMetadata->addEntry(ANDROID_COLOR_CORRECTION_ABERRATION_MODE, + &value, 1); + + value = ANDROID_CONTROL_AE_ANTIBANDING_MODE_OFF; resultMetadata->addEntry(ANDROID_CONTROL_AE_ANTIBANDING_MODE, &value, 1); value = ANDROID_CONTROL_AE_LOCK_OFF; -- cgit v1.2.1