summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacopo Mondi <jacopo@jmondi.org>2021-02-03 14:47:45 +0100
committerJacopo Mondi <jacopo@jmondi.org>2021-02-05 13:06:45 +0100
commite9c2875aea8b1ec50c8b83c2b06efc672e1bb4d4 (patch)
tree90df250bba0790371484ece66c63f3e7378a40e7
parent520c3664bc0841c375b7777bb7380cf0c533f218 (diff)
android: camera_device: Report AE_EXPOSURE_COMPENSATION
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 <niklas.soderlund@ragnatech.se> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
-rw-r--r--src/android/camera_device.cpp11
1 files 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<uint32_t, uint32_t> 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<int32_t> 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<CameraMetadata> resultMetadata =
- std::make_unique<CameraMetadata>(41, 157);
+ std::make_unique<CameraMetadata>(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);