QCamera2: HAL3: Send corrects face ids in FD Full mode
Issue:
In FD FULL mode, apps expect the face IDs
in meta data. Currently, meta data is event
is posted but with 0s.
Fix:
Assign correct face ids coming from backend.
Bug: 31979356
Change-Id: I87a49794f29794a28a8857728c5d10bd8030abd9
diff --git a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
index 97f6145..4ec3c0a 100644
--- a/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/msm8998/QCamera2/HAL3/QCamera3HWI.cpp
@@ -7119,10 +7119,17 @@
}
}
+ for (size_t i = 0; i < numFaces; i++) {
+ faceIds[i] = faceDetectionInfo->faces[i].face_id;
+
+ LOGL("FD_DEBUG LANDMARK : Frame[%d] : Face[%d] : faceIds=%d",
+ faceDetectionInfo->frame_id, i, faceIds[i]);
+ }
+
camMetadata.update(ANDROID_STATISTICS_FACE_IDS, faceIds, numFaces);
camMetadata.update(ANDROID_STATISTICS_FACE_LANDMARKS,
faceLandmarks, numFaces * 6U);
- }
+ }
IF_META_AVAILABLE(cam_face_blink_data_t, blinks,
CAM_INTF_META_FACE_BLINK, metadata) {
uint8_t detected[MAX_ROI];
@@ -7132,10 +7139,10 @@
degree[2 * i] = blinks->blink[i].left_blink;
degree[2 * i + 1] = blinks->blink[i].right_blink;
- LOGL("FD_DEBUG LANDMARK : Frame[%d] : Face[%d] : "
- "blink_detected=%d, leye_blink=%d, reye_blink=%d",
- faceDetectionInfo->frame_id, i, detected[i], degree[2 * i],
- degree[2 * i + 1]);
+ LOGL("FD_DEBUG LANDMARK : Frame[%d] : Face[%d] : "
+ "blink_detected=%d, leye_blink=%d, reye_blink=%d",
+ faceDetectionInfo->frame_id, i, detected[i], degree[2 * i],
+ degree[2 * i + 1]);
}
camMetadata.update(QCAMERA3_STATS_BLINK_DETECTED,
detected, numFaces);
@@ -7150,9 +7157,9 @@
degree[i] = smiles->smile[i].smile_degree;
confidence[i] = smiles->smile[i].smile_confidence;
- LOGL("FD_DEBUG LANDMARK : Frame[%d] : Face[%d] : "
- "smile_degree=%d, smile_score=%d",
- faceDetectionInfo->frame_id, i, degree[i], confidence[i]);
+ LOGL("FD_DEBUG LANDMARK : Frame[%d] : Face[%d] : "
+ "smile_degree=%d, smile_score=%d",
+ faceDetectionInfo->frame_id, i, degree[i], confidence[i]);
}
camMetadata.update(QCAMERA3_STATS_SMILE_DEGREE,
degree, numFaces);