[libcamera-devel] [RFC PATCH 09/14] android: Plumb AwbLock control

Paul Elder paul.elder at ideasonboard.com
Fri Jun 18 12:33:46 CEST 2021


Plumb the AwbLock control into the HAL for
CONTROL_AWB_LOCK_AVAILABLE_MODES for static metadata.

Bug: https://bugs.libcamera.org/show_bug.cgi?id=45
Signed-off-by: Paul Elder <paul.elder at ideasonboard.com>

---
TODO: plumb result metadata
---
 src/android/camera_device.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp
index a8b6fa38..e89afbb1 100644
--- a/src/android/camera_device.cpp
+++ b/src/android/camera_device.cpp
@@ -1032,6 +1032,14 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()
 				  aeLockAvailable);
 
 	uint8_t awbLockAvailable = ANDROID_CONTROL_AWB_LOCK_AVAILABLE_FALSE;
+	const auto &awbLockInfo = controlsInfo.find(&controls::AwbLock);
+	if (awbLockInfo != controlsInfo.end()) {
+		awbLockAvailable = awbLockInfo->second.max().get<bool>();
+	}
+	if (!awbLockAvailable) {
+		capabilities[ANDROID_REQUEST_AVAILABLE_CAPABILITIES_BURST_CAPTURE] = false;
+		capabilities[ANDROID_REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING] = false;
+	}
 	staticMetadata_->addEntry(ANDROID_CONTROL_AWB_LOCK_AVAILABLE,
 				  awbLockAvailable);
 
-- 
2.27.0



More information about the libcamera-devel mailing list