{"id":10095,"url":"https://patchwork.libcamera.org/api/1.1/patches/10095/?format=json","web_url":"https://patchwork.libcamera.org/patch/10095/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20201019125156.26751-2-david.plowman@raspberrypi.com>","date":"2020-10-19T12:51:52","name":"[libcamera-devel,v4,1/5] libcamera: Add SensorCropMaximum property","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"62cfcc0ec465867d7e7c8e120be9dfaddedae184","submitter":{"id":42,"url":"https://patchwork.libcamera.org/api/1.1/people/42/?format=json","name":"David Plowman","email":"david.plowman@raspberrypi.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/10095/mbox/","series":[{"id":1384,"url":"https://patchwork.libcamera.org/api/1.1/series/1384/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1384","date":"2020-10-19T12:51:51","name":"Digital zoom","version":4,"mbox":"https://patchwork.libcamera.org/series/1384/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/10095/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/10095/checks/","tags":{},"headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 61A63BDB1F\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 19 Oct 2020 12:52:08 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1D066610C4;\n\tMon, 19 Oct 2020 14:52:08 +0200 (CEST)","from mail-wm1-x32f.google.com (mail-wm1-x32f.google.com\n\t[IPv6:2a00:1450:4864:20::32f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 14F28610C4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 Oct 2020 14:52:06 +0200 (CEST)","by mail-wm1-x32f.google.com with SMTP id f21so10170655wml.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 19 Oct 2020 05:52:06 -0700 (PDT)","from pi4-davidp.pitowers.org\n\t([2a00:1098:3142:14:1ce1:9965:4328:89c4])\n\tby smtp.gmail.com with ESMTPSA id\n\tq6sm16634335wma.0.2020.10.19.05.52.04\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 19 Oct 2020 05:52:05 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"ExwhhcBo\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:mime-version:content-transfer-encoding;\n\tbh=hJsZqhRBKPAhfb5Do1hHK1Ex21turn5cBuhGVM8owwA=;\n\tb=ExwhhcBoQnxC7I9G6YG/w+6vhWsChaVlCqKxzUBmrGeDRR3dkDgxggBk6ahTwkVpcj\n\tbY0VMnu5GNad9hXjFtMXrw2O7LhXzy/hvTlx/VhcSLBzHz2QDnE/tcTSOvftQGs6WjoY\n\tGxG3nwP6R1KzAQErCKYytzmPqjZjEcQJB251GNNXocWUTnRFYpZ3NSVkrQEVig7ZNIAa\n\tCOvKm67j2DWUfBRXTjiDgxctBBo6eZ9qPjoH8yCaAevc0d4J7kHddN3S6kgtgkvQ0ZhC\n\tuKxETUyOUnD+OBewNBDhulQfqa4IDTiuy+Wq1TApVfgjqG+8ye3xZrds+MUnv/cXcRFM\n\tqy+A==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:mime-version:content-transfer-encoding;\n\tbh=hJsZqhRBKPAhfb5Do1hHK1Ex21turn5cBuhGVM8owwA=;\n\tb=mVS0O0+GxwTCV4oz9mn9VS3sciKcIEpGfOho61t+f/KHyAxL4VJjvukyjEWDjjP2CJ\n\tyNdxVU6DG1twCPTeQ/+aeI3yPU9EpcPjB0N5QQxHowkH1ip6CMlF2eHnV2CjN29u3PUu\n\t0X3NZXF2ovrCZr/bHZhsuh32SWgv5QfdB3ZnQKo9KtI62dUx7S6B7U1Mql3Q0iblxOQk\n\tKvrXcvVKcauF/4lhSjaFFWJK/ERBI/A8fpNeFhDnAvMHb3r9U2OxsKwtSJIB8W5pplWb\n\tSibze4PqQaOWErBCvDiRTYhwLU8+OtzWs2quJz0vNl7z5yeufyi05s7JYDMoagvZex2h\n\tm9vQ==","X-Gm-Message-State":"AOAM530s30phU2cQkptM0WF3WVhePdm2YKSCNzDXXc+Pkd9eNeOFLpXH\n\tZIVhreamDS25KcjnPLJJEku0eK78hsZ6Lg==","X-Google-Smtp-Source":"ABdhPJxc79Uot1d2JPTiTH0B9olKGckjMyjhjhcR1rIdMFHEgKhdBRSHLZWu6uT75E3OUujTnE3C6A==","X-Received":"by 2002:a1c:62c4:: with SMTP id\n\tw187mr17759684wmb.149.1603111925583; \n\tMon, 19 Oct 2020 05:52:05 -0700 (PDT)","From":"David Plowman <david.plowman@raspberrypi.com>","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\n\tproperty","X-BeenThere":"libcamera-devel@lists.libcamera.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<libcamera-devel.lists.libcamera.org>","List-Unsubscribe":"<https://lists.libcamera.org/options/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=unsubscribe>","List-Archive":"<https://lists.libcamera.org/pipermail/libcamera-devel/>","List-Post":"<mailto:libcamera-devel@lists.libcamera.org>","List-Help":"<mailto:libcamera-devel-request@lists.libcamera.org?subject=help>","List-Subscribe":"<https://lists.libcamera.org/listinfo/libcamera-devel>,\n\t<mailto:libcamera-devel-request@lists.libcamera.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"The SensorCropMaximum camera property reports the location of that\npart of the image sensor array that is scaled to produce the output\nimages, given in native sensor pixels. It will normally change when a\nnew camera mode is selected, and can be used to implement digital\nzoom.\n\nSigned-off-by: David Plowman <david.plowman@raspberrypi.com>\n---\n src/libcamera/property_ids.yaml | 20 ++++++++++++++++++++\n 1 file changed, 20 insertions(+)","diff":"diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml\nindex 7261263a..022cf65d 100644\n--- a/src/libcamera/property_ids.yaml\n+++ b/src/libcamera/property_ids.yaml\n@@ -663,4 +663,24 @@ controls:\n         \\todo Rename this property to ActiveAreas once we will have property\n               categories (i.e. Properties::PixelArray::ActiveAreas)\n \n+  - ScalerCropMaximum:\n+      type: Rectangle\n+      description: |\n+        The size and location, in native sensor pixels, of the part of the\n+        sensor that is rescaled to produce the output images. Note that the\n+        units remain native sensor pixels, even if the sensor is being used in\n+        a binning skipping or scaling mode.\n+\n+        The (x,y) location of this rectangle is relative to the\n+        PixelArrayActiveArea that is being used. The property also takes into\n+        account any further cropping being done by the CSI-2 receiver or\n+        elsewhere.\n+\n+        This property is valid only after the Camera has been successfully\n+        configured and its value changes whenever a new configuration is\n+        applied.\n+\n+        \\todo Turn this property into a \"maximum control value\" for the\n+        ScalerCrop control once \"dynamic\" controls have been implemented.\n+\n ...\n","prefixes":["libcamera-devel","v4","1/5"]}