From patchwork Mon Oct 26 17:19:04 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Plowman X-Patchwork-Id: 10261 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 85561BDB13 for ; Mon, 26 Oct 2020 17:19:25 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 513C062040; Mon, 26 Oct 2020 18:19:25 +0100 (CET) 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="hRB5nTjZ"; dkim-atps=neutral Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com [IPv6:2a00:1450:4864:20::32a]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 1F54F62037 for ; Mon, 26 Oct 2020 18:19:21 +0100 (CET) Received: by mail-wm1-x32a.google.com with SMTP id v5so12464890wmh.1 for ; Mon, 26 Oct 2020 10:19:21 -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=DlOT1G0P1YZwReDuJ5vNb83iKivxweypgDohTHSrlUA=; b=hRB5nTjZoFiAlhghMnoFFbQa9aLmrXn+L/SYzxshwXcWjL6+SzmSwJ+IdktRqgbz52 ol3ApB17YlQT7JDypGcD7byQEbNaB0kX06oK5BJeN6MryvAr36XrTZ9Nb5gllsUl/CKE en75m0gTy7eDyqCkuGjx6sExwsj7+g1w11+950tejpZB2vegbsHomZYFHNPi75sh1z5B To3KLJKit2cx4QJ92wYmb1n/8HVrl9RwmfMZRbOwnLGXty1hbP22SN5bNHOMQWVmuIbL rICBG1De4x8NvIbyv4g+ABnXmdYaSvPJo/mjXXGQtN7ayjgbYttTOwA97GkttBDEj9h8 cHpg== 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=DlOT1G0P1YZwReDuJ5vNb83iKivxweypgDohTHSrlUA=; b=FlZsBnTbPJClbvVosFqHPqYOJyFAgCp19En2Xtw2qrSMYWRWf4GVEPKijsvxqPCdhe UvnoMtLjFF5YHoG0mnX1gAjgsFCvemsr+ywtAVaCIXD+AHFE4S7AN6ZrvL/ced7bdNuj 05GeBuTv10Pg992GQNlsRuX4MiJTrGMjJY0fxVcyFOyLaKyQx7vJF+iDHASa23KmWf2E /ywT88UnbebuDWYfskoll5UJEmsVce+TBFXsVou3c0obkXjHFKyTsbbcE1YL17YAt7JK 1z2FWwIJxg88fwyvCUAdm5U3tZ2LCftaCCexbT5jjcg9xRK/FewGjhUSRveReDpV7vfi UKOA== X-Gm-Message-State: AOAM533qysikA5oa1+uk+D78aggG98Z8DTC27SycaN1vULpS0AOz6C/s ZVXs6yEGBysY9vNxTPNFkpO1AXSeV7Qh5g== X-Google-Smtp-Source: ABdhPJy+Y5Yx1U80jE+4w4Y2NIZPDE4+E6xvvP9UVp9FXq6Kc4XrqB+sJnALFHqiOQdlPTr34LVQNg== X-Received: by 2002:a1c:2ed3:: with SMTP id u202mr17379357wmu.85.1603732757218; Mon, 26 Oct 2020 10:19:17 -0700 (PDT) Received: from pi4-davidp.lan (plowpeople3.plus.com. [80.229.223.72]) by smtp.gmail.com with ESMTPSA id o63sm20955295wmo.2.2020.10.26.10.19.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Oct 2020 10:19:16 -0700 (PDT) From: David Plowman To: libcamera-devel@lists.libcamera.org Date: Mon, 26 Oct 2020 17:19:04 +0000 Message-Id: <20201026171908.21463-3-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 2/6] 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 can be 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 | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/libcamera/property_ids.yaml b/src/libcamera/property_ids.yaml index 7261263a..ccb88d28 100644 --- a/src/libcamera/property_ids.yaml +++ b/src/libcamera/property_ids.yaml @@ -663,4 +663,19 @@ 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. Just as the ScalerCrop control, it defines a + rectangle taken from the sensor's active pixel area. + + This property is valid only after the camera has been successfully + configured and its value may change 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. + ...