From patchwork Tue Sep 29 16:39:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 9863 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 64F35C3B5B for ; Tue, 29 Sep 2020 16:40:07 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id AD0E6621D4; Tue, 29 Sep 2020 18:40:06 +0200 (CEST) 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="kvzBJAGJ"; dkim-atps=neutral Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 489F160394 for ; Tue, 29 Sep 2020 18:40:05 +0200 (CEST) Received: by mail-wr1-x42c.google.com with SMTP id z1so6181999wrt.3 for ; Tue, 29 Sep 2020 09:40:05 -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=wrUp4601lU8NQ4wpCptZy4KuFC8M/N+3yq6HiIZLS20=; b=kvzBJAGJhDm2s6Hx9EcgGHUpNofRD0MmQl3F6u/zIsCgiljL1hty9OetMdADdGuUTi HSQSpqydHIRIFGNOLeJ457IvXrJEU/VWoytm/oF+a3nmC9JgMWdUmw9dgJdbtdTtxSAm 4XRPjSm4SMmQbFLFsa7zUAt4Hd7h5wZ8DlkwT0Z/2v64zKXenwI/Ip+JsjtjC0wPhxgk dN3fte52yEc26a00gSwy4BlvKoJyqE/Lv34VjON0QQ5dRrY8O6Du/P/wX9/giG9uYhKZ mYTHeZXsOFyCVNdpxazhVbVIPBPqI0cn7KLyP2kvuAlMT1WrG5nYccKptvqzzdKFyDFz 97gA== 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=wrUp4601lU8NQ4wpCptZy4KuFC8M/N+3yq6HiIZLS20=; b=fXvO4sjVUbZhl+nj/xRSR3a8f7kMXPCHniAi/TQhyhko9yz2llLawEmp9dMzu8CSOP tv7KeHPI6QFuOTayqUv4UjjXsT/9+eladxlZzw3wpbvoUPKeApvxV+Teg85UqO+Qfk5d kJTjW+yy+ZeEYz+VQmUolAijO2NHs4Z0oewIaMvA8zVrtKLlkCQnBvxZWkqNv3AjrMwK u9cVdgr5DFTxyfUeNoIqlf42HC5e1Z6WLAbH8cBJ4ANEy/VROXXYI9gUgMfLlhThkVnb ObHVt3fdOiOwKW7GaygR6z3gB5RIJzJVLFLa2TiKemzdctECNPaU7wHfEBrD6Buox97f RP4w== X-Gm-Message-State: AOAM533O7N4PRFOIN6SupOTwRGBhsAdZX0/C/8BbtLc5EpLcIE9kGaS+ 8BNfLxVRTN8B0x93pLL5QyEVm9snjafP+A== X-Google-Smtp-Source: ABdhPJy1xWr8WfiEh8g73v4K1Y14gc1hnMzMq0tYgrGehB1qLIwXYOnJ8B9wjlb8XHrw2jCJrOFvWw== X-Received: by 2002:a5d:44cc:: with SMTP id z12mr5474545wrr.189.1601397604505; Tue, 29 Sep 2020 09:40:04 -0700 (PDT) Received: from pi4-davidp.lan (plowpeople3.plus.com. [80.229.223.72]) by smtp.gmail.com with ESMTPSA id q12sm6977393wrs.48.2020.09.29.09.40.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 29 Sep 2020 09:40:03 -0700 (PDT) From: David Plowman To: libcamera-devel@lists.libcamera.org Date: Tue, 29 Sep 2020 17:39:54 +0100 Message-Id: <20200929164000.15429-1-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 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 Despite not originally intending to, I've actually made a version 3 of the digital zoom patches, just to take care of a few things that might be a bit annoying otherwise. 1. I've improved the description of the IspCrop control as was suggested. 2. I've improved the description of the zoom option in cam (if we decide to use this patch!), also as was proposed. 3. There was actually a problem with the "{}" syntax to denote zero Rectangles in include/libcamera/ipa/raspberrypi.h. They were failing a range type test in ControlInfoMap::generateIdmap() and so the control wasn't working. I've replaced "{}" by "Rectangle{}" which seems OK. 4. There's been a bit of churn in the RPi pipeline handler lately so rebasing gave some conflicts. I've fixed those up. Otherwise everything else remains the same. Thanks! David David Plowman (6): libcamera: Add SensorOutputSize property libcamera: Initialise the SensorOutputSize property libcamera: Add IspCrop control libcamera: Add geometry helper functions libcamera: pipeline: raspberrypi: Implementation of digital zoom cam: Add command line option to test IspCrop control include/libcamera/geometry.h | 20 +++ include/libcamera/ipa/raspberrypi.h | 1 + src/cam/capture.cpp | 25 +++- src/cam/capture.h | 2 +- src/cam/main.cpp | 3 + src/cam/main.h | 1 + src/ipa/raspberrypi/raspberrypi.cpp | 7 + src/libcamera/camera_sensor.cpp | 6 + src/libcamera/control_ids.yaml | 12 ++ src/libcamera/geometry.cpp | 129 ++++++++++++++++++ .../pipeline/raspberrypi/raspberrypi.cpp | 47 +++++++ src/libcamera/property_ids.yaml | 19 +++ 12 files changed, 269 insertions(+), 3 deletions(-)