[{"id":18601,"web_url":"https://patchwork.libcamera.org/comment/18601/","msgid":"<e9c61171-1a97-9789-9fcb-18fc27f7afd8@ideasonboard.com>","date":"2021-08-06T14:39:21","subject":"Re: [libcamera-devel] [PATCH v2] ipu3: Disallow raw only camera\n\tconfiguration","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Hi Umang,\n\nOn 04/08/2021 14:25, Umang Jain wrote:\n> Ideally to capture the raw frames, ImgU should not be required.\n> However, we do need to configure the IPA since it shall setup\n> the sensor controls (exposure, vblank and so on) for the capture.\n> One cannot simply configure the IPA, without the ImgU as the\n> parameters and statistics buffer passed to the IPA are actually\n> managed by the ImgU.\n> \n> Until we prepare and setup the ImgU to run an internal queue for\n> raw-only camera configuration, disallow this configuration and\n> report it as invalid.\n> \n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nTested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nThis fixes lc-compliance at least, which helps unblock testing of\nNicolas' series too.\n\n\n> ---\n>  src/libcamera/pipeline/ipu3/ipu3.cpp | 14 ++++++++++++++\n>  1 file changed, 14 insertions(+)\n> \n> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> index 76c3bb3d..9f6a6f21 100644\n> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> @@ -248,6 +248,20 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()\n>  \tif (rawCount > 1 || yuvCount > 2) {\n>  \t\tLOG(IPU3, Debug) << \"Camera configuration not supported\";\n>  \t\treturn Invalid;\n> +\t} else if (rawCount && !yuvCount) {\n> +\t\t/*\n> +\t\t * Disallow raw-only camera configuration. Currently, ImgU does\n> +\t\t * not get configured for raw-only streams and has early return\n> +\t\t * in configure(). To support raw-only stream, we do need the IPA\n> +\t\t * to get configured since it will setup the sensor controls for\n> +\t\t * the capture.\n> +\t\t *\n> +\t\t * \\todo Configure the ImgU with internal buffers which will enable\n> +\t\t * the IPA to get configured, for the raw-only camera configuration.\n> +\t\t */\n> +\t\tLOG(IPU3, Debug)\n> +\t\t\t<< \"Camera configuration cannot support raw-only streams\";\n> +\t\treturn Invalid;\n>  \t}\n>  \n>  \t/*\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 1638EBD87D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri,  6 Aug 2021 14:39:27 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 720F560267;\n\tFri,  6 Aug 2021 16:39:26 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id DBC9060266\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri,  6 Aug 2021 16:39:24 +0200 (CEST)","from [192.168.0.20]\n\t(cpc89244-aztw30-2-0-cust3082.18-1.cable.virginm.net [86.31.172.11])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 721804FB;\n\tFri,  6 Aug 2021 16:39:24 +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=\"K4FiPJsB\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1628260764;\n\tbh=3kovnQcHgdPD3N8wsLsAqKhcs71XlP4bFxZBB4g5q0E=;\n\th=Subject:To:References:From:Date:In-Reply-To:From;\n\tb=K4FiPJsBdaOKMa5qZYZSrUboCWQophwxN20AG+znMZP3jXNdyEqgKtfTTu4XlDcJR\n\tb44YzgX+NldtrdEbmUM4Hm7pbbWQyr76jVdw/OifsQJIE+2Q9kw31OTBOZNRRwO4hH\n\tPNEWNR1yxmnC7gkcgivUvVfQ0BdTAoFMXw03qryU=","To":"Umang Jain <umang.jain@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","References":"<20210804132526.162376-1-umang.jain@ideasonboard.com>","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Message-ID":"<e9c61171-1a97-9789-9fcb-18fc27f7afd8@ideasonboard.com>","Date":"Fri, 6 Aug 2021 15:39:21 +0100","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101\n\tThunderbird/78.11.0","MIME-Version":"1.0","In-Reply-To":"<20210804132526.162376-1-umang.jain@ideasonboard.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-GB","Content-Transfer-Encoding":"7bit","Subject":"Re: [libcamera-devel] [PATCH v2] ipu3: Disallow raw only camera\n\tconfiguration","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>"}},{"id":18605,"web_url":"https://patchwork.libcamera.org/comment/18605/","msgid":"<YRBpYyYyuSpB/s4m@pendragon.ideasonboard.com>","date":"2021-08-08T23:31:47","subject":"Re: [libcamera-devel] [PATCH v2] ipu3: Disallow raw only camera\n\tconfiguration","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 Wed, Aug 04, 2021 at 06:55:26PM +0530, Umang Jain wrote:\n> Ideally to capture the raw frames, ImgU should not be required.\n> However, we do need to configure the IPA since it shall setup\n\nI'd write \"To capture raw frames, the ImgU isn't needed. However, to\nimlpement auto-exposure, we do need ...\". There's nothing ideal to not\nusing the ImgU, it's just not possible :-)\n\n> the sensor controls (exposure, vblank and so on) for the capture.\n> One cannot simply configure the IPA, without the ImgU as the\n> parameters and statistics buffer passed to the IPA are actually\n> managed by the ImgU.\n> \n> Until we prepare and setup the ImgU to run an internal queue for\n> raw-only camera configuration, disallow this configuration and\n> report it as invalid.\n> \n> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> ---\n>  src/libcamera/pipeline/ipu3/ipu3.cpp | 14 ++++++++++++++\n>  1 file changed, 14 insertions(+)\n> \n> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> index 76c3bb3d..9f6a6f21 100644\n> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n> @@ -248,6 +248,20 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()\n>  \tif (rawCount > 1 || yuvCount > 2) {\n>  \t\tLOG(IPU3, Debug) << \"Camera configuration not supported\";\n>  \t\treturn Invalid;\n> +\t} else if (rawCount && !yuvCount) {\n> +\t\t/*\n> +\t\t * Disallow raw-only camera configuration. Currently, ImgU does\n> +\t\t * not get configured for raw-only streams and has early return\n> +\t\t * in configure(). To support raw-only stream, we do need the IPA\n> +\t\t * to get configured since it will setup the sensor controls for\n> +\t\t * the capture.\n> +\t\t *\n> +\t\t * \\todo Configure the ImgU with internal buffers which will enable\n> +\t\t * the IPA to get configured, for the raw-only camera configuration.\n\ns/,//\n\nReviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n\n> +\t\t */\n> +\t\tLOG(IPU3, Debug)\n> +\t\t\t<< \"Camera configuration cannot support raw-only streams\";\n> +\t\treturn Invalid;\n>  \t}\n>  \n>  \t/*","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 E9AFEC323F\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun,  8 Aug 2021 23:31:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 461E56884D;\n\tMon,  9 Aug 2021 01:31:54 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 53D896026C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  9 Aug 2021 01:31:50 +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 C05F6466;\n\tMon,  9 Aug 2021 01:31:49 +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=\"YWWFJ5or\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1628465509;\n\tbh=lDCf3eLeJOrt+1jW++tDYZcbn2Ny7pmlJyo152mEbE0=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=YWWFJ5oraefqN8Egu4g15GmyKcOhnPVuJakchoMasmAF0yFOaD0CSeoaqzlY53zVt\n\t6/sJPHlrgl1eZxkmCuigRWVbjgboYBDoRY1TuplfC7uKN0g8m5d4Ar+uiRUe1GmgwX\n\tdXvoYzi0S0p6uOQws/hbaT2IcuCeH3ITtFDIiEeQ=","Date":"Mon, 9 Aug 2021 02:31:47 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<YRBpYyYyuSpB/s4m@pendragon.ideasonboard.com>","References":"<20210804132526.162376-1-umang.jain@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20210804132526.162376-1-umang.jain@ideasonboard.com>","Subject":"Re: [libcamera-devel] [PATCH v2] ipu3: Disallow raw only camera\n\tconfiguration","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":18607,"web_url":"https://patchwork.libcamera.org/comment/18607/","msgid":"<a45624c4-3014-9bf2-6825-53931b92b980@ideasonboard.com>","date":"2021-08-09T04:03:49","subject":"Re: [libcamera-devel] [PATCH v2] ipu3: Disallow raw only camera\n\tconfiguration","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Laurent,\n\nOn 8/9/21 5:01 AM, Laurent Pinchart wrote:\n> Hi Umang,\n>\n> Thank you for the patch.\n>\n> On Wed, Aug 04, 2021 at 06:55:26PM +0530, Umang Jain wrote:\n>> Ideally to capture the raw frames, ImgU should not be required.\n>> However, we do need to configure the IPA since it shall setup\n> I'd write \"To capture raw frames, the ImgU isn't needed. However, to\n> imlpement auto-exposure, we do need ...\". There's nothing ideal to not\n> using the ImgU, it's just not possible :-)\nhaha okay, I'll fixup! while pushing this.\n>\n>> the sensor controls (exposure, vblank and so on) for the capture.\n>> One cannot simply configure the IPA, without the ImgU as the\n>> parameters and statistics buffer passed to the IPA are actually\n>> managed by the ImgU.\n>>\n>> Until we prepare and setup the ImgU to run an internal queue for\n>> raw-only camera configuration, disallow this configuration and\n>> report it as invalid.\n>>\n>> Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n>> ---\n>>   src/libcamera/pipeline/ipu3/ipu3.cpp | 14 ++++++++++++++\n>>   1 file changed, 14 insertions(+)\n>>\n>> diff --git a/src/libcamera/pipeline/ipu3/ipu3.cpp b/src/libcamera/pipeline/ipu3/ipu3.cpp\n>> index 76c3bb3d..9f6a6f21 100644\n>> --- a/src/libcamera/pipeline/ipu3/ipu3.cpp\n>> +++ b/src/libcamera/pipeline/ipu3/ipu3.cpp\n>> @@ -248,6 +248,20 @@ CameraConfiguration::Status IPU3CameraConfiguration::validate()\n>>   \tif (rawCount > 1 || yuvCount > 2) {\n>>   \t\tLOG(IPU3, Debug) << \"Camera configuration not supported\";\n>>   \t\treturn Invalid;\n>> +\t} else if (rawCount && !yuvCount) {\n>> +\t\t/*\n>> +\t\t * Disallow raw-only camera configuration. Currently, ImgU does\n>> +\t\t * not get configured for raw-only streams and has early return\n>> +\t\t * in configure(). To support raw-only stream, we do need the IPA\n>> +\t\t * to get configured since it will setup the sensor controls for\n>> +\t\t * the capture.\n>> +\t\t *\n>> +\t\t * \\todo Configure the ImgU with internal buffers which will enable\n>> +\t\t * the IPA to get configured, for the raw-only camera configuration.\n> s/,//\n>\n> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>\n>\n>> +\t\t */\n>> +\t\tLOG(IPU3, Debug)\n>> +\t\t\t<< \"Camera configuration cannot support raw-only streams\";\n>> +\t\treturn Invalid;\n>>   \t}\n>>   \n>>   \t/*","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 0227CC3240\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon,  9 Aug 2021 04:03:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3EB836884D;\n\tMon,  9 Aug 2021 06:03:56 +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 BA3D960263\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon,  9 Aug 2021 06:03:54 +0200 (CEST)","from [192.168.1.104] (unknown [103.251.226.61])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id AB999466;\n\tMon,  9 Aug 2021 06:03:53 +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=\"FXzyeF5n\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1628481834;\n\tbh=ZQ7WqorPgbOG24kT3wayh59lXZr3DX+83fnGU7a4IVM=;\n\th=Subject:To:Cc:References:From:Date:In-Reply-To:From;\n\tb=FXzyeF5n3v4u7LA6nYjanLJliSzem6FGew39bftFm2HEllRydxYpGRPDOU00Pw6uD\n\tox2SuVJzc81ZzI7D1SHWOYacnppHy/d27/IxnEdtcaHxM/5f3a+J6MBjAvZkPXKjC1\n\tAAgHr63jgN424yL6YhBfqSrN/nB9DfEXo46bU4ao=","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","References":"<20210804132526.162376-1-umang.jain@ideasonboard.com>\n\t<YRBpYyYyuSpB/s4m@pendragon.ideasonboard.com>","From":"Umang Jain <umang.jain@ideasonboard.com>","Message-ID":"<a45624c4-3014-9bf2-6825-53931b92b980@ideasonboard.com>","Date":"Mon, 9 Aug 2021 09:33:49 +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":"<YRBpYyYyuSpB/s4m@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 v2] ipu3: Disallow raw only camera\n\tconfiguration","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>"}}]