Loading services/camera/libcameraservice/camera2/FrameProcessor.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -174,8 +174,7 @@ status_t FrameProcessor::processFaceDetect(const CameraMetadata &frame, SharedParameters::Lock l(client->getParameters()); entry = frame.find(ANDROID_STATS_FACE_RECTANGLES); if (entry.count == 0) { ALOGE("%s: Camera %d: Unable to read face rectangles", __FUNCTION__, client->getCameraId()); // No faces this frame return res; } metadata.number_of_faces = entry.count / 4; Loading Loading @@ -220,7 +219,13 @@ status_t FrameProcessor::processFaceDetect(const CameraMetadata &frame, faces.setCapacity(metadata.number_of_faces); for (int i = 0; i < metadata.number_of_faces; i++) { size_t maxFaces = metadata.number_of_faces; for (size_t i = 0; i < maxFaces; i++) { if (faceScores[i] == 0) { metadata.number_of_faces--; continue; } camera_face_t face; face.rect[0] = l.mParameters.arrayXToNormalized(faceRects[i*4 + 0]); Loading services/camera/libcameraservice/camera2/Parameters.cpp +5 −2 Original line number Diff line number Diff line Loading @@ -1380,8 +1380,11 @@ status_t Parameters::updateRequest(CameraMetadata *request) const { &reqControlMode, 1); if (res != OK) return res; uint8_t reqSceneMode = enableFaceDetect ? (uint8_t)ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY : sceneMode; uint8_t reqSceneMode = (sceneMode != (uint8_t)ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED) ? sceneMode : enableFaceDetect ? (uint8_t)ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY : (uint8_t)ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED; res = request->update(ANDROID_CONTROL_SCENE_MODE, &reqSceneMode, 1); if (res != OK) return res; Loading Loading
services/camera/libcameraservice/camera2/FrameProcessor.cpp +8 −3 Original line number Diff line number Diff line Loading @@ -174,8 +174,7 @@ status_t FrameProcessor::processFaceDetect(const CameraMetadata &frame, SharedParameters::Lock l(client->getParameters()); entry = frame.find(ANDROID_STATS_FACE_RECTANGLES); if (entry.count == 0) { ALOGE("%s: Camera %d: Unable to read face rectangles", __FUNCTION__, client->getCameraId()); // No faces this frame return res; } metadata.number_of_faces = entry.count / 4; Loading Loading @@ -220,7 +219,13 @@ status_t FrameProcessor::processFaceDetect(const CameraMetadata &frame, faces.setCapacity(metadata.number_of_faces); for (int i = 0; i < metadata.number_of_faces; i++) { size_t maxFaces = metadata.number_of_faces; for (size_t i = 0; i < maxFaces; i++) { if (faceScores[i] == 0) { metadata.number_of_faces--; continue; } camera_face_t face; face.rect[0] = l.mParameters.arrayXToNormalized(faceRects[i*4 + 0]); Loading
services/camera/libcameraservice/camera2/Parameters.cpp +5 −2 Original line number Diff line number Diff line Loading @@ -1380,8 +1380,11 @@ status_t Parameters::updateRequest(CameraMetadata *request) const { &reqControlMode, 1); if (res != OK) return res; uint8_t reqSceneMode = enableFaceDetect ? (uint8_t)ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY : sceneMode; uint8_t reqSceneMode = (sceneMode != (uint8_t)ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED) ? sceneMode : enableFaceDetect ? (uint8_t)ANDROID_CONTROL_SCENE_MODE_FACE_PRIORITY : (uint8_t)ANDROID_CONTROL_SCENE_MODE_UNSUPPORTED; res = request->update(ANDROID_CONTROL_SCENE_MODE, &reqSceneMode, 1); if (res != OK) return res; Loading