[{"id":17370,"web_url":"https://patchwork.libcamera.org/comment/17370/","msgid":"<YLbbQaSV/fqbkLI4@pendragon.ideasonboard.com>","date":"2021-06-02T01:13:37","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Umang,\n\nThank you for the patch.\n\nOn Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n> Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS to\n> read out the value of frame duration we set in CameraDevice::getResultMetadata().\n> Failing to do so might fail the CTS test:\n>  - android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\n> \n> Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame duration\")\n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n\nLooks good to me.\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\nDo I understand that this can be applied separately from 2/2 ?\n\n> ---\n>  src/android/camera_device.cpp | 1 +\n>  1 file changed, 1 insertion(+)\n> \n> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> index fddc07ff..fe332ec3 100644\n> --- a/src/android/camera_device.cpp\n> +++ b/src/android/camera_device.cpp\n> @@ -1422,6 +1422,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n>  \t\tANDROID_REQUEST_PIPELINE_DEPTH,\n>  \t\tANDROID_SCALER_CROP_REGION,\n>  \t\tANDROID_SENSOR_EXPOSURE_TIME,\n> +\t\tANDROID_SENSOR_FRAME_DURATION,\n>  \t\tANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n>  \t\tANDROID_SENSOR_TEST_PATTERN_MODE,\n>  \t\tANDROID_SENSOR_TIMESTAMP,","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 B1ED1C3205\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 01:13:49 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2F43768922;\n\tWed,  2 Jun 2021 03:13:49 +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 9FB9C602A8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 03:13:48 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 1213050E;\n\tWed,  2 Jun 2021 03:13:48 +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=\"AeQVmmDW\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622596428;\n\tbh=1LCYCELlHIWjiv6zgvBk0x2a4Zaul7+oEiDHppj/j70=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=AeQVmmDWUx8QL3oh/++DU+/gSgn3WxaZVmg6x4lQDT6Pgp2XvMVdkfLyUrPbu2+10\n\tXHIbfffpl57ac2MNjUx4MxAEiCF9LOgoLnn9xH/ZzEb6clH9dDm9S0pyP3O6V50gnO\n\tdCSdmAD1WVgn+nyD2oznRt0SGyprMwd/8qLgPaII=","Date":"Wed, 2 Jun 2021 04:13:37 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<YLbbQaSV/fqbkLI4@pendragon.ideasonboard.com>","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20210601112456.118755-2-umang.jain@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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":17371,"web_url":"https://patchwork.libcamera.org/comment/17371/","msgid":"<136ed564-ea7c-ce4f-8c5e-8278a9612163@ideasonboard.com>","date":"2021-06-02T02:50:24","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 6/2/21 6:43 AM, Laurent Pinchart wrote:\n> Hi Umang,\n>\n> Thank you for the patch.\n>\n> On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n>> Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS to\n>> read out the value of frame duration we set in CameraDevice::getResultMetadata().\n>> Failing to do so might fail the CTS test:\n>>   - android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\n>>\n>> Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame duration\")\n>> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> Looks good to me.\n>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n> Do I understand that this can be applied separately from 2/2 ?\nAs far as I understand, yes it can be applied.\n>\n>> ---\n>>   src/android/camera_device.cpp | 1 +\n>>   1 file changed, 1 insertion(+)\n>>\n>> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n>> index fddc07ff..fe332ec3 100644\n>> --- a/src/android/camera_device.cpp\n>> +++ b/src/android/camera_device.cpp\n>> @@ -1422,6 +1422,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n>>   \t\tANDROID_REQUEST_PIPELINE_DEPTH,\n>>   \t\tANDROID_SCALER_CROP_REGION,\n>>   \t\tANDROID_SENSOR_EXPOSURE_TIME,\n>> +\t\tANDROID_SENSOR_FRAME_DURATION,\n>>   \t\tANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n>>   \t\tANDROID_SENSOR_TEST_PATTERN_MODE,\n>>   \t\tANDROID_SENSOR_TIMESTAMP,","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 7A752C3206\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 02:50:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C85A468922;\n\tWed,  2 Jun 2021 04:50:30 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 4DE48602A3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 04:50:29 +0200 (CEST)","from [192.168.0.105] (unknown [103.251.226.189])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 515FB50E;\n\tWed,  2 Jun 2021 04:50:28 +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=\"uC3ZUhgy\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622602228;\n\tbh=GF4sva6Qyx3KrIQUW9Uk1+cP7c4uxkTs6rhoUs+3lIA=;\n\th=Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=uC3ZUhgyJw0jxnuX1RhxEhuEOsIFdBCGDi/VcNrsnH3MX2hFpJ5PWgoJRS/jwRVGT\n\tOjbPA+Us98o5oDLADMLBqe8Mepz4ghXc89m0ebiq7gfSEefgr8vdyUMcVIUEzB4M70\n\tNP/LmiRWm7U13rOoO6Ah/tjLWJZ8mo0bWor8YP90=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<YLbbQaSV/fqbkLI4@pendragon.ideasonboard.com>","From":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<136ed564-ea7c-ce4f-8c5e-8278a9612163@ideasonboard.com>","Date":"Wed, 2 Jun 2021 08:20:24 +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":"<YLbbQaSV/fqbkLI4@pendragon.ideasonboard.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Transfer-Encoding":"7bit","Content-Language":"en-US","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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":17372,"web_url":"https://patchwork.libcamera.org/comment/17372/","msgid":"<20210602032854.GC1929@pyrite.rasen.tech>","date":"2021-06-02T03:28:54","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Umang,\n\nOn Wed, Jun 02, 2021 at 08:20:24AM +0530, Umang Jain wrote:\n> Hi Laurent,\n> \n> On 6/2/21 6:43 AM, Laurent Pinchart wrote:\n> > Hi Umang,\n> > \n> > Thank you for the patch.\n> > \n> > On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n> > > Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS to\n> > > read out the value of frame duration we set in CameraDevice::getResultMetadata().\n> > > Failing to do so might fail the CTS test:\n> > >   - android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\n> > > \n> > > Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame duration\")\n\nSorry about that oversight :/\nI'm not sure how I missed this in the first place.\n\n> > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n\nReviewed-by: Paul Elder <paul.elder@ideasonboard.com>\n\n> > Looks good to me.\n> > \n> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n> > \n> > Do I understand that this can be applied separately from 2/2 ?\n> As far as I understand, yes it can be applied.\n\n\nYeah it can go in on its own :D\n\n> > \n> > > ---\n> > >   src/android/camera_device.cpp | 1 +\n> > >   1 file changed, 1 insertion(+)\n> > > \n> > > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> > > index fddc07ff..fe332ec3 100644\n> > > --- a/src/android/camera_device.cpp\n> > > +++ b/src/android/camera_device.cpp\n> > > @@ -1422,6 +1422,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n> > >   \t\tANDROID_REQUEST_PIPELINE_DEPTH,\n> > >   \t\tANDROID_SCALER_CROP_REGION,\n> > >   \t\tANDROID_SENSOR_EXPOSURE_TIME,\n> > > +\t\tANDROID_SENSOR_FRAME_DURATION,\n> > >   \t\tANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n> > >   \t\tANDROID_SENSOR_TEST_PATTERN_MODE,\n> > >   \t\tANDROID_SENSOR_TIMESTAMP,","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 7AAA7C3205\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 03:29:04 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E2FB368924;\n\tWed,  2 Jun 2021 05:29:03 +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 935CB602A3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 05:29:02 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B59C9BAE;\n\tWed,  2 Jun 2021 05:29:00 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"Mf5+8ykg\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622604542;\n\tbh=lhp58LQfPdRLFkuFgevU2BVNrI8sr12ilDZaOpVkRCg=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Mf5+8ykgeQtMtIgySflozi8ovj6FuUolNjqZPbPSeUr2UzDcgaBlgSZSAvfyKEA1P\n\tn2GWFeNx/eW8MBQG1SkqYfKnw5zcPxX/uHwukl0VGXbm1dMC2jsYVXIG3BeJRr+vZC\n\t1/Usq9xOnXeZrrdoCpNYId1MXRnHJVFv4WMFrNuc=","Date":"Wed, 2 Jun 2021 12:28:54 +0900","From":"paul.elder@ideasonboard.com","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<20210602032854.GC1929@pyrite.rasen.tech>","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<YLbbQaSV/fqbkLI4@pendragon.ideasonboard.com>\n\t<136ed564-ea7c-ce4f-8c5e-8278a9612163@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<136ed564-ea7c-ce4f-8c5e-8278a9612163@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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":17373,"web_url":"https://patchwork.libcamera.org/comment/17373/","msgid":"<20210602033021.GD1929@pyrite.rasen.tech>","date":"2021-06-02T03:30:21","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Umang,\n\nOn Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n> Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS to\n\ns/available key/available result key/\n\nIt's also a valid request key, and this patch doesn't add that, so I\nthink it should be specified (also in the subject).\n\n\nPaul\n\n> read out the value of frame duration we set in CameraDevice::getResultMetadata().\n> Failing to do so might fail the CTS test:\n>  - android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\n> \n> Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame duration\")\n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>  src/android/camera_device.cpp | 1 +\n>  1 file changed, 1 insertion(+)\n> \n> diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> index fddc07ff..fe332ec3 100644\n> --- a/src/android/camera_device.cpp\n> +++ b/src/android/camera_device.cpp\n> @@ -1422,6 +1422,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n>  \t\tANDROID_REQUEST_PIPELINE_DEPTH,\n>  \t\tANDROID_SCALER_CROP_REGION,\n>  \t\tANDROID_SENSOR_EXPOSURE_TIME,\n> +\t\tANDROID_SENSOR_FRAME_DURATION,\n>  \t\tANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n>  \t\tANDROID_SENSOR_TEST_PATTERN_MODE,\n>  \t\tANDROID_SENSOR_TIMESTAMP,\n> -- \n> 2.31.1\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 A4EF2C3205\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 03:30:31 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 645FE68924;\n\tWed,  2 Jun 2021 05:30:31 +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 6F61C602A3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 05:30:29 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id EEE8C4A5;\n\tWed,  2 Jun 2021 05:30:27 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"P/W5jSTm\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622604629;\n\tbh=JjTS2ddbB6gXymscEQ22oFROqliS3w3oCOmEqofmbJo=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=P/W5jSTmYPclKGmNppEu5xQ4B5DB7Ljdvkqb3NTa45tdDqBVDgfp7er90xzx9ihSu\n\tZGnj4vZ1dKxnyo5pBLdRSgiNpa9+vhZTEofDvsc7gJklhh6SxyKEpA4ke/nlJK5Qib\n\tRn3T5N9CNFU4s0eV+LrHNg+XLS+Ay7IeT0U1QANE=","Date":"Wed, 2 Jun 2021 12:30:21 +0900","From":"paul.elder@ideasonboard.com","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<20210602033021.GD1929@pyrite.rasen.tech>","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20210601112456.118755-2-umang.jain@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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":17374,"web_url":"https://patchwork.libcamera.org/comment/17374/","msgid":"<20210602033224.GE1929@pyrite.rasen.tech>","date":"2021-06-02T03:32:24","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"On Wed, Jun 02, 2021 at 12:30:21PM +0900, paul.elder@ideasonboard.com wrote:\n> Hi Umang,\n> \n> On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n> > Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS to\n> \n> s/available key/available result key/\n> \n> It's also a valid request key, and this patch doesn't add that, so I\n> think it should be specified (also in the subject).\n\nBy \"specified\" I mean that \"result\" should be specified.\n\nAs for the subject, s/key/result key/\n\n\nPaul\n\n> \n> > read out the value of frame duration we set in CameraDevice::getResultMetadata().\n> > Failing to do so might fail the CTS test:\n> >  - android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\n> > \n> > Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame duration\")\n> > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> > ---\n> >  src/android/camera_device.cpp | 1 +\n> >  1 file changed, 1 insertion(+)\n> > \n> > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> > index fddc07ff..fe332ec3 100644\n> > --- a/src/android/camera_device.cpp\n> > +++ b/src/android/camera_device.cpp\n> > @@ -1422,6 +1422,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n> >  \t\tANDROID_REQUEST_PIPELINE_DEPTH,\n> >  \t\tANDROID_SCALER_CROP_REGION,\n> >  \t\tANDROID_SENSOR_EXPOSURE_TIME,\n> > +\t\tANDROID_SENSOR_FRAME_DURATION,\n> >  \t\tANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n> >  \t\tANDROID_SENSOR_TEST_PATTERN_MODE,\n> >  \t\tANDROID_SENSOR_TIMESTAMP,\n> > -- \n> > 2.31.1\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 6FCD7C3206\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 03:32:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DF3DB68922;\n\tWed,  2 Jun 2021 05:32:33 +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 4430F602A3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 05:32:32 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 98430BAE;\n\tWed,  2 Jun 2021 05:32:30 +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=\"Ygnp6h+R\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622604751;\n\tbh=KMeEPNUduuRNFGmGlTNw2C6Y8ahTB5bc8zAQz43ia/M=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=Ygnp6h+RYcYI1roIQ8uOSijlp+spYn3gyN7/kW3ANp/S249l/dg4O98A3j8cvCj9w\n\tlBnm/IDIn9SB3ylbJaD9dk/inBOngzqe5ZMuLp/lW3S+F9yXppc75SOYp73gOO9giD\n\t7udOEVL31BpizwpQqW0pjb5eWXPMPXUMOeXklXwY=","Date":"Wed, 2 Jun 2021 12:32:24 +0900","From":"paul.elder@ideasonboard.com","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<20210602033224.GE1929@pyrite.rasen.tech>","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<20210602033021.GD1929@pyrite.rasen.tech>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20210602033021.GD1929@pyrite.rasen.tech>","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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":17376,"web_url":"https://patchwork.libcamera.org/comment/17376/","msgid":"<CAO5uPHP7eatihiGPqEgrMYpAvAuqLE-tHhk7ZyWnghbNFgfbOg@mail.gmail.com>","date":"2021-06-02T05:01:24","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Hi Paul, thank you for the patch.\n\nOn Wed, Jun 2, 2021 at 12:32 PM <paul.elder@ideasonboard.com> wrote:\n\n> On Wed, Jun 02, 2021 at 12:30:21PM +0900, paul.elder@ideasonboard.com\n> wrote:\n> > Hi Umang,\n> >\n> > On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n> > > Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS to\n> >\n> > s/available key/available result key/\n> >\n> > It's also a valid request key, and this patch doesn't add that, so I\n> > think it should be specified (also in the subject).\n>\n> By \"specified\" I mean that \"result\" should be specified.\n>\n> As for the subject, s/key/result key/\n>\n>\n> Paul\n>\n> >\n> > > read out the value of frame duration we set in\n> CameraDevice::getResultMetadata().\n> > > Failing to do so might fail the CTS test:\n> > >  -\n> android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\n> > >\n> > > Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame\n> duration\")\n> > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n>\n\nFirst, this code adds the missing request result key. So\nReviewed-by: Hirokazu Honda <hiroh@chromium.org>\n\nHowever, although this is not necessarily related to this change, I wonder\nif those available keys should be there if and only if an entry with the\nkey is actually added.\nCould you run android.hardware.camera2.cts.CaptureResultTest while some\nentry is dropped and the entry is in available keys?\n\n-Hiro\n\n> > ---\n> > >  src/android/camera_device.cpp | 1 +\n> > >  1 file changed, 1 insertion(+)\n> > >\n> > > diff --git a/src/android/camera_device.cpp\n> b/src/android/camera_device.cpp\n> > > index fddc07ff..fe332ec3 100644\n> > > --- a/src/android/camera_device.cpp\n> > > +++ b/src/android/camera_device.cpp\n> > > @@ -1422,6 +1422,7 @@ const camera_metadata_t\n> *CameraDevice::getStaticMetadata()\n> > >             ANDROID_REQUEST_PIPELINE_DEPTH,\n> > >             ANDROID_SCALER_CROP_REGION,\n> > >             ANDROID_SENSOR_EXPOSURE_TIME,\n> > > +           ANDROID_SENSOR_FRAME_DURATION,\n> > >             ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n> > >             ANDROID_SENSOR_TEST_PATTERN_MODE,\n> > >             ANDROID_SENSOR_TIMESTAMP,\n> > > --\n> > > 2.31.1\n> > >\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 21D81C3206\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 05:01:37 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 9231E68921;\n\tWed,  2 Jun 2021 07:01:36 +0200 (CEST)","from mail-ed1-x536.google.com (mail-ed1-x536.google.com\n\t[IPv6:2a00:1450:4864:20::536])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 18566602A3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 07:01:35 +0200 (CEST)","by mail-ed1-x536.google.com with SMTP id cb9so1365154edb.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 01 Jun 2021 22:01:35 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"WY7P9mWS\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=SBRtckKd12KSHgHiLXpjSLqy279eKDCh3w+OGRBIZ7Q=;\n\tb=WY7P9mWSPQjvtuskxOOtlJhaniJRl1eDTTI3tthZ+wl23wELol1bSzQ4jTyOuWEAip\n\tEJYJTqbbPVZEOxJxHV0mGFOILY3TcUAhtzebI/6HM/thJOQeyuFJKOQz7T9QF8N8zDV5\n\t+yrjWFeKEqZvZWfbEsF/2J8eYf6XUnIdvbjro=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=SBRtckKd12KSHgHiLXpjSLqy279eKDCh3w+OGRBIZ7Q=;\n\tb=VIeHh/5M2UiHN9ZDvzcgIfT6kUr9q6u8jUonWnzNuVeozZJETzDLnevQWdmL+E+qkE\n\tWoGi7vYuTDBHMO3EooWXZHtq1V3YqAwdZqb7cWgJKHi6skP5kaSosMb5UF4HuJLAcqEB\n\tyHMYI1nPtr49+lVkn5IFoijcxOMTRy4xD9NUPaq1jqccyf9Ngk+22dmAV1ny4pGUJc4E\n\tJgvig7PSIbO3Q9UalCVhK1kZEmNV4MOOXCZaY45K/SAmx9fXUE54jd2N8vgYYduXYhFw\n\tKOlbSVvT+zDEdI+zbTPpcu5X+dFUp/WHppvd2DD+zoE5zN4EBec/oYLFFwcJFLv4HFyq\n\tMqBg==","X-Gm-Message-State":"AOAM532ByIFtsZsPBefkvZg6Qru00o7xcwB0zxvK0x3tvJL1yX4epvbz\n\t0QUBTvI6CtxpAULnjZXbLgI5xu4vgdxWO1A/WvryGg==","X-Google-Smtp-Source":"ABdhPJw295oTn+Pg3SN+S6NUBJkp9bnqyXNvuBDuUiYzoPb+Xn4GyVz/Py19Ir20yFzADqO4lq2lNKN4r1/X16Kh88I=","X-Received":"by 2002:a50:bec1:: with SMTP id\n\te1mr36674136edk.116.1622610094636; \n\tTue, 01 Jun 2021 22:01:34 -0700 (PDT)","MIME-Version":"1.0","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<20210602033021.GD1929@pyrite.rasen.tech>\n\t<20210602033224.GE1929@pyrite.rasen.tech>","In-Reply-To":"<20210602033224.GE1929@pyrite.rasen.tech>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Wed, 2 Jun 2021 14:01:24 +0900","Message-ID":"<CAO5uPHP7eatihiGPqEgrMYpAvAuqLE-tHhk7ZyWnghbNFgfbOg@mail.gmail.com>","To":"Paul Elder <paul.elder@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"0000000000004cd2dd05c3c15afc\"","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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 <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17377,"web_url":"https://patchwork.libcamera.org/comment/17377/","msgid":"<20210602063206.GG1929@pyrite.rasen.tech>","date":"2021-06-02T06:32:06","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Hiro,\n\nOn Wed, Jun 02, 2021 at 02:01:24PM +0900, Hirokazu Honda wrote:\n> Hi Paul, thank you for the patch.\n> \n> On Wed, Jun 2, 2021 at 12:32 PM <paul.elder@ideasonboard.com> wrote:\n> \n>     On Wed, Jun 02, 2021 at 12:30:21PM +0900, paul.elder@ideasonboard.com\n>     wrote:\n>     > Hi Umang,\n>     >\n>     > On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n>     > > Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS to\n>     >\n>     > s/available key/available result key/\n>     >\n>     > It's also a valid request key, and this patch doesn't add that, so I\n>     > think it should be specified (also in the subject).\n> \n>     By \"specified\" I mean that \"result\" should be specified.\n> \n>     As for the subject, s/key/result key/\n> \n> \n>     Paul\n> \n>     >\n>     > > read out the value of frame duration we set in\n>     CameraDevice::getResultMetadata().\n>     > > Failing to do so might fail the CTS test:\n>     > >  - android.hardware.camera2.cts.CaptureRequestTest#\n>     testNoiseReductionModeControl\n>     > >\n>     > > Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame\n>     duration\")\n>     > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> \n> \n> First, this code adds the missing request result key. So\n> Reviewed-by: Hirokazu Honda <hiroh@chromium.org>\n> \n> However, although this is not necessarily related to this change, I wonder if\n> those available keys should be there if and only if an entry with the key is\n> actually added.\n\nI think you're right. We might need to rethink where the keys and values\ncome from :/\n\nI guess if we declare that we support some key then the application\ncan expect that it's always present.\n\n> Could you run android.hardware.camera2.cts.CaptureResultTest while some entry\n> is dropped and the entry is in available keys?\n\nandroid.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\nfails complaining that the key that it expects to be present is not. The\nother tests don't seem to care.\n\n\nPaul\n\n> \n>     > > ---\n>     > >  src/android/camera_device.cpp | 1 +\n>     > >  1 file changed, 1 insertion(+)\n>     > >\n>     > > diff --git a/src/android/camera_device.cpp b/src/android/\n>     camera_device.cpp\n>     > > index fddc07ff..fe332ec3 100644\n>     > > --- a/src/android/camera_device.cpp\n>     > > +++ b/src/android/camera_device.cpp\n>     > > @@ -1422,6 +1422,7 @@ const camera_metadata_t\n>     *CameraDevice::getStaticMetadata()\n>     > >             ANDROID_REQUEST_PIPELINE_DEPTH,\n>     > >             ANDROID_SCALER_CROP_REGION,\n>     > >             ANDROID_SENSOR_EXPOSURE_TIME,\n>     > > +           ANDROID_SENSOR_FRAME_DURATION,\n>     > >             ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n>     > >             ANDROID_SENSOR_TEST_PATTERN_MODE,\n>     > >             ANDROID_SENSOR_TIMESTAMP,\n>     > > --\n>     > > 2.31.1\n>     > >\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 28789C3208\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 06:32:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 70E7E68923;\n\tWed,  2 Jun 2021 08:32:15 +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 7CE0D602A3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 08:32:14 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5F5C24A5;\n\tWed,  2 Jun 2021 08:32:12 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"NlyxQ89h\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622615534;\n\tbh=pRjmgpXmIMO+0YMZkRr7hm1U0FdeXeYfNP5FC5oDWRQ=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=NlyxQ89hlCmqEs5vACMhDIR/Rh1zbW7K7kRskRBMb2McGvIeYkdgmskQ2i4L7h8sa\n\tKGZQXCpxVIEGm4WNXoXvukb7k5qjw4PHW2PrAk9NvAMOJJkbzm0IL4MXxN9hhYeXMY\n\tBrVCiMjiFNl5Dv0fS/W/6TtON+u1hDBNvel8kQsQ=","Date":"Wed, 2 Jun 2021 15:32:06 +0900","From":"paul.elder@ideasonboard.com","To":"Hirokazu Honda <hiroh@chromium.org>","Message-ID":"<20210602063206.GG1929@pyrite.rasen.tech>","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<20210602033021.GD1929@pyrite.rasen.tech>\n\t<20210602033224.GE1929@pyrite.rasen.tech>\n\t<CAO5uPHP7eatihiGPqEgrMYpAvAuqLE-tHhk7ZyWnghbNFgfbOg@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<CAO5uPHP7eatihiGPqEgrMYpAvAuqLE-tHhk7ZyWnghbNFgfbOg@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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 <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17378,"web_url":"https://patchwork.libcamera.org/comment/17378/","msgid":"<CAO5uPHO0oRN4bT8iKkSiwqb9TZ14=wfbta3AQQM7yXkmNtRPfQ@mail.gmail.com>","date":"2021-06-02T07:57:58","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Hi Paul,\n\nOn Wed, Jun 2, 2021 at 3:32 PM <paul.elder@ideasonboard.com> wrote:\n\n> Hi Hiro,\n>\n> On Wed, Jun 02, 2021 at 02:01:24PM +0900, Hirokazu Honda wrote:\n> > Hi Paul, thank you for the patch.\n> >\n> > On Wed, Jun 2, 2021 at 12:32 PM <paul.elder@ideasonboard.com> wrote:\n> >\n> >     On Wed, Jun 02, 2021 at 12:30:21PM +0900,\n> paul.elder@ideasonboard.com\n> >     wrote:\n> >     > Hi Umang,\n> >     >\n> >     > On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n> >     > > Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS\n> to\n> >     >\n> >     > s/available key/available result key/\n> >     >\n> >     > It's also a valid request key, and this patch doesn't add that, so\n> I\n> >     > think it should be specified (also in the subject).\n> >\n> >     By \"specified\" I mean that \"result\" should be specified.\n> >\n> >     As for the subject, s/key/result key/\n> >\n> >\n> >     Paul\n> >\n> >     >\n> >     > > read out the value of frame duration we set in\n> >     CameraDevice::getResultMetadata().\n> >     > > Failing to do so might fail the CTS test:\n> >     > >  - android.hardware.camera2.cts.CaptureRequestTest#\n> >     testNoiseReductionModeControl\n> >     > >\n> >     > > Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame\n> >     duration\")\n> >     > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> >\n> >\n> > First, this code adds the missing request result key. So\n> > Reviewed-by: Hirokazu Honda <hiroh@chromium.org>\n> >\n> > However, although this is not necessarily related to this change, I\n> wonder if\n> > those available keys should be there if and only if an entry with the\n> key is\n> > actually added.\n>\n> I think you're right. We might need to rethink where the keys and values\n> come from :/\n>\n> I guess if we declare that we support some key then the application\n> can expect that it's always present.\n>\n>\nI wonder if we should dynamically construct the available keys upon\nCameraMetadata::get() from keys that have been added.\nWe should look up the hard-code tables, if there is no smart way, to find\nwhat each key is added to, ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS,\nANDROID_REQUEST_AVAILABLE_RESULT_KEYS or\nANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS.\n\n-Hiro\n\n> > Could you run android.hardware.camera2.cts.CaptureResultTest while some\n> entry\n> > is dropped and the entry is in available keys?\n>\n>\n> android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\n> fails complaining that the key that it expects to be present is not. The\n> other tests don't seem to care.\n>\n>\n> Paul\n>\n> >\n> >     > > ---\n> >     > >  src/android/camera_device.cpp | 1 +\n> >     > >  1 file changed, 1 insertion(+)\n> >     > >\n> >     > > diff --git a/src/android/camera_device.cpp b/src/android/\n> >     camera_device.cpp\n> >     > > index fddc07ff..fe332ec3 100644\n> >     > > --- a/src/android/camera_device.cpp\n> >     > > +++ b/src/android/camera_device.cpp\n> >     > > @@ -1422,6 +1422,7 @@ const camera_metadata_t\n> >     *CameraDevice::getStaticMetadata()\n> >     > >             ANDROID_REQUEST_PIPELINE_DEPTH,\n> >     > >             ANDROID_SCALER_CROP_REGION,\n> >     > >             ANDROID_SENSOR_EXPOSURE_TIME,\n> >     > > +           ANDROID_SENSOR_FRAME_DURATION,\n> >     > >             ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n> >     > >             ANDROID_SENSOR_TEST_PATTERN_MODE,\n> >     > >             ANDROID_SENSOR_TIMESTAMP,\n> >     > > --\n> >     > > 2.31.1\n> >     > >\n> >\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 364F3C3206\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 07:58:12 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 63C3768924;\n\tWed,  2 Jun 2021 09:58:11 +0200 (CEST)","from mail-ed1-x529.google.com (mail-ed1-x529.google.com\n\t[IPv6:2a00:1450:4864:20::529])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id BE937602A7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 09:58:09 +0200 (CEST)","by mail-ed1-x529.google.com with SMTP id u24so1766679edy.11\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 02 Jun 2021 00:58:09 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"QG5Xnsk9\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=uZQuAvxrtjQwxpz8cRR8BSmyjs2XQ0XqpTJP3MbQAQg=;\n\tb=QG5Xnsk99oJFaFd9tOvutNaD7XZkwvYNtRzIUyb2sWFD6xqm2MU6+beh6L8lqVcDQw\n\tNx2e15XO5uMlxiP6n1mQmTwkeG7atAvhdhhyfwUe2w41QRysj7jNqMtxI70OSVUuvKAq\n\tENa8c6ud7BjccAVeJsrchoYJgz++v/X7eArUw=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=uZQuAvxrtjQwxpz8cRR8BSmyjs2XQ0XqpTJP3MbQAQg=;\n\tb=X3EM5Cn3Lf3xeWJbG8KBRwIa/31RUxzLg7Sw+oSvNQKGpfQXpMe7wdZsdIvljREe3Z\n\tPk2VZouX2CPQ5+/xJnlnIPEgopnIvklbr0bZkMNHbfYwoBqJ1cBloEH6kmmiFInKCPj8\n\txNrMm/WSiHsJeTAJkPu5YXdhk23l4KpWn4HfRmC1B5exvQJc67zObHZYMKCury8Aj1H4\n\tTlvUvp3cG2csfG7H9A/gN/45uuPPjun+yHkEKoh8EUUEtiTfp7J+8cQuhvIazm2e+Jom\n\tAgaFmaAJepezdes/PYKGqQcEETYWi5bUxb+boTotUsVL6byGq8a8ch10vlteSoIhOp7+\n\t8sFg==","X-Gm-Message-State":"AOAM5315jPI6e854a1dpcK+07/xjZPpniB5esxpN6uCQv5IDIFYyw+rB\n\tjWKhFJYK9MfPAHAJ9soSZgJYx6w2UhZq/x4GIwWQHg==","X-Google-Smtp-Source":"ABdhPJxPeyVdJ2QZ1UhUwI+hZUyzh5+P3Lkq1QmMK4OC3Oz4a5WviePCOUY7Vr+AD9DfDX0Lk8YO5Zlao108KxKANNQ=","X-Received":"by 2002:a50:afa3:: with SMTP id\n\th32mr36954679edd.202.1622620689356; \n\tWed, 02 Jun 2021 00:58:09 -0700 (PDT)","MIME-Version":"1.0","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<20210602033021.GD1929@pyrite.rasen.tech>\n\t<20210602033224.GE1929@pyrite.rasen.tech>\n\t<CAO5uPHP7eatihiGPqEgrMYpAvAuqLE-tHhk7ZyWnghbNFgfbOg@mail.gmail.com>\n\t<20210602063206.GG1929@pyrite.rasen.tech>","In-Reply-To":"<20210602063206.GG1929@pyrite.rasen.tech>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Wed, 2 Jun 2021 16:57:58 +0900","Message-ID":"<CAO5uPHO0oRN4bT8iKkSiwqb9TZ14=wfbta3AQQM7yXkmNtRPfQ@mail.gmail.com>","To":"Paul Elder <paul.elder@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000cb6a8905c3c3d1ea\"","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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 <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17380,"web_url":"https://patchwork.libcamera.org/comment/17380/","msgid":"<20210602095227.GI1929@pyrite.rasen.tech>","date":"2021-06-02T09:52:27","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":17,"url":"https://patchwork.libcamera.org/api/people/17/","name":"Paul Elder","email":"paul.elder@ideasonboard.com"},"content":"Hi Hiro,\n\nOn Wed, Jun 02, 2021 at 04:57:58PM +0900, Hirokazu Honda wrote:\n> Hi Paul,\n> \n> On Wed, Jun 2, 2021 at 3:32 PM <paul.elder@ideasonboard.com> wrote:\n> \n>     Hi Hiro,\n> \n>     On Wed, Jun 02, 2021 at 02:01:24PM +0900, Hirokazu Honda wrote:\n>     > Hi Paul, thank you for the patch.\n>     >\n>     > On Wed, Jun 2, 2021 at 12:32 PM <paul.elder@ideasonboard.com> wrote:\n>     >\n>     >     On Wed, Jun 02, 2021 at 12:30:21PM +0900, paul.elder@ideasonboard.com\n>     >     wrote:\n>     >     > Hi Umang,\n>     >     >\n>     >     > On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n>     >     > > Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS\n>     to\n>     >     >\n>     >     > s/available key/available result key/\n>     >     >\n>     >     > It's also a valid request key, and this patch doesn't add that, so\n>     I\n>     >     > think it should be specified (also in the subject).\n>     >\n>     >     By \"specified\" I mean that \"result\" should be specified.\n>     >\n>     >     As for the subject, s/key/result key/\n>     >\n>     >\n>     >     Paul\n>     >\n>     >     >\n>     >     > > read out the value of frame duration we set in\n>     >     CameraDevice::getResultMetadata().\n>     >     > > Failing to do so might fail the CTS test:\n>     >     > >  - android.hardware.camera2.cts.CaptureRequestTest#\n>     >     testNoiseReductionModeControl\n>     >     > >\n>     >     > > Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame\n>     >     duration\")\n>     >     > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n>     >\n>     >\n>     > First, this code adds the missing request result key. So\n>     > Reviewed-by: Hirokazu Honda <hiroh@chromium.org>\n>     >\n>     > However, although this is not necessarily related to this change, I\n>     wonder if\n>     > those available keys should be there if and only if an entry with the key\n>     is\n>     > actually added.\n> \n>     I think you're right. We might need to rethink where the keys and values\n>     come from :/\n> \n>     I guess if we declare that we support some key then the application\n>     can expect that it's always present.\n> \n> \n> \n> I wonder if we should dynamically construct the available keys upon\n> CameraMetadata::get() from keys that have been added.\n\nThe static metadata is constructed and returned way before any result\nmetadata is ever returned though.\n\nI'm currently redesigning how we populate the static metadata based on\nCamera capabilities (eg. what libcamera controls the camera supports).\nIt'll probably also connect into what we return in the result metadata,\nand what we accept in the request metadata. These both will of course\naffect the available keys that we report in the static metadata.\nI'll keep this in mind in the redesign.\n\n\nPaul\n\n> We should look up the hard-code tables, if there is no smart way, to find what\n> each key is added to, ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS,\n> ANDROID_REQUEST_AVAILABLE_RESULT_KEYS or\n> ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS.\n> \n> -Hiro\n> \n>     > Could you run android.hardware.camera2.cts.CaptureResultTest while some\n>     entry\n>     > is dropped and the entry is in available keys?\n> \n>     android.hardware.camera2.cts.CaptureRequestTest#\n>     testNoiseReductionModeControl\n>     fails complaining that the key that it expects to be present is not. The\n>     other tests don't seem to care.\n> \n> \n>     Paul\n> \n>     >\n>     >     > > ---\n>     >     > >  src/android/camera_device.cpp | 1 +\n>     >     > >  1 file changed, 1 insertion(+)\n>     >     > >\n>     >     > > diff --git a/src/android/camera_device.cpp b/src/android/\n>     >     camera_device.cpp\n>     >     > > index fddc07ff..fe332ec3 100644\n>     >     > > --- a/src/android/camera_device.cpp\n>     >     > > +++ b/src/android/camera_device.cpp\n>     >     > > @@ -1422,6 +1422,7 @@ const camera_metadata_t\n>     >     *CameraDevice::getStaticMetadata()\n>     >     > >             ANDROID_REQUEST_PIPELINE_DEPTH,\n>     >     > >             ANDROID_SCALER_CROP_REGION,\n>     >     > >             ANDROID_SENSOR_EXPOSURE_TIME,\n>     >     > > +           ANDROID_SENSOR_FRAME_DURATION,\n>     >     > >             ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n>     >     > >             ANDROID_SENSOR_TEST_PATTERN_MODE,\n>     >     > >             ANDROID_SENSOR_TIMESTAMP,\n>     >     > > --\n>     >     > > 2.31.1\n>     >     > >\n>     >\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 97E53C3206\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 09:52:37 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 14B91602AF;\n\tWed,  2 Jun 2021 11:52:37 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 93088602A7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 11:52:35 +0200 (CEST)","from pyrite.rasen.tech (unknown\n\t[IPv6:2400:4051:61:600:2c71:1b79:d06d:5032])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id AE0A04A5;\n\tWed,  2 Jun 2021 11:52:33 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"G5Tem5z6\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622627555;\n\tbh=7UIxgnG9X+z25qNPmfpa0/nPfdoTN93T4j6AH7Knlu8=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=G5Tem5z6vpnAb1xGeqwb3JmJmLMj/DrOa5GZOA8AtR1lmMDpLrkg3MHG0CfXfVFvF\n\tXDa4UuPFoSqcA2xh8V68SNGi/iu8H38fNMSe8FP3J3cn8PKbYMGBxafSnM4Ip8Tcdo\n\t3laQJEa9VpuBFIfr85Eg5EA6GM11Q91KPzNaT2dY=","Date":"Wed, 2 Jun 2021 18:52:27 +0900","From":"paul.elder@ideasonboard.com","To":"Hirokazu Honda <hiroh@chromium.org>","Message-ID":"<20210602095227.GI1929@pyrite.rasen.tech>","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<20210602033021.GD1929@pyrite.rasen.tech>\n\t<20210602033224.GE1929@pyrite.rasen.tech>\n\t<CAO5uPHP7eatihiGPqEgrMYpAvAuqLE-tHhk7ZyWnghbNFgfbOg@mail.gmail.com>\n\t<20210602063206.GG1929@pyrite.rasen.tech>\n\t<CAO5uPHO0oRN4bT8iKkSiwqb9TZ14=wfbta3AQQM7yXkmNtRPfQ@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=iso-8859-1","Content-Disposition":"inline","Content-Transfer-Encoding":"8bit","In-Reply-To":"<CAO5uPHO0oRN4bT8iKkSiwqb9TZ14=wfbta3AQQM7yXkmNtRPfQ@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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 <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17390,"web_url":"https://patchwork.libcamera.org/comment/17390/","msgid":"<YLfKhSbR55+iqqW6@pendragon.ideasonboard.com>","date":"2021-06-02T18:14:29","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Hiro,\n\nOn Wed, Jun 02, 2021 at 02:01:24PM +0900, Hirokazu Honda wrote:\n> On Wed, Jun 2, 2021 at 12:32 PM <paul.elder@ideasonboard.com> wrote:\n> > On Wed, Jun 02, 2021 at 12:30:21PM +0900, paul.elder@ideasonboard.com  wrote:\n> > > On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n> > > > Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS to\n> > >\n> > > s/available key/available result key/\n> > >\n> > > It's also a valid request key, and this patch doesn't add that, so I\n> > > think it should be specified (also in the subject).\n> >\n> > By \"specified\" I mean that \"result\" should be specified.\n> >\n> > As for the subject, s/key/result key/\n> >\n> > > > read out the value of frame duration we set in CameraDevice::getResultMetadata().\n> > > > Failing to do so might fail the CTS test:\n> > > >  - android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\n> > > >\n> > > > Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame duration\")\n> > > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> \n> First, this code adds the missing request result key. So\n> Reviewed-by: Hirokazu Honda <hiroh@chromium.org>\n> \n> However, although this is not necessarily related to this change, I wonder\n> if those available keys should be there if and only if an entry with the\n> key is actually added.\n\nGenerally speaking, we should only report available result keys that the\ncamera can provide, yes. In this particular case however, I think we\nshould make the frame duration mandatory for cameras to report, so we\ncan hardcode ANDROID_SENSOR_FRAME_DURATION.\n\n> Could you run android.hardware.camera2.cts.CaptureResultTest while some\n> entry is dropped and the entry is in available keys?\n> \n> > > ---\n> > > >  src/android/camera_device.cpp | 1 +\n> > > >  1 file changed, 1 insertion(+)\n> > > >\n> > > > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> > > > index fddc07ff..fe332ec3 100644\n> > > > --- a/src/android/camera_device.cpp\n> > > > +++ b/src/android/camera_device.cpp\n> > > > @@ -1422,6 +1422,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n> > > >             ANDROID_REQUEST_PIPELINE_DEPTH,\n> > > >             ANDROID_SCALER_CROP_REGION,\n> > > >             ANDROID_SENSOR_EXPOSURE_TIME,\n> > > > +           ANDROID_SENSOR_FRAME_DURATION,\n> > > >             ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n> > > >             ANDROID_SENSOR_TEST_PATTERN_MODE,\n> > > >             ANDROID_SENSOR_TIMESTAMP,","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 58770C3208\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 18:14:42 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B02B36892D;\n\tWed,  2 Jun 2021 20:14:41 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E50F1602AF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 20:14:40 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 50B2ED97;\n\tWed,  2 Jun 2021 20:14:40 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"NRW0oePj\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622657680;\n\tbh=n/ty4TjRv8FeIL3LsLqEE1h2BDZ79qgvZFeodJGUUqs=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=NRW0oePjFR5OAlxZXhPsxnBiwY+O94Y+g5iG2fIN07NFji1gEF6gWVT/5Zi1xjWPa\n\tB5Agn7yZyuSd8Xff9p8jNlj+i8wUEI1/UlDmTl67GVhDJsHyEQtHdTw4FPoIkbjy6u\n\tlpNKUKL1NWRs4j0pw8wGeYeyLaEBR/TF2SxnOeAI=","Date":"Wed, 2 Jun 2021 21:14:29 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Hirokazu Honda <hiroh@chromium.org>","Message-ID":"<YLfKhSbR55+iqqW6@pendragon.ideasonboard.com>","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<20210602033021.GD1929@pyrite.rasen.tech>\n\t<20210602033224.GE1929@pyrite.rasen.tech>\n\t<CAO5uPHP7eatihiGPqEgrMYpAvAuqLE-tHhk7ZyWnghbNFgfbOg@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<CAO5uPHP7eatihiGPqEgrMYpAvAuqLE-tHhk7ZyWnghbNFgfbOg@mail.gmail.com>","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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 <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17391,"web_url":"https://patchwork.libcamera.org/comment/17391/","msgid":"<YLfe7e/LWqzV7AW/@pendragon.ideasonboard.com>","date":"2021-06-02T19:41:33","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Wed, Jun 02, 2021 at 12:32:24PM +0900, paul.elder@ideasonboard.com wrote:\n> On Wed, Jun 02, 2021 at 12:30:21PM +0900, paul.elder@ideasonboard.com wrote:\n> > On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n> > > Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS to\n> > \n> > s/available key/available result key/\n> > \n> > It's also a valid request key, and this patch doesn't add that, so I\n> > think it should be specified (also in the subject).\n> \n> By \"specified\" I mean that \"result\" should be specified.\n> \n> As for the subject, s/key/result key/\n\nPushed with an updated commit message.\n\n> > > read out the value of frame duration we set in CameraDevice::getResultMetadata().\n> > > Failing to do so might fail the CTS test:\n> > >  - android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\n> > > \n> > > Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame duration\")\n> > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> > > ---\n> > >  src/android/camera_device.cpp | 1 +\n> > >  1 file changed, 1 insertion(+)\n> > > \n> > > diff --git a/src/android/camera_device.cpp b/src/android/camera_device.cpp\n> > > index fddc07ff..fe332ec3 100644\n> > > --- a/src/android/camera_device.cpp\n> > > +++ b/src/android/camera_device.cpp\n> > > @@ -1422,6 +1422,7 @@ const camera_metadata_t *CameraDevice::getStaticMetadata()\n> > >  \t\tANDROID_REQUEST_PIPELINE_DEPTH,\n> > >  \t\tANDROID_SCALER_CROP_REGION,\n> > >  \t\tANDROID_SENSOR_EXPOSURE_TIME,\n> > > +\t\tANDROID_SENSOR_FRAME_DURATION,\n> > >  \t\tANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n> > >  \t\tANDROID_SENSOR_TEST_PATTERN_MODE,\n> > >  \t\tANDROID_SENSOR_TIMESTAMP,","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 B8EF1C3208\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  2 Jun 2021 19:41:46 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 377716891E;\n\tWed,  2 Jun 2021 21:41:46 +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 E8561602AF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  2 Jun 2021 21:41:44 +0200 (CEST)","from pendragon.ideasonboard.com (62-78-145-57.bb.dnainternet.fi\n\t[62.78.145.57])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5148FD97;\n\tWed,  2 Jun 2021 21:41:44 +0200 (CEST)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"PA7Jz+MB\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1622662904;\n\tbh=y3oV8hpiPGZTjT3byVfPhIwCqLDmD2nQ3ZAeFLSSdIg=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=PA7Jz+MBrEGu2v0lled9Gn+n0pjQyvo00BxD+SaZ5aZFBN7X9dzyO+FFm1WfT5IHi\n\tWDKTzWoRGNc88J0a52aX/QqVEm5mzZVh63Iq5KXusjRZFQQqzLhmJjusNYreMbgAlt\n\ttuwhtpReDlbTuIfuhCkUXY6W/kMrAdP2wAOcrALI=","Date":"Wed, 2 Jun 2021 22:41:33 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"paul.elder@ideasonboard.com","Message-ID":"<YLfe7e/LWqzV7AW/@pendragon.ideasonboard.com>","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<20210602033021.GD1929@pyrite.rasen.tech>\n\t<20210602033224.GE1929@pyrite.rasen.tech>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20210602033224.GE1929@pyrite.rasen.tech>","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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":17397,"web_url":"https://patchwork.libcamera.org/comment/17397/","msgid":"<CAO5uPHMHjVQ6qb0uNdVZ2CTrrxr333WTJSNSTh0t25VCwU5teA@mail.gmail.com>","date":"2021-06-04T04:56:32","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Hi Paul,\n\nOn Wed, Jun 2, 2021 at 6:52 PM <paul.elder@ideasonboard.com> wrote:\n\n> Hi Hiro,\n>\n> On Wed, Jun 02, 2021 at 04:57:58PM +0900, Hirokazu Honda wrote:\n> > Hi Paul,\n> >\n> > On Wed, Jun 2, 2021 at 3:32 PM <paul.elder@ideasonboard.com> wrote:\n> >\n> >     Hi Hiro,\n> >\n> >     On Wed, Jun 02, 2021 at 02:01:24PM +0900, Hirokazu Honda wrote:\n> >     > Hi Paul, thank you for the patch.\n> >     >\n> >     > On Wed, Jun 2, 2021 at 12:32 PM <paul.elder@ideasonboard.com>\n> wrote:\n> >     >\n> >     >     On Wed, Jun 02, 2021 at 12:30:21PM +0900,\n> paul.elder@ideasonboard.com\n> >     >     wrote:\n> >     >     > Hi Umang,\n> >     >     >\n> >     >     > On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n> >     >     > > Report ANDROID_SENSOR_FRAME_DURATION as an available key\n> for CTS\n> >     to\n> >     >     >\n> >     >     > s/available key/available result key/\n> >     >     >\n> >     >     > It's also a valid request key, and this patch doesn't add\n> that, so\n> >     I\n> >     >     > think it should be specified (also in the subject).\n> >     >\n> >     >     By \"specified\" I mean that \"result\" should be specified.\n> >     >\n> >     >     As for the subject, s/key/result key/\n> >     >\n> >     >\n> >     >     Paul\n> >     >\n> >     >     >\n> >     >     > > read out the value of frame duration we set in\n> >     >     CameraDevice::getResultMetadata().\n> >     >     > > Failing to do so might fail the CTS test:\n> >     >     > >  - android.hardware.camera2.cts.CaptureRequestTest#\n> >     >     testNoiseReductionModeControl\n> >     >     > >\n> >     >     > > Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor\n> frame\n> >     >     duration\")\n> >     >     > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> >     >\n> >     >\n> >     > First, this code adds the missing request result key. So\n> >     > Reviewed-by: Hirokazu Honda <hiroh@chromium.org>\n> >     >\n> >     > However, although this is not necessarily related to this change, I\n> >     wonder if\n> >     > those available keys should be there if and only if an entry with\n> the key\n> >     is\n> >     > actually added.\n> >\n> >     I think you're right. We might need to rethink where the keys and\n> values\n> >     come from :/\n> >\n> >     I guess if we declare that we support some key then the application\n> >     can expect that it's always present.\n> >\n> >\n> >\n> > I wonder if we should dynamically construct the available keys upon\n> > CameraMetadata::get() from keys that have been added.\n>\n> The static metadata is constructed and returned way before any result\n> metadata is ever returned though.\n>\n> I'm currently redesigning how we populate the static metadata based on\n> Camera capabilities (eg. what libcamera controls the camera supports).\n> It'll probably also connect into what we return in the result metadata,\n> and what we accept in the request metadata. These both will of course\n> affect the available keys that we report in the static metadata.\n> I'll keep this in mind in the redesign.\n>\n>\nAck. I look forward to your redesign.\n\nThanks,\n-Hiro\n\n\n>\n> Paul\n>\n> > We should look up the hard-code tables, if there is no smart way, to\n> find what\n> > each key is added to, ANDROID_REQUEST_AVAILABLE_REQUEST_KEYS,\n> > ANDROID_REQUEST_AVAILABLE_RESULT_KEYS or\n> > ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS.\n> >\n> > -Hiro\n> >\n> >     > Could you run android.hardware.camera2.cts.CaptureResultTest while\n> some\n> >     entry\n> >     > is dropped and the entry is in available keys?\n> >\n> >     android.hardware.camera2.cts.CaptureRequestTest#\n> >     testNoiseReductionModeControl\n> >     fails complaining that the key that it expects to be present is not.\n> The\n> >     other tests don't seem to care.\n> >\n> >\n> >     Paul\n> >\n> >     >\n> >     >     > > ---\n> >     >     > >  src/android/camera_device.cpp | 1 +\n> >     >     > >  1 file changed, 1 insertion(+)\n> >     >     > >\n> >     >     > > diff --git a/src/android/camera_device.cpp b/src/android/\n> >     >     camera_device.cpp\n> >     >     > > index fddc07ff..fe332ec3 100644\n> >     >     > > --- a/src/android/camera_device.cpp\n> >     >     > > +++ b/src/android/camera_device.cpp\n> >     >     > > @@ -1422,6 +1422,7 @@ const camera_metadata_t\n> >     >     *CameraDevice::getStaticMetadata()\n> >     >     > >             ANDROID_REQUEST_PIPELINE_DEPTH,\n> >     >     > >             ANDROID_SCALER_CROP_REGION,\n> >     >     > >             ANDROID_SENSOR_EXPOSURE_TIME,\n> >     >     > > +           ANDROID_SENSOR_FRAME_DURATION,\n> >     >     > >             ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n> >     >     > >             ANDROID_SENSOR_TEST_PATTERN_MODE,\n> >     >     > >             ANDROID_SENSOR_TIMESTAMP,\n> >     >     > > --\n> >     >     > > 2.31.1\n> >     >     > >\n> >     >\n> >\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 4ADE4C3206\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  4 Jun 2021 04:56:47 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8CBF668928;\n\tFri,  4 Jun 2021 06:56:46 +0200 (CEST)","from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com\n\t[IPv6:2a00:1450:4864:20::52b])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9534D602A1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  4 Jun 2021 06:56:44 +0200 (CEST)","by mail-ed1-x52b.google.com with SMTP id r11so9591653edt.13\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 03 Jun 2021 21:56:44 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"Whnk6fiY\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=ME4cSAZYwCmmAaeJfrqr+kpSYqTe9IfRLiQqQWXHp7M=;\n\tb=Whnk6fiYCatdPPa2xBcdj9umzgeq/1M4YVzcN1cCPOq/Zun/LFbXI7rn+9OV+Afcx9\n\tehNk96+JGDCnOb7fHTloolqmyLsmOxpSxey27mjSxchHDAWUKb8uw2ehfvVEIw8paiP0\n\tNB7pNMCfrCd+bcH2ogNZwjYqS32sm6R+zyAJs=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=ME4cSAZYwCmmAaeJfrqr+kpSYqTe9IfRLiQqQWXHp7M=;\n\tb=rRrYXXZuksLZ7Dw7/jvibOgIpPOc4j4jr4FS1xsIHyu3QYCzU94O8itk0TIev0fg0x\n\tNboi/Hs6HadoTYYpX9643d6arnAuIESETDc7eVOIRcJ0TYlz5igYFCVTPxYuMqVZLyMZ\n\tRFrnIvyTxcpzOFxrGbzLIY3AYu4WtAYp1wCImVBzeQkD2Y4iaUXAC4DRIQ8EEziz1+fu\n\t8ynjq+a5LZcWeuOrW0XYxiCss3hdfJPB/VFsWPjiCFtJeeRTjQa5RTNNVzV3mD8pVPOk\n\tUGY5AFUgrsE9l0csR8A3+mabmwZ960XeWym8IsumBW7yXvNoElzTkITdrm3TLbjQv5iN\n\t6Erw==","X-Gm-Message-State":"AOAM532FrR66Tgw0Sg8AQOvAFb7nZbKQYOskVuMbPBseAahdY3oaKyny\n\tRsiyHBEx/TUnzz/rvtGrpuvsFSuEvVOj9UuJq6ELpQ==","X-Google-Smtp-Source":"ABdhPJzAfP9BFmEoLq9y6RZ9qtmOttwkB6TotmzcdgfVORWlggME+IUWqTP376+16OKH71KJfOabSa0nqt4S07n/WuY=","X-Received":"by 2002:a50:bec1:: with SMTP id e1mr2789093edk.116.1622782603969;\n\tThu, 03 Jun 2021 21:56:43 -0700 (PDT)","MIME-Version":"1.0","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<20210602033021.GD1929@pyrite.rasen.tech>\n\t<20210602033224.GE1929@pyrite.rasen.tech>\n\t<CAO5uPHP7eatihiGPqEgrMYpAvAuqLE-tHhk7ZyWnghbNFgfbOg@mail.gmail.com>\n\t<20210602063206.GG1929@pyrite.rasen.tech>\n\t<CAO5uPHO0oRN4bT8iKkSiwqb9TZ14=wfbta3AQQM7yXkmNtRPfQ@mail.gmail.com>\n\t<20210602095227.GI1929@pyrite.rasen.tech>","In-Reply-To":"<20210602095227.GI1929@pyrite.rasen.tech>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Fri, 4 Jun 2021 13:56:32 +0900","Message-ID":"<CAO5uPHMHjVQ6qb0uNdVZ2CTrrxr333WTJSNSTh0t25VCwU5teA@mail.gmail.com>","To":"Paul Elder <paul.elder@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000a857b605c3e9848e\"","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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 <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}},{"id":17398,"web_url":"https://patchwork.libcamera.org/comment/17398/","msgid":"<CAO5uPHP_vrPCB00-zU6ubJ6PmDyt4Vnca0U7KH0zuhuw+Ka5oA@mail.gmail.com>","date":"2021-06-04T04:58:01","subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","submitter":{"id":63,"url":"https://patchwork.libcamera.org/api/people/63/","name":"Hirokazu Honda","email":"hiroh@chromium.org"},"content":"Hi Laurent,\n\nOn Thu, Jun 3, 2021 at 3:14 AM Laurent Pinchart <\nlaurent.pinchart@ideasonboard.com> wrote:\n\n> Hi Hiro,\n>\n> On Wed, Jun 02, 2021 at 02:01:24PM +0900, Hirokazu Honda wrote:\n> > On Wed, Jun 2, 2021 at 12:32 PM <paul.elder@ideasonboard.com> wrote:\n> > > On Wed, Jun 02, 2021 at 12:30:21PM +0900, paul.elder@ideasonboard.com\n> wrote:\n> > > > On Tue, Jun 01, 2021 at 04:54:55PM +0530, Umang Jain wrote:\n> > > > > Report ANDROID_SENSOR_FRAME_DURATION as an available key for CTS to\n> > > >\n> > > > s/available key/available result key/\n> > > >\n> > > > It's also a valid request key, and this patch doesn't add that, so I\n> > > > think it should be specified (also in the subject).\n> > >\n> > > By \"specified\" I mean that \"result\" should be specified.\n> > >\n> > > As for the subject, s/key/result key/\n> > >\n> > > > > read out the value of frame duration we set in\n> CameraDevice::getResultMetadata().\n> > > > > Failing to do so might fail the CTS test:\n> > > > >  -\n> android.hardware.camera2.cts.CaptureRequestTest#testNoiseReductionModeControl\n> > > > >\n> > > > > Fixes: 3beb1accac1d (\"android: camera_device: Fix sensor frame\n> duration\")\n> > > > > Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> >\n> > First, this code adds the missing request result key. So\n> > Reviewed-by: Hirokazu Honda <hiroh@chromium.org>\n> >\n> > However, although this is not necessarily related to this change, I\n> wonder\n> > if those available keys should be there if and only if an entry with the\n> > key is actually added.\n>\n> Generally speaking, we should only report available result keys that the\n> camera can provide, yes. In this particular case however, I think we\n> should make the frame duration mandatory for cameras to report, so we\n> can hardcode ANDROID_SENSOR_FRAME_DURATION.\n>\n>\nI agree. So I am fine to push this as-is indeed.\nThanks for merging.\n\nRegards,\n-Hiro\n\n> Could you run android.hardware.camera2.cts.CaptureResultTest while some\n> > entry is dropped and the entry is in available keys?\n> >\n> > > > ---\n> > > > >  src/android/camera_device.cpp | 1 +\n> > > > >  1 file changed, 1 insertion(+)\n> > > > >\n> > > > > diff --git a/src/android/camera_device.cpp\n> b/src/android/camera_device.cpp\n> > > > > index fddc07ff..fe332ec3 100644\n> > > > > --- a/src/android/camera_device.cpp\n> > > > > +++ b/src/android/camera_device.cpp\n> > > > > @@ -1422,6 +1422,7 @@ const camera_metadata_t\n> *CameraDevice::getStaticMetadata()\n> > > > >             ANDROID_REQUEST_PIPELINE_DEPTH,\n> > > > >             ANDROID_SCALER_CROP_REGION,\n> > > > >             ANDROID_SENSOR_EXPOSURE_TIME,\n> > > > > +           ANDROID_SENSOR_FRAME_DURATION,\n> > > > >             ANDROID_SENSOR_ROLLING_SHUTTER_SKEW,\n> > > > >             ANDROID_SENSOR_TEST_PATTERN_MODE,\n> > > > >             ANDROID_SENSOR_TIMESTAMP,\n>\n> --\n> Regards,\n>\n> Laurent Pinchart\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 A522BC3206\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  4 Jun 2021 04:58:14 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5EEC16891C;\n\tFri,  4 Jun 2021 06:58:14 +0200 (CEST)","from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com\n\t[IPv6:2a00:1450:4864:20::62f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 2F3CF602A1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  4 Jun 2021 06:58:13 +0200 (CEST)","by mail-ej1-x62f.google.com with SMTP id l1so12532678ejb.6\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 03 Jun 2021 21:58:13 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=chromium.org header.i=@chromium.org\n\theader.b=\"micYv4jx\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org;\n\ts=google; \n\th=mime-version:references:in-reply-to:from:date:message-id:subject:to\n\t:cc; bh=oDTOg7PS5Z8jhvE/oH1OjJOovRU3Cf1ah21xP/naaVY=;\n\tb=micYv4jxSwEjQwZmDu5xyANpKfad257gCt0gtCLeJ3khz7p3VKwn3WAPJZH8ZtsSGi\n\tY9YCXgnmiaSyB39ilnaodz5ZtJaWqRX0DJjJzc9B8XZlXakoesZUKbsNLeZh9efJMGi9\n\tInF57zSXyrnGbh6iLVQqQZouz4u7AMnpv7TA0=","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:mime-version:references:in-reply-to:from:date\n\t:message-id:subject:to:cc;\n\tbh=oDTOg7PS5Z8jhvE/oH1OjJOovRU3Cf1ah21xP/naaVY=;\n\tb=tgVLXlyExSzbV3XIY4lMOWglrVXHsrdK4Le/zGLIN8E8h7II47kLruPvKyuS1ntPsE\n\tYIn65dervpanGFI5aJ8Y3BftllQ7wN6okLRBi+HcPDIHejF1f/zD+Ciq77lXKFLfRdDr\n\t1z8zcIy+X2hKMIEhYVf1uU7FiVgTgyBFwzJHaIFHcIR5TcQKP+yj1JNaQzBmqCrzQPFU\n\tlTANazai4MPbYzmkyme5VvL4uhDRtHYxzwQVJ3U9T6IDyJHfXFsXIrVITrEAdrXjrCF8\n\tJhL6Rsq1ogo+VwPPXqz1Z+gLNoPPZ5JiZPwc+seGaU4dm97QjLF2phk8QqwT+HwTxMDY\n\tb6/g==","X-Gm-Message-State":"AOAM531yahTDF9v7rNfoLbIBPZim1IZK8mlY7bK6gAxDr0xCqzPL4+yS\n\tVMNn06+TeDVLBmz3o8GqfvEMbC7Mt+NKOKFl0wiRzw==","X-Google-Smtp-Source":"ABdhPJwOZQ/nlLW2W8BpJfOVAA1fdb6vzfSoulmaxvDZhQg7paF8hbZRBMGn3QwAeCFCt5zplB3L2F6vIuXZpJGF9zY=","X-Received":"by 2002:a17:906:55cb:: with SMTP id\n\tz11mr2403369ejp.475.1622782692878; \n\tThu, 03 Jun 2021 21:58:12 -0700 (PDT)","MIME-Version":"1.0","References":"<20210601112456.118755-1-umang.jain@ideasonboard.com>\n\t<20210601112456.118755-2-umang.jain@ideasonboard.com>\n\t<20210602033021.GD1929@pyrite.rasen.tech>\n\t<20210602033224.GE1929@pyrite.rasen.tech>\n\t<CAO5uPHP7eatihiGPqEgrMYpAvAuqLE-tHhk7ZyWnghbNFgfbOg@mail.gmail.com>\n\t<YLfKhSbR55+iqqW6@pendragon.ideasonboard.com>","In-Reply-To":"<YLfKhSbR55+iqqW6@pendragon.ideasonboard.com>","From":"Hirokazu Honda <hiroh@chromium.org>","Date":"Fri, 4 Jun 2021 13:58:01 +0900","Message-ID":"<CAO5uPHP_vrPCB00-zU6ubJ6PmDyt4Vnca0U7KH0zuhuw+Ka5oA@mail.gmail.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","Content-Type":"multipart/alternative; boundary=\"000000000000f4fdcf05c3e98979\"","Subject":"Re: [libcamera-devel] [PATCH 1/2] android: Make FRAME_DURATION key\n\tavailable in static metadata","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 <libcamera-devel@lists.libcamera.org>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"}}]