[{"id":19198,"web_url":"https://patchwork.libcamera.org/comment/19198/","msgid":"<20210831022414.GI20879@jade.amanokami.net>","date":"2021-08-31T02:24:14","subject":"Re: [libcamera-devel] [PATCH 07/16] android: capabilities: Use\n\tper-configuration durations","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Jacopo,\n\nOn Fri, Aug 27, 2021 at 02:07:48PM +0200, Jacopo Mondi wrote:\n> Use the per-configuration stream durations as collected during\n> initializeStreamConfigurations() to populate the\n> ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT static metadata.\n> \n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> ---\n>  src/android/camera_capabilities.cpp | 21 +++++++++------------\n>  1 file changed, 9 insertions(+), 12 deletions(-)\n> \n> diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp\n> index c45d74189aaa..061e65241806 100644\n> --- a/src/android/camera_capabilities.cpp\n> +++ b/src/android/camera_capabilities.cpp\n> @@ -1269,19 +1269,16 @@ int CameraCapabilities::initializeStaticMetadata()\n>  \tstaticMetadata_->addEntry(ANDROID_SCALER_AVAILABLE_STALL_DURATIONS,\n>  \t\t\t\t  availableStallDurations);\n>  \n> -\t/* Use the minimum frame duration for all the YUV/RGB formats. */\n> -\tif (minFrameDurationNsec > 0) {\n> -\t\tstd::vector<int64_t> minFrameDurations;\n> -\t\tminFrameDurations.reserve(streamConfigurations_.size() * 4);\n> -\t\tfor (const auto &entry : streamConfigurations_) {\n> -\t\t\tminFrameDurations.push_back(entry.androidFormat);\n> -\t\t\tminFrameDurations.push_back(entry.resolution.width);\n> -\t\t\tminFrameDurations.push_back(entry.resolution.height);\n> -\t\t\tminFrameDurations.push_back(minFrameDurationNsec);\n> -\t\t}\n> -\t\tstaticMetadata_->addEntry(ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS,\n> -\t\t\t\t\t  minFrameDurations);\n> +\tstd::vector<int64_t> minFrameDurations;\n> +\tminFrameDurations.reserve(streamConfigurations_.size() * 4);\n> +\tfor (const auto &entry : streamConfigurations_) {\n> +\t\tminFrameDurations.push_back(entry.androidFormat);\n> +\t\tminFrameDurations.push_back(entry.resolution.width);\n> +\t\tminFrameDurations.push_back(entry.resolution.height);\n> +\t\tminFrameDurations.push_back(entry.minFrameDurationNsec);\n\nOoh, a subtle change. I see this picks up the per-configuration min\nframe duration, though.\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n>  \t}\n> +\tstaticMetadata_->addEntry(ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS,\n> +\t\t\t\t  minFrameDurations);\n>  \n>  \tuint8_t croppingType = ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY;\n>  \tstaticMetadata_->addEntry(ANDROID_SCALER_CROPPING_TYPE, croppingType);\n> -- \n> 2.32.0\n>","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 222ABBD87D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 31 Aug 2021 02:24:26 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8FA5B6916C;\n\tTue, 31 Aug 2021 04:24:25 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E9FA568891\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 31 Aug 2021 04:24:24 +0200 (CEST)","from jade.amanokami.net (KD027085206055.au-net.ne.jp\n\t[27.85.206.55])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C1CCF323;\n\tTue, 31 Aug 2021 04:24:22 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"frjy+ceU\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1630376664;\n\tbh=FbMo2TEQhQm+8FDvgpwXZaWXx0gxfHXRMrhY9Blbb28=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=frjy+ceU/QlJTGWM/ncqYOn4VbexYyQclTZRBbrKIkgpTWHx8eUEpvq6ckcZ4pV1V\n\tcoH5JQPt4PKrMVcnAkjG9Q9lWpKUybfqIlg/3SiXConnYODXNJYWc0Q3CbtnQttSPb\n\twUZCbl4vTkuIila2msVN+AfhRXHF3DHQqvo5PXXw=","Date":"Tue, 31 Aug 2021 11:24:14 +0900","From":"Paul Elder <paul.elder@ideasonboard.com>","To":"Jacopo Mondi <jacopo@jmondi.org>","Message-ID":"<20210831022414.GI20879@jade.amanokami.net>","References":"<20210827120757.110615-1-jacopo@jmondi.org>\n\t<20210827120757.110615-8-jacopo@jmondi.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20210827120757.110615-8-jacopo@jmondi.org>","Subject":"Re: [libcamera-devel] [PATCH 07/16] android: capabilities: Use\n\tper-configuration durations","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>","Cc":"libcamera-devel@lists.libcamera.org","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":19247,"web_url":"https://patchwork.libcamera.org/comment/19247/","msgid":"<90494981-a97c-397c-f93b-aedb684f52d5@ideasonboard.com>","date":"2021-09-01T07:51:17","subject":"Re: [libcamera-devel] [PATCH 07/16] android: capabilities: Use\n\tper-configuration durations","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Jacopo,\n\n\nOn 8/27/21 5:37 PM, Jacopo Mondi wrote:\n> Use the per-configuration stream durations as collected during\n> initializeStreamConfigurations() to populate the\n> ANDROID_SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT static metadata.\n>\n> Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>\n> ---\n>   src/android/camera_capabilities.cpp | 21 +++++++++------------\n>   1 file changed, 9 insertions(+), 12 deletions(-)\n>\n> diff --git a/src/android/camera_capabilities.cpp b/src/android/camera_capabilities.cpp\n> index c45d74189aaa..061e65241806 100644\n> --- a/src/android/camera_capabilities.cpp\n> +++ b/src/android/camera_capabilities.cpp\n> @@ -1269,19 +1269,16 @@ int CameraCapabilities::initializeStaticMetadata()\n>   \tstaticMetadata_->addEntry(ANDROID_SCALER_AVAILABLE_STALL_DURATIONS,\n>   \t\t\t\t  availableStallDurations);\n>   \n> -\t/* Use the minimum frame duration for all the YUV/RGB formats. */\n> -\tif (minFrameDurationNsec > 0) {\n> -\t\tstd::vector<int64_t> minFrameDurations;\n> -\t\tminFrameDurations.reserve(streamConfigurations_.size() * 4);\n> -\t\tfor (const auto &entry : streamConfigurations_) {\n> -\t\t\tminFrameDurations.push_back(entry.androidFormat);\n> -\t\t\tminFrameDurations.push_back(entry.resolution.width);\n> -\t\t\tminFrameDurations.push_back(entry.resolution.height);\n> -\t\t\tminFrameDurations.push_back(minFrameDurationNsec);\n> -\t\t}\n> -\t\tstaticMetadata_->addEntry(ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS,\n> -\t\t\t\t\t  minFrameDurations);\n> +\tstd::vector<int64_t> minFrameDurations;\n> +\tminFrameDurations.reserve(streamConfigurations_.size() * 4);\n> +\tfor (const auto &entry : streamConfigurations_) {\n> +\t\tminFrameDurations.push_back(entry.androidFormat);\n> +\t\tminFrameDurations.push_back(entry.resolution.width);\n> +\t\tminFrameDurations.push_back(entry.resolution.height);\n> +\t\tminFrameDurations.push_back(entry.minFrameDurationNsec);\n\n\nNice, was expecting this somewhere down the line\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n\n>   \t}\n> +\tstaticMetadata_->addEntry(ANDROID_SCALER_AVAILABLE_MIN_FRAME_DURATIONS,\n> +\t\t\t\t  minFrameDurations);\n>   \n>   \tuint8_t croppingType = ANDROID_SCALER_CROPPING_TYPE_CENTER_ONLY;\n>   \tstaticMetadata_->addEntry(ANDROID_SCALER_CROPPING_TYPE, croppingType);","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 59B70BD87D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  1 Sep 2021 07:51:24 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id CD2016916A;\n\tWed,  1 Sep 2021 09:51:23 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 404A160253\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  1 Sep 2021 09:51:22 +0200 (CEST)","from [192.168.1.104] (unknown [103.251.226.107])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 4A7B83D7;\n\tWed,  1 Sep 2021 09:51:21 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"f+7t9SGD\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1630482681;\n\tbh=99+v0d2nljB4cU7gMC9xsiCfJDotK4+/l+A1N+r+pyI=;\n\th=Subject:To:References:From:Date:In-Reply-To:From;\n\tb=f+7t9SGDW/TEQxMND8I0QtADeaur+6wKkCWgAleXpfkQYPuyLadfFBA2hbKe96FW2\n\tC53c9Laqj0siTGgwTIVBJCWs+TdA/p+oQvKApOoGzN8h+0QgCQicPFrgGCucZtFG7f\n\tzWm31w8hdM0GAyDdgnaJQB21pCSxVcMXp9TBQWME=","To":"Jacopo Mondi <jacopo@jmondi.org>, libcamera-devel@lists.libcamera.org","References":"<20210827120757.110615-1-jacopo@jmondi.org>\n\t<20210827120757.110615-8-jacopo@jmondi.org>","From":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<90494981-a97c-397c-f93b-aedb684f52d5@ideasonboard.com>","Date":"Wed, 1 Sep 2021 13:21:17 +0530","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.10.2","MIME-Version":"1.0","In-Reply-To":"<20210827120757.110615-8-jacopo@jmondi.org>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH 07/16] android: capabilities: Use\n\tper-configuration durations","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>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]