From patchwork Thu Sep 23 07:24:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Umang Jain X-Patchwork-Id: 13889 X-Patchwork-Delegate: umang.jain@ideasonboard.com 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 069B8BF01C for ; Thu, 23 Sep 2021 07:25:05 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 9875169190; Thu, 23 Sep 2021 09:25:04 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="lxszN7Uy"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 4D66E69188 for ; Thu, 23 Sep 2021 09:25:02 +0200 (CEST) Received: from perceval.ideasonboard.com (unknown [103.251.226.124]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 7254945E; Thu, 23 Sep 2021 09:25:01 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1632381902; bh=tHW+nFnwVUWK6az7ucJr8R0fqyXvpuiZHijvIBuJkkQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=lxszN7Uy+EuUVpCfdJmdzLGBuNi2dBSpN2ikFRK7C2IkB1jFKwaJa9vbrlY3djOlH mAgPB+vHa0/1GttkJUgspMQAVe8JbGS+LKPlNUCX7nwy7hmY5L26PPDFA1+Z5d170h /imBorj5cm4HkPX4Ui0DgYuc7SMbVDfcdbx/I5nQ= From: Umang Jain To: libcamera-devel@lists.libcamera.org Date: Thu, 23 Sep 2021 12:54:52 +0530 Message-Id: <20210923072453.130346-2-umang.jain@ideasonboard.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210923072453.130346-1-umang.jain@ideasonboard.com> References: <20210923072453.130346-1-umang.jain@ideasonboard.com> MIME-Version: 1.0 Subject: [libcamera-devel] [PATCH v3 1/2] android: camera_capabilities: Clarify CameraMetadata allocation 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" CameraMetadata's constructor take in number of entries and number of bytes to be allocated for those entries. However, CameraMetadata is already capable of resizing its container on the fly, in case more entries are added to it. Hence, the numbers passed in during the construction acts as hint values for initialization. Clarify this in CameraCapabilities::requestTemplatePreview() and remove the \todo, as the arguments and the \todo gives the perspective that we need to be quite accurate with the numbers of entries / bytes, which is not the case. Signed-off-by: Umang Jain Reviewed-by: Paul Elder Reviewed-by: Laurent Pinchart --- src/android/camera_capabilities.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp index e92bca42..238b44db 100644 --- a/src/android/camera_capabilities.cpp +++ b/src/android/camera_capabilities.cpp @@ -1340,8 +1340,12 @@ std::unique_ptr CameraCapabilities::requestTemplateManual() cons std::unique_ptr CameraCapabilities::requestTemplatePreview() const { /* - * \todo Keep this in sync with the actual number of entries. - * Currently: 20 entries, 35 bytes + * Give initial hint of entries and number of bytes to be allocated. + * It is deliberate that the hint is slightly larger than required, to + * avoid resizing the container. + * + * CameraMetadata is capable to resize the container on the fly, if the + * number of entries get exceeded. */ auto requestTemplate = std::make_unique(21, 36); if (!requestTemplate->isValid()) {