From patchwork Mon Oct 26 17:19:02 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 10256 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 1C274BDB13 for ; Mon, 26 Oct 2020 17:19:18 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 7E3106203C; Mon, 26 Oct 2020 18:19:17 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="Sv9GqPv9"; dkim-atps=neutral Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 35E4B60361 for ; Mon, 26 Oct 2020 18:19:16 +0100 (CET) Received: by mail-wm1-x32d.google.com with SMTP id h22so2209717wmb.0 for ; Mon, 26 Oct 2020 10:19:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=hVOU/aQ05zm9s875dzYFxS4CQrdZstJWNYqNCagkxNA=; b=Sv9GqPv9cLClSuCvQiRivN3eVooiZikrf5o49IKEjk9MddqSMf03Bo8iY/E9TeGeRe oNcLXvxEHKmwjWeb+ZAMZ7AzaU7HwNJe8RqFvjCy9fow+nYV4FdMiPx+4xbrqQHYNZp3 PSjtLe456bIkTacdd46VSutbmJvJdqCUwPgGyf8Qtz7yw/llQmPhOV2NLJGvea0Hr7d8 oWhp0VV1r35P+AQ/3i+aCUgv5wGaBaOhH5D3AffeiOtOrIs7WYnMWpqmAnL+V0WHfNeP KYtWVBPhMKZB2pJ2P5GzwKIgXoLTBsI0Z8CErstk0SOAqCPdfuFRb85vwPqQY+A9Lh8z okfQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=hVOU/aQ05zm9s875dzYFxS4CQrdZstJWNYqNCagkxNA=; b=J5hsUROOwjd4C1wkdmgm+ND9Pobl9qiK4DN8fI/dvSuFX7A31DVihebzakASDc1IY2 ZgvDHnOZ1Rpy1NrQebJ3FiVT7yQ8qZLj81qCmcEDPskxb4ml9+aOAY9xjrzlB7iyfcxi svd3JQKdRVFc5lhc4AZHZ0zHYi3GBDv6TLv9v820SrVyZo37WaA59NEhdPKznzrtFHix A9yjLPMUTKJmjclwJZUgDT/rsaEg4KOZUgAVtDBC1KTIyM0Lj2c+M6n2BW7Zo0uUumUO szwwS/YZwmlWsMcjtilzxhKE2CYEz48Cw6joLPjdrYimC3jnA3MZP70R9lifKWRpxTh8 S4Fw== X-Gm-Message-State: AOAM532eAqOt6t8R23vnm5dp30Lt20f2mBS7RaJjAn/OqcaE+GbWS9yv zVK2jjp7IyMY1zf04EYagoe9Aavy9nCs5g== X-Google-Smtp-Source: ABdhPJzimZcDX2kIXXUqpXtrrW6Rooo9fQ2ozAQNfrbPDRt6wt1kIuF5ISCVyFp7stapjIxLUml0Zw== X-Received: by 2002:a1c:192:: with SMTP id 140mr8264381wmb.73.1603732755423; Mon, 26 Oct 2020 10:19:15 -0700 (PDT) Received: from pi4-davidp.lan (plowpeople3.plus.com. [80.229.223.72]) by smtp.gmail.com with ESMTPSA id o63sm20955295wmo.2.2020.10.26.10.19.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Oct 2020 10:19:14 -0700 (PDT) From: David Plowman To: libcamera-devel@lists.libcamera.org Date: Mon, 26 Oct 2020 17:19:02 +0000 Message-Id: <20201026171908.21463-1-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v6 0/6] Digital zoom 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" Hi everyone Thanks for all the reviews and comments. I believe I've got all those suggestions into this latest version of the patch set now. The main changes are: 1, 2, and 3. No or very minor changes. 4. The Point class has acquired operator==/operator!= and toString methods, mainly to support the new unit tests, but they seem like a reasonable thing anyway. 5. The scalerCrop_ that we report in metadata is updated only when it changes. 6. An additional patch that provides some unit tests for those geometry helper functions. Hope that's all clear! Thanks and best regards David David Plowman (6): libcamera: Add ScalerCrop control libcamera: Add SensorCropMaximum property libcamera: raspberrypi: Initialise the SensorCropMaximum property libcamera: Add geometry helper functions libcamera: pipeline: raspberrypi: Implementation of digital zoom test: geometry: Add unit tests for new geometry helper functions include/libcamera/geometry.h | 67 ++++ include/libcamera/ipa/raspberrypi.h | 1 + src/ipa/raspberrypi/raspberrypi.cpp | 5 + src/libcamera/control_ids.yaml | 13 + src/libcamera/geometry.cpp | 328 ++++++++++++++++++ .../pipeline/raspberrypi/raspberrypi.cpp | 99 +++++- src/libcamera/property_ids.yaml | 15 + test/geometry.cpp | 258 +++++++++++++- 8 files changed, 765 insertions(+), 21 deletions(-)