Camera3: Fix AF and AWB translation
HAL needs to translates AF and AWB mode in metadata from internal
data type to frameworks data type.
Bug: 10606535
Change-Id: I11857c14e840e838d74f20dcc7174fe7529b4d9c
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index cec4b61..2fd7122 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -1572,7 +1572,9 @@
uint8_t *focusMode =
(uint8_t *)POINTER_OF(CAM_INTF_PARM_FOCUS_MODE, metadata);
- camMetadata.update(ANDROID_CONTROL_AF_MODE, focusMode, 1);
+ uint8_t fwkAfMode = lookupFwkName(FOCUS_MODES_MAP,
+ sizeof(FOCUS_MODES_MAP)/sizeof(FOCUS_MODES_MAP[0]), *focusMode);
+ camMetadata.update(ANDROID_CONTROL_AF_MODE, &fwkAfMode, 1);
/*af regions*/
cam_area_t *hAfRegions =
@@ -1590,7 +1592,10 @@
uint8_t *whiteBalance =
(uint8_t *)POINTER_OF(CAM_INTF_PARM_WHITE_BALANCE, metadata);
- camMetadata.update(ANDROID_CONTROL_AWB_MODE, whiteBalance, 1);
+ uint8_t fwkWhiteBalanceMode = lookupFwkName(WHITE_BALANCE_MODES_MAP,
+ sizeof(WHITE_BALANCE_MODES_MAP)/sizeof(WHITE_BALANCE_MODES_MAP[0]),
+ *whiteBalance);
+ camMetadata.update(ANDROID_CONTROL_AWB_MODE, &fwkWhiteBalanceMode, 1);
/*awb regions*/
cam_area_t *hAwbRegions =