Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d61a788 authored by Eino-Ville Talvala's avatar Eino-Ville Talvala Committed by Android (Google) Code Review
Browse files

Merge changes Ibe5c08d5,I559f1281,I6f0f44fa into jb-mr1-dev

* changes:
  Camera2: Don't be bothered by lack of faces.
  Camera2: Filter out faces with 0 confidence.
  Camera2: Change face detect/scene mode priority.
parents c92bed3a 663c2cd9
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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;
@@ -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]);
+5 −2
Original line number Diff line number Diff line
@@ -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;