From patchwork Tue Nov 23 12:37:47 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hanlin Chen X-Patchwork-Id: 14704 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 33DD0BF415 for ; Tue, 23 Nov 2021 12:38:05 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 0D17F6033C; Tue, 23 Nov 2021 13:38:03 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="n/WpoIxY"; dkim-atps=neutral Received: from mail-pj1-x102e.google.com (mail-pj1-x102e.google.com [IPv6:2607:f8b0:4864:20::102e]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B0F0660121 for ; Tue, 23 Nov 2021 13:38:01 +0100 (CET) Received: by mail-pj1-x102e.google.com with SMTP id j5-20020a17090a318500b001a6c749e697so2054542pjb.1 for ; Tue, 23 Nov 2021 04:38:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ikN6PVMHN9F0NsZwnx94ifFAXPjkaprQglAbEC8/U90=; b=n/WpoIxYjnjrGV8p/IgZuV26X+Edsp/NM3FvIadcQd4/k+2HhpOYByCHB5Zlz9RfpE WA46NR73d7VyTDfnhfV4hWhx48OGARK+N7uI1YGADvjYrRUCX50des1cCK0Z0YiUIKpy 5Vt1MmYRkAcFgSchj66jDg7kzRfX41LJ8YTSM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=ikN6PVMHN9F0NsZwnx94ifFAXPjkaprQglAbEC8/U90=; b=Czk9yXhUZopQqMtMZsi3SHaYKXbeLFVMM9aY65BLBLRvDrMBIhIkf9FvkLtxOL2PhZ eNgCMXfgY6rniDfMT2fqC2rW+pGXHagZDp6v846EXsQEjNKnohXqO2qWxRM2C56nvdyi REjVCve1mCOuPj6KLSBzjuiB57O8XlvD+EcmhUomI4yEBs2OkIjpF0KzixucXMnCFdDE 6+VR7eMx9giIjOt+235baO3bu/nQwTz/yy/Zccfb950BI5GPNxVhFk7BzUn317noRFGy huxEVCmhDiK3N1brI56uUxKSK6hMVn3gFKwwvjaVzeFnS7kBft8bkVjQuLklE3eXigQO 9MkQ== X-Gm-Message-State: AOAM530mgskRqdA4bfrXVIy3eJGpcVRb70aOh35ufwLTbyAI0m8GZbO+ YQUM8HcjZBANNSi/haJMEvvnOCN9BFBRSw== X-Google-Smtp-Source: ABdhPJwFmSNxYaE+ph4D8BSbhBXWdix4BWA4lVJdbczmgR37NbUpgnEVmaAaYsuqC5a78dNCx1Mr2g== X-Received: by 2002:a17:902:ac8e:b0:143:6e61:460 with SMTP id h14-20020a170902ac8e00b001436e610460mr6608620plr.85.1637671079721; Tue, 23 Nov 2021 04:37:59 -0800 (PST) Received: from localhost ([2401:fa00:1:10:8aa3:febd:fadf:4199]) by smtp.gmail.com with UTF8SMTPSA id a2sm8963947pgn.20.2021.11.23.04.37.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 23 Nov 2021 04:37:59 -0800 (PST) From: Han-Lin Chen To: libcamera-devel@lists.libcamera.org Date: Tue, 23 Nov 2021 20:37:47 +0800 Message-Id: <20211123123751.3194696-1-hanlinchen@chromium.org> X-Mailer: git-send-email 2.34.0.rc2.393.gf8c9666880-goog MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 0/4] Introduce Lens class and apply auto focus on ipu3 X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" Hello, The patch set is to resolves the kind comments from the previous one. Includes: 1. Simplify Lens class by removing unsused functions 2. Add camera_utils.cpp for utils common to both sensor and lens 3. Remove directives restricting to ChromeOS for lens mapping Han-Lin Chen (4): ipa: ipu3: Extend ipu3 ipa interface for lens controls libcamera: camera_utils: Add a file for utils common to sensor and lens libcamera: camera_lens: Add a new class to model a camera lens ipu3: ipa: Allow IPA to apply controls to the lens device Documentation/index.rst | 1 + Documentation/lens_driver_requirements.rst | 28 ++++ Documentation/meson.build | 1 + include/libcamera/internal/camera_lens.h | 48 +++++++ include/libcamera/internal/camera_sensor.h | 1 - include/libcamera/internal/camera_utils.h | 22 +++ include/libcamera/internal/meson.build | 2 + include/libcamera/ipa/ipu3.mojom | 2 + src/libcamera/camera_lens.cpp | 150 +++++++++++++++++++++ src/libcamera/camera_sensor.cpp | 45 +------ src/libcamera/camera_utils.cpp | 94 +++++++++++++ src/libcamera/meson.build | 2 + src/libcamera/pipeline/ipu3/cio2.cpp | 29 ++++ src/libcamera/pipeline/ipu3/cio2.h | 3 + src/libcamera/pipeline/ipu3/ipu3.cpp | 12 +- 15 files changed, 398 insertions(+), 42 deletions(-) create mode 100644 Documentation/lens_driver_requirements.rst create mode 100644 include/libcamera/internal/camera_lens.h create mode 100644 include/libcamera/internal/camera_utils.h create mode 100644 src/libcamera/camera_lens.cpp create mode 100644 src/libcamera/camera_utils.cpp