[v8,0/3] Add Face Detection Controls
mbox series

Message ID 20240925081551.3265942-1-chenghaoyang@google.com
Headers show
Series
  • Add Face Detection Controls
Related show

Message

Cheng-Hao Yang Sept. 25, 2024, 8:12 a.m. UTC
Hi folks,

This series of patches adds face detection controls in the control ids,
the corresponding usages, and a c'tor of libcamera::Rectangle to
construct it easiler with face detection results.

It passed gitlab pipeline checks:
https://gitlab.freedesktop.org/chenghaoyang/libcamera/-/pipelines/1276999

This is one of the series cherry-picked from cros mtkisp7 branch.

The corresponding CLs in cros are:
https://chromium-review.googlesource.com/c/chromiumos/third_party/libcamera/+/4741266
https://chromium-review.googlesource.com/c/chromiumos/third_party/libcamera/+/4741267
https://chromium-review.googlesource.com/c/chromiumos/third_party/libcamera/+/5669229
https://chromium-review.googlesource.com/c/chromiumos/third_party/libcamera/+/5669232

The usages in pipeline handler mtkisp7 will be added later.

The checkstyle's suggestion on the second patch is ignored, as it
changes the style of previous code.

v8: Reverted back to v5 that new control ids in the draft.

v7: Fixed comments.

v6:
- Added control_ids_android as the new control id list.
  - Moved the new control ids there, instead of in draft.

v5:
- Rewrote Rectangle's c'tor that allows any two diagonal points.
  - Added unit tests.

v4:
- Added support of FaceDetectModeFull and FaceDetectFaceIds.
- Fixed descriptions of control sizes.

v3: Applied fixes according to Jacopo's comments.
- Moved the new face detection controls from core to draft.
- Amended new controls' descriptions.

v2:
- Squashed the fourth CL into the last patch, as it's a fix.
- Fixed CLs based on checkstyle's suggestions.


Harvey Yang (1):
  libcamera: android: Add face detection control support

Yudhistira Erlandinata (2):
  libcamera: Add rectangle two-point constructor
  libcamera: Add face detection controls

 include/libcamera/controls.h         |  6 ++
 include/libcamera/geometry.h         |  7 +++
 src/android/camera_capabilities.cpp  | 45 ++++++++++++--
 src/android/camera_device.cpp        | 70 +++++++++++++++++++++-
 src/libcamera/control_ids_draft.yaml | 88 ++++++++++++++++++++++++++++
 src/libcamera/controls.cpp           |  6 ++
 src/libcamera/geometry.cpp           |  7 +++
 test/geometry.cpp                    | 14 +++++
 8 files changed, 237 insertions(+), 6 deletions(-)