{"id":21334,"url":"https://patchwork.libcamera.org/api/covers/21334/?format=json","web_url":"https://patchwork.libcamera.org/cover/21334/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20240923144921.1729183-1-chenghaoyang@google.com>","date":"2024-09-23T14:45:02","name":"[v6,0/3] Add Face Detection Controls","submitter":{"id":117,"url":"https://patchwork.libcamera.org/api/people/117/?format=json","name":"Cheng-Hao Yang","email":"chenghaoyang@chromium.org"},"mbox":"https://patchwork.libcamera.org/cover/21334/mbox/","series":[{"id":4615,"url":"https://patchwork.libcamera.org/api/series/4615/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4615","date":"2024-09-23T14:45:02","name":"Add Face Detection Controls","version":6,"mbox":"https://patchwork.libcamera.org/series/4615/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/21334/comments/","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 7E000C0F1B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 23 Sep 2024 14:49:32 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AE4C96037E;\n\tMon, 23 Sep 2024 16:49:31 +0200 (CEST)","from mail-pl1-x630.google.com (mail-pl1-x630.google.com\n\t[IPv6:2607:f8b0:4864:20::630])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A980D6037E\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 23 Sep 2024 16:49:29 +0200 (CEST)","by mail-pl1-x630.google.com with SMTP id\n\td9443c01a7336-2057c6c57b5so26785085ad.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 23 Sep 2024 07:49:29 -0700 (PDT)","from chenghaoyang-low.c.googlers.com.com\n\t(0.223.81.34.bc.googleusercontent.com. [34.81.223.0])\n\tby smtp.gmail.com with ESMTPSA id\n\td9443c01a7336-20794735719sm133857435ad.275.2024.09.23.07.49.26\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 23 Sep 2024 07:49:27 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"F1Pm6BS9\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=chromium.org; s=google; t=1727102968; x=1727707768;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=vcnUXSKSGMw58q684C0Vc0QM95lUGpHcGZC31UT2GyM=;\n\tb=F1Pm6BS9ZLsQFzHAwFNkcZEn6fyNXOUQGTMCxulIfCmzGwASTfzOebnkQ5CMrUlXEf\n\t6rfhqyMb0CgZ8dm7m423QUJVdpu1AD4aSrHc56uYcFRTb6GLm4BwHGUhtGHd94Vo3cRa\n\tzqfA/hjSY8NzBk31cvxntPh+m0EH6lT9iN/VE=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1727102968; x=1727707768;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=vcnUXSKSGMw58q684C0Vc0QM95lUGpHcGZC31UT2GyM=;\n\tb=iX93uezf6fjtJ2RK5PnSxDgWnfSldjlbIMUwOCuVaG7nBAj8eBDm9ozy1ruh1BRbiG\n\t3gc3V7G4Y6jLZkSq6WBoKmlaM84dsHEEFUg04cyHF3u8XXst6krdFtQKJ8L1CPI08vPW\n\tlP1HDf9nJtQkcJv5UqUf6oQqpktO1T20rRW4WDLgJ3lxcG6K+7cnwp3WWsFqR9ZLeYs3\n\t6eNwzvw2FyZpNuHESb2VLpwogKkByJR3ffGty2NhVQHp/FHxuXHfWJXZdwqvoItE3xSJ\n\tyof/14E4ac3KKaiJLh1lcSF2a8PqeBC3Rtk6WOTKtUAB8jxVJcYnyQbOpE3ncY0JkpVF\n\tuvzw==","X-Gm-Message-State":"AOJu0Ywb3UWHYvg5+xsqbtyXRoSSs+D4rme7OAQnBe0mOcw9lhe1e4Nb\n\tTBz2r+unG5TCvDwvx8OKx6WMxmJPQo081rJ6S+T1dX4AEK0EIQmwfDzbgFnj7bNM/2p9/ne/CHQ\n\t=","X-Google-Smtp-Source":"AGHT+IF9bsGUJ3JWAB5Rq4Poq4iWBExDH6HICQOGiIzb5f2vdDqbapL/+fafxurnf01Zeq9uQCoTsA==","X-Received":"by 2002:a17:902:e80e:b0:205:6121:1b2d with SMTP id\n\td9443c01a7336-208cb895e5cmr240684765ad.3.1727102967777; \n\tMon, 23 Sep 2024 07:49:27 -0700 (PDT)","From":"Harvey Yang <chenghaoyang@chromium.org>","X-Google-Original-From":"Harvey Yang <chenghaoyang@google.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Harvey Yang <chenghaoyang@google.com>","Subject":"[PATCH v6 0/3] Add Face Detection Controls","Date":"Mon, 23 Sep 2024 14:45:02 +0000","Message-ID":"<20240923144921.1729183-1-chenghaoyang@google.com>","X-Mailer":"git-send-email 2.46.0.792.g87dc391469-goog","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hi folks,\n\nThis series of patches adds face detection controls in the control ids,\nthe corresponding usages, and a c'tor of libcamera::Rectangle to\nconstruct it easiler with face detection results.\n\nIt passed gitlab pipeline checks:\nhttps://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1276509\n\nThis is one of the series cherry-picked from cros mtkisp7 branch.\n\nThe corresponding CLs in cros are:\nhttps://chromium-review.googlesource.com/c/chromiumos/third_party/libcamera/+/4741266\nhttps://chromium-review.googlesource.com/c/chromiumos/third_party/libcamera/+/4741267\nhttps://chromium-review.googlesource.com/c/chromiumos/third_party/libcamera/+/5669229\nhttps://chromium-review.googlesource.com/c/chromiumos/third_party/libcamera/+/5669232\n\nThe usages in pipeline handler mtkisp7 will be added later.\n\nThe checkstyle's suggestion on the second patch is ignored, as it\nchanges the style of previous code.\n\nv6:\n- Added control_ids_android as the new control id list.\n  - Moved the new control ids there, instead of in draft.\n\nv5:\n- Rewrote Rectangle's c'tor that allows any two diagonal points.\n  - Added unit tests.\n\nv4:\n- Added support of FaceDetectModeFull and FaceDetectFaceIds.\n- Fixed descriptions of control sizes.\n\nv3: Applied fixes according to Jacopo's comments.\n- Moved the new face detection controls from core to draft.\n- Amended new controls' descriptions.\n\nv2:\n- Squashed the fourth CL into the last patch, as it's a fix.\n- Fixed CLs based on checkstyle's suggestions.\n\nHarvey Yang (1):\n  libcamera: android: Add face detection control support\n\nYudhistira Erlandinata (2):\n  libcamera: Add rectangle two-point constructor\n  libcamera: Add face detection controls\n\n include/libcamera/controls.h           |  6 ++\n include/libcamera/geometry.h           |  7 ++\n include/libcamera/meson.build          |  3 +-\n src/android/camera_capabilities.cpp    | 45 ++++++++++--\n src/android/camera_device.cpp          | 73 ++++++++++++++++++-\n src/libcamera/control_ids_android.yaml | 98 ++++++++++++++++++++++++++\n src/libcamera/control_ranges.yaml      |  1 +\n src/libcamera/controls.cpp             |  6 ++\n src/libcamera/geometry.cpp             |  7 ++\n test/geometry.cpp                      | 14 ++++\n 10 files changed, 253 insertions(+), 7 deletions(-)\n create mode 100644 src/libcamera/control_ids_android.yaml"}