From patchwork Mon Oct 19 12:51:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 10095 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 61A63BDB1F for ; Mon, 19 Oct 2020 12:52:08 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 1D066610C4; Mon, 19 Oct 2020 14:52: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="ExwhhcBo"; dkim-atps=neutral Received: from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com [IPv6:2a00:1450:4864:20::32f]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 14F28610C4 for ; Mon, 19 Oct 2020 14:52:06 +0200 (CEST) Received: by mail-wm1-x32f.google.com with SMTP id f21so10170655wml.3 for ; Mon, 19 Oct 2020 05:52:06 -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=hJsZqhRBKPAhfb5Do1hHK1Ex21turn5cBuhGVM8owwA=; b=ExwhhcBoQnxC7I9G6YG/w+6vhWsChaVlCqKxzUBmrGeDRR3dkDgxggBk6ahTwkVpcj bY0VMnu5GNad9hXjFtMXrw2O7LhXzy/hvTlx/VhcSLBzHz2QDnE/tcTSOvftQGs6WjoY GxG3nwP6R1KzAQErCKYytzmPqjZjEcQJB251GNNXocWUTnRFYpZ3NSVkrQEVig7ZNIAa COvKm67j2DWUfBRXTjiDgxctBBo6eZ9qPjoH8yCaAevc0d4J7kHddN3S6kgtgkvQ0ZhC uKxETUyOUnD+OBewNBDhulQfqa4IDTiuy+Wq1TApVfgjqG+8ye3xZrds+MUnv/cXcRFM qy+A== 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=hJsZqhRBKPAhfb5Do1hHK1Ex21turn5cBuhGVM8owwA=; b=mVS0O0+GxwTCV4oz9mn9VS3sciKcIEpGfOho61t+f/KHyAxL4VJjvukyjEWDjjP2CJ yNdxVU6DG1twCPTeQ/+aeI3yPU9EpcPjB0N5QQxHowkH1ip6CMlF2eHnV2CjN29u3PUu 0X3NZXF2ovrCZr/bHZhsuh32SWgv5QfdB3ZnQKo9KtI62dUx7S6B7U1Mql3Q0iblxOQk KvrXcvVKcauF/4lhSjaFFWJK/ERBI/A8fpNeFhDnAvMHb3r9U2OxsKwtSJIB8W5pplWb Sibze4PqQaOWErBCvDiRTYhwLU8+OtzWs2quJz0vNl7z5yeufyi05s7JYDMoagvZex2h m9vQ== X-Gm-Message-State: AOAM530s30phU2cQkptM0WF3WVhePdm2YKSCNzDXXc+Pkd9eNeOFLpXH ZIVhreamDS25KcjnPLJJEku0eK78hsZ6Lg== X-Google-Smtp-Source: ABdhPJxc79Uot1d2JPTiTH0B9olKGckjMyjhjhcR1rIdMFHEgKhdBRSHLZWu6uT75E3OUujTnE3C6A== X-Received: by 2002:a1c:62c4:: with SMTP id w187mr17759684wmb.149.1603111925583; Mon, 19 Oct 2020 05:52:05 -0700 (PDT) Received: from pi4-davidp.pitowers.org ([2a00:1098:3142:14:1ce1:9965:4328:89c4]) by smtp.gmail.com with ESMTPSA id q6sm16634335wma.0.2020.10.19.05.52.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 19 Oct 2020 05:52:05 -0700 (PDT) From: David Plowman To: libcamera-devel@lists.libcamera.org Date: Mon, 19 Oct 2020 13:51:52 +0100 Message-Id: <20201019125156.26751-2-david.plowman@raspberrypi.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201019125156.26751-1-david.plowman@raspberrypi.com> References: <20201019125156.26751-1-david.plowman@raspberrypi.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v4 1/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 --- src/libcamera/property_ids.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml index 7261263a..022cf65d 100644 --- a/src/libcamera/property_ids.yaml +++ b/src/libcamera/property_ids.yaml @@ -663,4 +663,24 @@ controls: \todo Rename this property to ActiveAreas once we will have property categories (i.e. Properties::PixelArray::ActiveAreas) + - ScalerCropMaximum: + type: Rectangle + description: | + The size and location, in native sensor pixels, of the part of the + sensor that is rescaled to produce the output images. Note that the + units remain native sensor pixels, even if the sensor is being used in + a binning skipping or scaling mode. + + The (x,y) location of this rectangle is relative to the + PixelArrayActiveArea that is being used. The property also takes into + account any further cropping being done by the CSI-2 receiver or + elsewhere. + + 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. + ...