Loading core/java/android/hardware/camera2/impl/CameraMetadataNative.java +17 −7 Original line number Original line Diff line number Diff line Loading @@ -518,21 +518,31 @@ public class CameraMetadataNative extends CameraMetadata implements Parcelable { } } } } Face[] faces = new Face[numFaces]; ArrayList<Face> faceList = new ArrayList<Face>(); if (faceDetectMode == CaptureResult.STATISTICS_FACE_DETECT_MODE_SIMPLE) { if (faceDetectMode == CaptureResult.STATISTICS_FACE_DETECT_MODE_SIMPLE) { for (int i = 0; i < numFaces; i++) { for (int i = 0; i < numFaces; i++) { faces[i] = new Face(faceRectangles[i], faceScores[i]); if (faceScores[i] <= Face.SCORE_MAX && faceScores[i] >= Face.SCORE_MIN) { faceList.add(new Face(faceRectangles[i], faceScores[i])); } } } } else { } else { // CaptureResult.STATISTICS_FACE_DETECT_MODE_FULL // CaptureResult.STATISTICS_FACE_DETECT_MODE_FULL for (int i = 0; i < numFaces; i++) { for (int i = 0; i < numFaces; i++) { if (faceScores[i] <= Face.SCORE_MAX && faceScores[i] >= Face.SCORE_MIN && faceIds[i] >= 0) { Point leftEye = new Point(faceLandmarks[i*6], faceLandmarks[i*6+1]); Point leftEye = new Point(faceLandmarks[i*6], faceLandmarks[i*6+1]); Point rightEye = new Point(faceLandmarks[i*6+2], faceLandmarks[i*6+3]); Point rightEye = new Point(faceLandmarks[i*6+2], faceLandmarks[i*6+3]); Point mouth = new Point(faceLandmarks[i*6+4], faceLandmarks[i*6+5]); Point mouth = new Point(faceLandmarks[i*6+4], faceLandmarks[i*6+5]); faces[i] = new Face(faceRectangles[i], faceScores[i], faceIds[i], Face face = new Face(faceRectangles[i], faceScores[i], faceIds[i], leftEye, rightEye, mouth); leftEye, rightEye, mouth); faceList.add(face); } } } } } Face[] faces = new Face[faceList.size()]; faceList.toArray(faces); return faces; return faces; } } Loading Loading
core/java/android/hardware/camera2/impl/CameraMetadataNative.java +17 −7 Original line number Original line Diff line number Diff line Loading @@ -518,21 +518,31 @@ public class CameraMetadataNative extends CameraMetadata implements Parcelable { } } } } Face[] faces = new Face[numFaces]; ArrayList<Face> faceList = new ArrayList<Face>(); if (faceDetectMode == CaptureResult.STATISTICS_FACE_DETECT_MODE_SIMPLE) { if (faceDetectMode == CaptureResult.STATISTICS_FACE_DETECT_MODE_SIMPLE) { for (int i = 0; i < numFaces; i++) { for (int i = 0; i < numFaces; i++) { faces[i] = new Face(faceRectangles[i], faceScores[i]); if (faceScores[i] <= Face.SCORE_MAX && faceScores[i] >= Face.SCORE_MIN) { faceList.add(new Face(faceRectangles[i], faceScores[i])); } } } } else { } else { // CaptureResult.STATISTICS_FACE_DETECT_MODE_FULL // CaptureResult.STATISTICS_FACE_DETECT_MODE_FULL for (int i = 0; i < numFaces; i++) { for (int i = 0; i < numFaces; i++) { if (faceScores[i] <= Face.SCORE_MAX && faceScores[i] >= Face.SCORE_MIN && faceIds[i] >= 0) { Point leftEye = new Point(faceLandmarks[i*6], faceLandmarks[i*6+1]); Point leftEye = new Point(faceLandmarks[i*6], faceLandmarks[i*6+1]); Point rightEye = new Point(faceLandmarks[i*6+2], faceLandmarks[i*6+3]); Point rightEye = new Point(faceLandmarks[i*6+2], faceLandmarks[i*6+3]); Point mouth = new Point(faceLandmarks[i*6+4], faceLandmarks[i*6+5]); Point mouth = new Point(faceLandmarks[i*6+4], faceLandmarks[i*6+5]); faces[i] = new Face(faceRectangles[i], faceScores[i], faceIds[i], Face face = new Face(faceRectangles[i], faceScores[i], faceIds[i], leftEye, rightEye, mouth); leftEye, rightEye, mouth); faceList.add(face); } } } } } Face[] faces = new Face[faceList.size()]; faceList.toArray(faces); return faces; return faces; } } Loading