From patchwork Fri Oct 23 10:21:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 10215 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 5FC5FC3D3C for ; Fri, 23 Oct 2020 10:22:08 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 2423B619A3; Fri, 23 Oct 2020 12:22:08 +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="P69RMVZY"; dkim-atps=neutral Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id A031F615D3 for ; Fri, 23 Oct 2020 12:22:05 +0200 (CEST) Received: by mail-wr1-x442.google.com with SMTP id b8so1221216wrn.0 for ; Fri, 23 Oct 2020 03:22: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:in-reply-to:references :mime-version:content-transfer-encoding; bh=wKds1zcbhJ1K4bXbXUJzrxeNZ9GkAN5EeGkln1GJhLg=; b=P69RMVZYXdoczjHsRkDiODoYv9wCsCc41eUye/zCZPEezViLJvPxWGLbNPUszagomG Yw0/SN0klWBBHn38OS1ynGIxxmBKaYF+sjEY4G9h9LKdcA4/3yIuzmTYAnGG3nRUkvZf KOb8A+GEA7aUR/zUKcunOFegoyn4jQLF4cjiMvww3dSSQEL4ZWsLPVT6XYAOEuMoRfnK IbbeIG7F/02w7/o0yvFH9edqQKfeVqICywRtg9/7Qbgh4IloT+69q0X3kqjr8q1X7eFo RGCYS7hf0C2tcMbJhR/4EkRcJ+IurIWXz6O0DSJ1mmtt8NL34hT+voSPJ9wiyHrd+CY1 YrKQ== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=wKds1zcbhJ1K4bXbXUJzrxeNZ9GkAN5EeGkln1GJhLg=; b=Lvq+TZfIuqnxSUQ7zwiTKm43ClybrYaJqguuSsLhrSsLKAabl7yBdtHuLcuaSLUjdj g9oPz3d3M+EsoynKwx0GKE1oKjvzTaJ01tb9wajI94vnmelQUOEfwBkAV//pCFdvISpZ U7k0TtWp+xuXA1zxPftFH04X4NZp9KI+M78S+XfTUbh0/EwW2USjCOaIIdwWDprrBTP0 t4nAid78CpwiSX6nakG70K9QdNIGirlgQzgnU8yMMxc8ndlvT0KVmkaO/yXi0C7kQqIF iw2pX8U4HX/lM7ZNtiGuMODO/03w7gi3z2S46G1dkyyaBh6AcLWofyfnu0cGZGyP439Y OZ/Q== X-Gm-Message-State: AOAM531P5RvOp063+14+j/WC8nb4KhvVGHS5qch27jqAZuE6a52Gd6bY Y0OaVXC1HVhbl5jU0jHDs8QG1NZhEyoWRA== X-Google-Smtp-Source: ABdhPJzy6tpZh/Sj/sR7bLSGxls8SbVz3lNqx/iFU4QgPPOAMuZiARUAJDnVcOBp5LwN1hfpNNWvmg== X-Received: by 2002:adf:ab50:: with SMTP id r16mr1756182wrc.235.1603448525093; Fri, 23 Oct 2020 03:22:05 -0700 (PDT) Received: from pi4-davidp.lan (plowpeople3.plus.com. [80.229.223.72]) by smtp.gmail.com with ESMTPSA id r128sm2477831wma.20.2020.10.23.03.22.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 23 Oct 2020 03:22:04 -0700 (PDT) From: David Plowman To: libcamera-devel@lists.libcamera.org Date: Fri, 23 Oct 2020 11:21:56 +0100 Message-Id: <20201023102159.26274-3-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201023102159.26274-1-david.plowman@raspberrypi.com> References: <20201023102159.26274-1-david.plowman@raspberrypi.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v5 2/5] libcamera: Add SensorCropMaximum property 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" The SensorCropMaximum camera property reports the location of that part of the image sensor array that is scaled to produce the output images, given in native sensor pixels. It will normally change when a new camera mode is selected, and can be used to implement digital zoom. Signed-off-by: David Plowman Reviewed-by: Laurent Pinchart Reviewed-by: Jacopo Mondi --- src/libcamera/property_ids.yaml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml index 7261263a..a306a422 100644 --- a/src/libcamera/property_ids.yaml +++ b/src/libcamera/property_ids.yaml @@ -663,4 +663,18 @@ controls: \todo Rename this property to ActiveAreas once we will have property categories (i.e. Properties::PixelArray::ActiveAreas) + - ScalerCropMaximum: + type: Rectangle + description: | + The maximum valid rectangle for the controls::ScalerCrop control. This + reflects the minimum mandatory cropping applied in the camera sensor and + the rest of the pipeline. + + This property is valid only after the camera has been successfully + configured and its value changes whenever a new configuration is + applied. + + \todo Turn this property into a "maximum control value" for the + ScalerCrop control once "dynamic" controls have been implemented. + ...