{"id":10214,"url":"https://patchwork.libcamera.org/api/1.1/patches/10214/?format=json","web_url":"https://patchwork.libcamera.org/patch/10214/","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":"<20201023102159.26274-2-david.plowman@raspberrypi.com>","date":"2020-10-23T10:21:55","name":"[libcamera-devel,v5,1/5] libcamera: Add ScalerCrop control","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"73a17cad70fc48f3b042893a31fde5c9133904dd","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/10214/mbox/","series":[{"id":1409,"url":"https://patchwork.libcamera.org/api/1.1/series/1409/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1409","date":"2020-10-23T10:21:54","name":"Digital zoom","version":5,"mbox":"https://patchwork.libcamera.org/series/1409/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/10214/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/10214/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 E76D0C3D3C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 23 Oct 2020 10:22:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AF5EA6198C;\n\tFri, 23 Oct 2020 12:22:06 +0200 (CEST)","from mail-wr1-x442.google.com (mail-wr1-x442.google.com\n\t[IPv6:2a00:1450:4864:20::442])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id C98BD615D2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 23 Oct 2020 12:22:04 +0200 (CEST)","by mail-wr1-x442.google.com with SMTP id y12so1196549wrp.6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 23 Oct 2020 03:22:04 -0700 (PDT)","from pi4-davidp.lan (plowpeople3.plus.com. [80.229.223.72])\n\tby smtp.gmail.com with ESMTPSA id\n\tr128sm2477831wma.20.2020.10.23.03.22.03\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 23 Oct 2020 03:22:03 -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=\"e4RggprU\"; 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=mGxepSLU5YIYBTtezZ9zAh+/Fk0684f7g+bHtJyie0I=;\n\tb=e4RggprU9lKsAXtZ/GzyrikxVb8poNlvYUSJuU0VfH2dlgOSaWJAtdrJLv1Jx8UBS2\n\t1BDFMjfiOl4VRD6mFpIPKRfkLTdsZUoca262DSe/tR0C6OFHKLlQj+bAUWnaW1KAsmb3\n\tqdOEAvR1FV4MdkgrHdTwS9pXPqGSioZ6TMYEHc4d3JLO9v2qnkJNepIzLSO+rlgvRVmz\n\t5HP7CUmMhMwCQJgzwO+2XML+MFcg2V83dyUmfb5iAbfQCv15bSm6xjKa8Wx1tASQYujf\n\tFIPTbXgg6/2XpUsDNg+gtomYwDI6DrFehx+kPG4TnU7rLIJDveIPbbFatKmTjpBiOiRP\n\t62hQ==","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=mGxepSLU5YIYBTtezZ9zAh+/Fk0684f7g+bHtJyie0I=;\n\tb=FeQZaObZ0zO5kcp3i+AvCctzGjxVa2VGJ2oynx4I3XuwhIRpCDNCCygBQmhx5jQg+q\n\tZWxG3pxafFftVYFUoRdoL9TgMWNpncF1fBCPjOYSDiqFMHNJz5L15wGHFtQZ8I4L6dWe\n\t/a02REhF0O3CWFv/hKFlRoP/wz1NugP/eaBaO0jBonsAy8E2Fn73jpl7jCTD3vWOZ8FS\n\tY6R+z975GGxrSqqUYWOoYYsOO7lfswGDcqDQtFtuDOlQLluTmoOUGRw6CxOoCMT5mr4z\n\tEAZHDtsSvFkHL7bK97AYNd0qbTgt79ILRMwQiCBnNRvtUAPpqBBilhX79OTSrvilhQpN\n\ttErQ==","X-Gm-Message-State":"AOAM531n1Dl6IdRHYctr5R6frp0lOUFm5kY3dtiw6jJT8A+5xXmrMlF+\n\t9/gNm9aMTYmFpt6g2fhMWi76O1zIxZWSVg==","X-Google-Smtp-Source":"ABdhPJyZF50zeVFbyDoeCKKFqaAIv9FElOfDObeZt3CRImNcjdyxpdkoYbDHTxTIEHgKVDa2jPd59w==","X-Received":"by 2002:adf:f212:: with SMTP id\n\tp18mr1905731wro.386.1603448524254; \n\tFri, 23 Oct 2020 03:22:04 -0700 (PDT)","From":"David Plowman <david.plowman@raspberrypi.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Fri, 23 Oct 2020 11:21:55 +0100","Message-Id":"<20201023102159.26274-2-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 1/5] libcamera: Add ScalerCrop control","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 ScalerCrop control selects how much of the sensor's output image\nwill be scaled to form the final output image. It can be used to\nimplement digital zoom.\n\nSigned-off-by: David Plowman <david.plowman@raspberrypi.com>\n---\n src/libcamera/control_ids.yaml | 13 +++++++++++++\n 1 file changed, 13 insertions(+)","diff":"diff --git a/src/libcamera/control_ids.yaml b/src/libcamera/control_ids.yaml\nindex 4c415545..1c1f6699 100644\n--- a/src/libcamera/control_ids.yaml\n+++ b/src/libcamera/control_ids.yaml\n@@ -284,4 +284,17 @@ controls:\n         order in an array of 9 floating point values.\n \n       size: [3x3]\n+\n+  - ScalerCrop:\n+      type: Rectangle\n+      description: |\n+        Sets the image portion that will be scaled to form the whole of\n+        the final output image. The (x,y) location of this rectangle is\n+        relative to the PixelArrayActiveArea that is being used. The units\n+        remain native sensor pixels, even if the sensor is being used in\n+        a binning or skipping mode.\n+\n+        This control is only present when the pipeline supports it. Its\n+        maximum valid value is given by the properties::ScalerCropMaximum\n+        property, and the two can be used to implement digital zoom.\n ...\n","prefixes":["libcamera-devel","v5","1/5"]}