{"id":10257,"url":"https://patchwork.libcamera.org/api/1.1/patches/10257/?format=json","web_url":"https://patchwork.libcamera.org/patch/10257/","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":"<20201026171908.21463-2-david.plowman@raspberrypi.com>","date":"2020-10-26T17:19:03","name":"[libcamera-devel,v6,1/6] libcamera: Add ScalerCrop control","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"dff8f9a344c7f4779561f6af45565936257e5ef2","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/10257/mbox/","series":[{"id":1417,"url":"https://patchwork.libcamera.org/api/1.1/series/1417/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=1417","date":"2020-10-26T17:19:02","name":"Digital zoom","version":6,"mbox":"https://patchwork.libcamera.org/series/1417/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/10257/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/10257/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 D987BBDB13\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 26 Oct 2020 17:19:18 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E703E6203F;\n\tMon, 26 Oct 2020 18:19:17 +0100 (CET)","from mail-wr1-x444.google.com (mail-wr1-x444.google.com\n\t[IPv6:2a00:1450:4864:20::444])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id D0D4660361\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 26 Oct 2020 18:19:16 +0100 (CET)","by mail-wr1-x444.google.com with SMTP id j7so13529281wrt.9\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 26 Oct 2020 10:19:16 -0700 (PDT)","from pi4-davidp.lan (plowpeople3.plus.com. [80.229.223.72])\n\tby smtp.gmail.com with ESMTPSA id\n\to63sm20955295wmo.2.2020.10.26.10.19.15\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tMon, 26 Oct 2020 10:19:15 -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=\"Lqhj0d8k\"; 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=iP5cVs05jjf8HaSDi6lKi+9ku2xFcrV5am2f7dn/CrU=;\n\tb=Lqhj0d8krBIW0JjZPlnccN5STOSYa7uWRiUz4Vs/3bOoJzzBz2T0GO4FPd0vZ12kA7\n\tEaPMS7QdNH70Fqn7LFyf8aVVXvdhFGETS1Z5/vf01GGmxQBvKwVEFUOSTQYaJ3NPGe24\n\t0LR6XBaiycz+KOv+PwsgZHaRbUe6gCjn+pBS+tA1hnfgXM1C8ohiF0tsCIpjZTpgtr5m\n\t2lNs6SLYkSSAZ5FAokm8NKa5zvcnfRMD1JHZ61/SGzNFUthjtlfQlg6xLINHTOJ9nQDo\n\t5OAL4WrrK24S5XCo8rqVIioBy8a2JJ7yT8+Kj+dKTMWl+tLk/pD9XLnwTc5RMF6sNgpi\n\t+Lcw==","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=iP5cVs05jjf8HaSDi6lKi+9ku2xFcrV5am2f7dn/CrU=;\n\tb=mSdcucfKTKZwG3NIeOH0anCfcNP9oIrNcuCWNW0ljkpiBctN8Mc6g2KUW5OcsPvdxR\n\te4+nzIqNca+dJiillTF1s8J1iU9gZNSkehbyR/Y3vh2Z04+3wsKnSOoURKYxaAViIBBs\n\t6Nh6P4s0o64PjIZIcrBJyFfxRy/jsdtRMnD6ROi+TI3RCDsoeY0sUmNmbOPfve9pxQKs\n\tq2ffaSKu4I5mmXig60DUGHIDGx10fVpqrQ6BTfTw9hTIy/tE++rP/f9thVdz4rfYFrRX\n\tQuqGTtL4N3ANw7f/g6ab2d8T3w6Wtf4lh8XgVhSCHEtko9BZfk/kPKD+ddBQ25dBXKq1\n\tg0Rw==","X-Gm-Message-State":"AOAM533a5DDvwH6f7oiF2MxT2fQieun2Kd/U88ZCMg1Ve3hTGIKnGXLO\n\tk3BBW2sZgzcMU7HUaZWe9vKffxbzmKtmqg==","X-Google-Smtp-Source":"ABdhPJyzi7zlahXcw23lxtwuf/bDwffLzQUj+TXd5pt4XGJiYd2uOOVTnzR4GGAlyAXLZd/P/Y0g4Q==","X-Received":"by 2002:adf:e54b:: with SMTP id\n\tz11mr20020400wrm.128.1603732756288; \n\tMon, 26 Oct 2020 10:19:16 -0700 (PDT)","From":"David Plowman <david.plowman@raspberrypi.com>","To":"libcamera-devel@lists.libcamera.org","Date":"Mon, 26 Oct 2020 17:19:03 +0000","Message-Id":"<20201026171908.21463-2-david.plowman@raspberrypi.com>","X-Mailer":"git-send-email 2.20.1","In-Reply-To":"<20201026171908.21463-1-david.plowman@raspberrypi.com>","References":"<20201026171908.21463-1-david.plowman@raspberrypi.com>","MIME-Version":"1.0","Subject":"[libcamera-devel] [PATCH v6 1/6] 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 active pixel\narea will 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>\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.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..b4f76570 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 scaling. 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","v6","1/6"]}