QCamera2: HAL3: Move AF_ROI to partial_result
By moving AF_ROI to partial_result, the application receives the ROI
early when it wants to display ROI to the user.
Test: StillCaptureTest - testAfRegions
Bug: 35924895
Change-Id: I4c3ba6d761deda0b030738544a3b8acdb5874a8e
diff --git a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
index c16a7b5..0df6c03 100644
--- a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
@@ -7463,22 +7463,6 @@
camMetadata.update(ANDROID_LENS_STATE , &fwk_lensState, 1);
}
- IF_META_AVAILABLE(cam_area_t, hAfRegions, CAM_INTF_META_AF_ROI, metadata) {
- /*af regions*/
- int32_t afRegions[REGIONS_TUPLE_COUNT];
- // Adjust crop region from sensor output coordinate system to active
- // array coordinate system.
- mCropRegionMapper.toActiveArray(hAfRegions->rect.left, hAfRegions->rect.top,
- hAfRegions->rect.width, hAfRegions->rect.height);
-
- convertToRegions(hAfRegions->rect, afRegions, hAfRegions->weight);
- camMetadata.update(ANDROID_CONTROL_AF_REGIONS, afRegions,
- REGIONS_TUPLE_COUNT);
- LOGD("Metadata : ANDROID_CONTROL_AF_REGIONS: FWK: [%d,%d,%d,%d] HAL: [%d,%d,%d,%d]",
- afRegions[0], afRegions[1], afRegions[2], afRegions[3],
- hAfRegions->rect.left, hAfRegions->rect.top, hAfRegions->rect.width,
- hAfRegions->rect.height);
- }
IF_META_AVAILABLE(uint32_t, hal_ab_mode, CAM_INTF_PARM_ANTIBANDING, metadata) {
uint32_t ab_mode = *hal_ab_mode;
@@ -7954,6 +7938,23 @@
af_trigger->trigger_id);
}
+ IF_META_AVAILABLE(cam_area_t, hAfRegions, CAM_INTF_META_AF_ROI, metadata) {
+ /*af regions*/
+ int32_t afRegions[REGIONS_TUPLE_COUNT];
+ // Adjust crop region from sensor output coordinate system to active
+ // array coordinate system.
+ mCropRegionMapper.toActiveArray(hAfRegions->rect.left, hAfRegions->rect.top,
+ hAfRegions->rect.width, hAfRegions->rect.height);
+
+ convertToRegions(hAfRegions->rect, afRegions, hAfRegions->weight);
+ camMetadata.update(ANDROID_CONTROL_AF_REGIONS, afRegions,
+ REGIONS_TUPLE_COUNT);
+ LOGD("Metadata : ANDROID_CONTROL_AF_REGIONS: FWK: [%d,%d,%d,%d] HAL: [%d,%d,%d,%d]",
+ afRegions[0], afRegions[1], afRegions[2], afRegions[3],
+ hAfRegions->rect.left, hAfRegions->rect.top, hAfRegions->rect.width,
+ hAfRegions->rect.height);
+ }
+
IF_META_AVAILABLE(int32_t, whiteBalance, CAM_INTF_PARM_WHITE_BALANCE, metadata) {
int val = lookupFwkName(WHITE_BALANCE_MODES_MAP,
METADATA_MAP_SIZE(WHITE_BALANCE_MODES_MAP), *whiteBalance);