[{"id":30098,"web_url":"https://patchwork.libcamera.org/comment/30098/","msgid":"<acf7592b-1fdb-44ef-b83a-d1d2a5f3ed04@ideasonboard.com>","date":"2024-06-27T13:41:22","subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","submitter":{"id":86,"url":"https://patchwork.libcamera.org/api/people/86/","name":"Umang Jain","email":"umang.jain@ideasonboard.com"},"content":"Hi Jai,\n\nOn 27/06/24 2:09 pm, Jai Luthra wrote:\n> The j721e-csi2rx driver pipeline uses no converters, so enable the\n> software ISP plugin support. This is handy for boards with AM62 SoC\n> (like BeaglePlay) that have no HW ISP.\n>\n> Tested with IMX519 on SK-AM62 running a kernel built with dmabuf heap\n> support.\n>\n> Signed-off-by: Jai Luthra <j-luthra@ti.com>\n\nProbably worth having a Tested-by: Tag here as well. Just provide one on \nthe thread, if you have tested it.\n\nReviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> ---\n>   src/libcamera/pipeline/simple/simple.cpp | 2 +-\n>   1 file changed, 1 insertion(+), 1 deletion(-)\n>\n> diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n> index eb36578e..812c492e 100644\n> --- a/src/libcamera/pipeline/simple/simple.cpp\n> +++ b/src/libcamera/pipeline/simple/simple.cpp\n> @@ -198,7 +198,7 @@ namespace {\n>   static const SimplePipelineInfo supportedDevices[] = {\n>   \t{ \"dcmipp\", {}, false },\n>   \t{ \"imx7-csi\", { { \"pxp\", 1 } }, false },\n> -\t{ \"j721e-csi2rx\", {}, false },\n> +\t{ \"j721e-csi2rx\", {}, true },\n>   \t{ \"mtk-seninf\", { { \"mtk-mdp\", 3 } }, false },\n>   \t{ \"mxc-isi\", {}, false },\n>   \t{ \"qcom-camss\", {}, true },","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 C28BFBD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Jun 2024 13:41:28 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E2A1762C99;\n\tThu, 27 Jun 2024 15:41:27 +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 443E7619E8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Jun 2024 15:41:27 +0200 (CEST)","from [IPV6:2405:201:2015:f873:c173:4b:4a04:3a21] (unknown\n\t[IPv6:2405:201:2015:f873:c173:4b:4a04:3a21])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B6D947E0;\n\tThu, 27 Jun 2024 15:41:02 +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=\"lWeJd8f/\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1719495663;\n\tbh=zeup52XHKrAFTzgq7VlKpQD/pki5ZUISb38Sv/ma3B8=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=lWeJd8f/+t6cz0/zmaoba6PGcrApQnhFpz8zQbh5enPJYj78exRHvkfSI+YIiJHFQ\n\tqC9q8RUGgi+jVCu9X6GAc4kPI3jXZxO12z8Nl+gGHa1lfnhJ0uohiDkMNgsWqgK/wy\n\tq4I423RQBrsOGockripXj8biKYr0bNHhpdM/FgDY=","Message-ID":"<acf7592b-1fdb-44ef-b83a-d1d2a5f3ed04@ideasonboard.com>","Date":"Thu, 27 Jun 2024 19:11:22 +0530","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","Content-Language":"en-US","To":"Jai Luthra <j-luthra@ti.com>, libcamera-devel@lists.libcamera.org","References":"<20240627083938.554370-1-j-luthra@ti.com>","From":"Umang Jain <umang.jain@ideasonboard.com>","In-Reply-To":"<20240627083938.554370-1-j-luthra@ti.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"7bit","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":30102,"web_url":"https://patchwork.libcamera.org/comment/30102/","msgid":"<20240627144027.GC15017@pendragon.ideasonboard.com>","date":"2024-06-27T14:40:27","subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Thu, Jun 27, 2024 at 07:11:22PM +0530, Umang Jain wrote:\n> On 27/06/24 2:09 pm, Jai Luthra wrote:\n> > The j721e-csi2rx driver pipeline uses no converters, so enable the\n> > software ISP plugin support. This is handy for boards with AM62 SoC\n> > (like BeaglePlay) that have no HW ISP.\n> >\n> > Tested with IMX519 on SK-AM62 running a kernel built with dmabuf heap\n> > support.\n> >\n> > Signed-off-by: Jai Luthra <j-luthra@ti.com>\n> \n> Probably worth having a Tested-by: Tag here as well. Just provide one on \n> the thread, if you have tested it.\n\nI generally assume that, unless otherwise noted, patch submitters will\nhave arranged for code to be tested :-)\n\nIs there a risk of regression for working use cases by enabling the soft\nISP ? I'm thinking in particular of losing the ability to capture images\nfrom YUV sensors (if the simple pipeline handler doesn't skip the soft\nISP in that case), and the ability to capture raw images from Bayer\nsensors. The latter is likely less of an issue, it could probably be\nimplemented a bit later if it's not there yet.\n\n> Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> \n> > ---\n> >   src/libcamera/pipeline/simple/simple.cpp | 2 +-\n> >   1 file changed, 1 insertion(+), 1 deletion(-)\n> >\n> > diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n> > index eb36578e..812c492e 100644\n> > --- a/src/libcamera/pipeline/simple/simple.cpp\n> > +++ b/src/libcamera/pipeline/simple/simple.cpp\n> > @@ -198,7 +198,7 @@ namespace {\n> >   static const SimplePipelineInfo supportedDevices[] = {\n> >   \t{ \"dcmipp\", {}, false },\n> >   \t{ \"imx7-csi\", { { \"pxp\", 1 } }, false },\n> > -\t{ \"j721e-csi2rx\", {}, false },\n> > +\t{ \"j721e-csi2rx\", {}, true },\n> >   \t{ \"mtk-seninf\", { { \"mtk-mdp\", 3 } }, false },\n> >   \t{ \"mxc-isi\", {}, false },\n> >   \t{ \"qcom-camss\", {}, true },","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 0D09BBD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Jun 2024 14:40:51 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3A67E62C99;\n\tThu, 27 Jun 2024 16:40:50 +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 E8882619E8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Jun 2024 16:40:48 +0200 (CEST)","from pendragon.ideasonboard.com (unknown [193.209.96.36])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id B80492C5;\n\tThu, 27 Jun 2024 16:40: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=\"kI27GpJo\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1719499224;\n\tbh=xdMK+XFHPxjNYLHNY/y9frqdx7l67/Imq9MqwV0YiLg=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=kI27GpJoEHb5jZPwwVAYR4njG/OqM3w0IqdejBkGLvE074jUwcC42Py0VVKaG1biX\n\tQmPgYt6DQmsDkiXgZX2RRKd1V9cN9MTduQTmf6tLRqUnzPMOXVbcKPgJo7vzdBmYHE\n\t9Ll15C3mAWXhQ+aRMqwWVPtAJVffxzH6dO86FM6g=","Date":"Thu, 27 Jun 2024 17:40:27 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Umang Jain <umang.jain@ideasonboard.com>","Cc":"Jai Luthra <j-luthra@ti.com>, libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","Message-ID":"<20240627144027.GC15017@pendragon.ideasonboard.com>","References":"<20240627083938.554370-1-j-luthra@ti.com>\n\t<acf7592b-1fdb-44ef-b83a-d1d2a5f3ed04@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<acf7592b-1fdb-44ef-b83a-d1d2a5f3ed04@ideasonboard.com>","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":30103,"web_url":"https://patchwork.libcamera.org/comment/30103/","msgid":"<59c02cde-5a7f-4ba5-b163-fd0019a0e01c@collabora.com>","date":"2024-06-27T14:43:44","subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","submitter":{"id":140,"url":"https://patchwork.libcamera.org/api/people/140/","name":"Robert Mader","email":"robert.mader@collabora.com"},"content":"On 27.06.24 16:40, Laurent Pinchart wrote:\n> I'm thinking in particular of losing the ability to capture images\n> from YUV sensors\n\nThat shouldn't be the case - only capturing raw bayer should be affected \n(I had to explicitly disable non-bayer formats on the PP for postmarket \nto enforce usage of the softISP).","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 4C1D2BD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 27 Jun 2024 14:43:48 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 2B12162C99;\n\tThu, 27 Jun 2024 16:43:47 +0200 (CEST)","from madrid.collaboradmins.com (madrid.collaboradmins.com\n\t[IPv6:2a00:1098:ed:100::25])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id A95EC619E8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Jun 2024 16:43:45 +0200 (CEST)","from [100.65.51.98] (cola.collaboradmins.com [195.201.22.229])\n\t(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (4096 bits)\n\tserver-digest SHA256)\n\t(No client certificate requested) (Authenticated sender: rmader)\n\tby madrid.collaboradmins.com (Postfix) with ESMTPSA id EECA237821DA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 27 Jun 2024 14:43:44 +0000 (UTC)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=collabora.com header.i=@collabora.com\n\theader.b=\"mj+QkigP\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;\n\ts=mail; t=1719499425;\n\tbh=HoF9jI/mqKeW2J9Egq0dqQqs1t1JKTnR1k2SXO5gwSg=;\n\th=Date:Subject:To:References:From:In-Reply-To:From;\n\tb=mj+QkigPS/nMNPpUGYsirWlq275UKq+sDn7SVX30C2wJReWGEpNsE7P8GtNoApLf9\n\tqGpUqWvSU+LHTse75QxXQ9qIJIO7jT25Yw1g85GCwY0O/xN4jJHDw/wVmAACN5oo1T\n\tMpdaE3ZS7Vr40ebYLNs8WAs8+aFSd+wyZD4q9doWpyPxN/jjhWsuZzBwXvwNojpupp\n\tG6rcEZCcjjvLKarPZDIZL/mIxa8Hq7PnTIrB39Co+7+CP3xuAnCwqts8Jw0Fnr/LZ4\n\tM6IgRbbq/GU1DiYu3/PXgsz+3QNgKEK/4KX9vz32v7CA5VLDSTXnVWzD6IYAx8DH9X\n\t1kBdkiBV5JJIg==","Content-Type":"multipart/alternative;\n\tboundary=\"------------EwvBmW6IqubS9LAgoMKg0oIo\"","Message-ID":"<59c02cde-5a7f-4ba5-b163-fd0019a0e01c@collabora.com>","Date":"Thu, 27 Jun 2024 16:43:44 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","To":"libcamera-devel@lists.libcamera.org","References":"<20240627083938.554370-1-j-luthra@ti.com>\n\t<acf7592b-1fdb-44ef-b83a-d1d2a5f3ed04@ideasonboard.com>\n\t<20240627144027.GC15017@pendragon.ideasonboard.com>","Content-Language":"en-US, de-DE","From":"Robert Mader <robert.mader@collabora.com>","In-Reply-To":"<20240627144027.GC15017@pendragon.ideasonboard.com>","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":30112,"web_url":"https://patchwork.libcamera.org/comment/30112/","msgid":"<tvz7oi5nxcoy63d3uhxwzusqfxuzrnbge5h7qqby4j4r7sfe7p@erukfdvqlvzx>","date":"2024-06-28T05:42:06","subject":"Re: Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","submitter":{"id":170,"url":"https://patchwork.libcamera.org/api/people/170/","name":"Jai Luthra","email":"j-luthra@ti.com"},"content":"Hi Laurent, Umang,\n\nOn Jun 27, 2024 at 17:40:27 +0300, Laurent Pinchart wrote:\n> On Thu, Jun 27, 2024 at 07:11:22PM +0530, Umang Jain wrote:\n> > On 27/06/24 2:09 pm, Jai Luthra wrote:\n> > > The j721e-csi2rx driver pipeline uses no converters, so enable the\n> > > software ISP plugin support. This is handy for boards with AM62 SoC\n> > > (like BeaglePlay) that have no HW ISP.\n> > >\n> > > Tested with IMX519 on SK-AM62 running a kernel built with dmabuf heap\n> > > support.\n> > >\n> > > Signed-off-by: Jai Luthra <j-luthra@ti.com>\n> > \n> > Probably worth having a Tested-by: Tag here as well. Just provide one on \n> > the thread, if you have tested it.\n\nAh okay. I thought those tags are for others and not for patch \nsubmitter. But yes I have tested it so,\n\nTested-by: Jai Luthra <j-luthra@ti.com>\n\n> \n> I generally assume that, unless otherwise noted, patch submitters will\n> have arranged for code to be tested :-)\n> \n> Is there a risk of regression for working use cases by enabling the soft\n> ISP ? I'm thinking in particular of losing the ability to capture images\n> from YUV sensors (if the simple pipeline handler doesn't skip the soft\n> ISP in that case),\n\nI have tested this with OV5640, which supports ending both raw bayer \nformats, and converted YUV/RGB using the in-sensor ISP.\n\nWith the SwISP enabled, cam tool lets me capture both the \nYUV/XBGR/RGB565 directly coming from sensor, or RGB/BGR converted from \nthe raw bayer.\n\nHere are the logs of `cam -c1 -I`: https://0x0.st/XmOS.txt\n\n\n> and the ability to capture raw images from Bayer\n> sensors. The latter is likely less of an issue, it could probably be\n> implemented a bit later if it's not there yet.\n\nThis is true, and I personally do use cam tool to capture raw bayer \ndata, as it is more convenient compared to using v4l2-ctl/yavta - given \nit sets the routes and formats on all subdevs for me.\n\nIt would be great to be able to be able to choose that through either \nCLI options or the config file support Milan proposed. But I wouldn't \ncall missing that a regression, as actual end-users of a camera almost \nalways want a usable RGB image :)\n\n> \n> > Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> > \n> > > ---\n> > >   src/libcamera/pipeline/simple/simple.cpp | 2 +-\n> > >   1 file changed, 1 insertion(+), 1 deletion(-)\n> > >\n> > > diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n> > > index eb36578e..812c492e 100644\n> > > --- a/src/libcamera/pipeline/simple/simple.cpp\n> > > +++ b/src/libcamera/pipeline/simple/simple.cpp\n> > > @@ -198,7 +198,7 @@ namespace {\n> > >   static const SimplePipelineInfo supportedDevices[] = {\n> > >   \t{ \"dcmipp\", {}, false },\n> > >   \t{ \"imx7-csi\", { { \"pxp\", 1 } }, false },\n> > > -\t{ \"j721e-csi2rx\", {}, false },\n> > > +\t{ \"j721e-csi2rx\", {}, true },\n> > >   \t{ \"mtk-seninf\", { { \"mtk-mdp\", 3 } }, false },\n> > >   \t{ \"mxc-isi\", {}, false },\n> > >   \t{ \"qcom-camss\", {}, true },\n> \n> -- \n> Regards,\n> \n> Laurent Pinchart","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 C5B60BDB1D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 28 Jun 2024 05:42:16 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DC82C62C99;\n\tFri, 28 Jun 2024 07:42:15 +0200 (CEST)","from fllv0015.ext.ti.com (fllv0015.ext.ti.com [198.47.19.141])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9F7E2619C8\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 28 Jun 2024 07:42:12 +0200 (CEST)","from fllv0035.itg.ti.com ([10.64.41.0])\n\tby fllv0015.ext.ti.com (8.15.2/8.15.2) with ESMTP id 45S5g88w111120; \n\tFri, 28 Jun 2024 00:42:08 -0500","from DLEE101.ent.ti.com (dlee101.ent.ti.com [157.170.170.31])\n\tby fllv0035.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 45S5g8f1123087\n\t(version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL);\n\tFri, 28 Jun 2024 00:42:08 -0500","from DLEE112.ent.ti.com (157.170.170.23) by DLEE101.ent.ti.com\n\t(157.170.170.31) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23;\n\tFri, 28 Jun 2024 00:42:07 -0500","from lelvsmtp6.itg.ti.com (10.180.75.249) by DLEE112.ent.ti.com\n\t(157.170.170.23) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23\n\tvia Frontend Transport; Fri, 28 Jun 2024 00:42:07 -0500","from localhost (jluthra.dhcp.ti.com [172.24.227.116])\n\tby lelvsmtp6.itg.ti.com (8.15.2/8.15.2) with ESMTP id 45S5g6LG111261; \n\tFri, 28 Jun 2024 00:42:07 -0500"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ti.com header.i=@ti.com header.b=\"iH1L8sLD\";\n\tdkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;\n\ts=ti-com-17Q1; t=1719553328;\n\tbh=w7/GntvA1USDudHp/lXbrZnubCv9gwprzk66uzLYcVo=;\n\th=Date:From:To:CC:Subject:In-Reply-To;\n\tb=iH1L8sLDcssQlejg4tiyCeXc3O+jP39Rs7hTl5aYnMVFhnDiM7HA8Ru+O9dHDY5Hg\n\teGn+sNrslR3DnS00Rfz+L6BHcX+EFOGaVnLJpQsJHO96aYeTNY//rYh76Qk0Rqlw4W\n\tJNNBPdABCtfGPGw/Ky/IenaiFLI0HdJxy0orV7tI=","Date":"Fri, 28 Jun 2024 11:12:06 +0530","From":"Jai Luthra <j-luthra@ti.com>","To":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Umang Jain\n\t<umang.jain@ideasonboard.com>","CC":"<libcamera-devel@lists.libcamera.org>","Subject":"Re: Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","Message-ID":"<tvz7oi5nxcoy63d3uhxwzusqfxuzrnbge5h7qqby4j4r7sfe7p@erukfdvqlvzx>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Disposition":"inline","In-Reply-To":"<20240627144027.GC15017@pendragon.ideasonboard.com>","X-EXCLAIMER-MD-CONFIG":"e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180","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":30380,"web_url":"https://patchwork.libcamera.org/comment/30380/","msgid":"<874j8ximkf.fsf@redhat.com>","date":"2024-07-10T10:11:12","subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Hi Jai,\n\nthank you for the patch.\n\nJai Luthra <j-luthra@ti.com> writes:\n\n> Hi Laurent, Umang,\n>\n> On Jun 27, 2024 at 17:40:27 +0300, Laurent Pinchart wrote:\n>> On Thu, Jun 27, 2024 at 07:11:22PM +0530, Umang Jain wrote:\n>> > On 27/06/24 2:09 pm, Jai Luthra wrote:\n>> > > The j721e-csi2rx driver pipeline uses no converters, so enable the\n>> > > software ISP plugin support. This is handy for boards with AM62 SoC\n>> > > (like BeaglePlay) that have no HW ISP.\n>> > >\n>> > > Tested with IMX519 on SK-AM62 running a kernel built with dmabuf heap\n>> > > support.\n>> > >\n>> > > Signed-off-by: Jai Luthra <j-luthra@ti.com>\n>> > \n>> > Probably worth having a Tested-by: Tag here as well. Just provide one on \n>> > the thread, if you have tested it.\n>\n> Ah okay. I thought those tags are for others and not for patch \n> submitter. But yes I have tested it so,\n>\n> Tested-by: Jai Luthra <j-luthra@ti.com>\n\nI have tested it with SK-AM69 + IMX219:\n\nTested-by: Milan Zamazal <mzamazal@redhat.com>\n\n>> I generally assume that, unless otherwise noted, patch submitters will\n>> have arranged for code to be tested :-)\n>> \n>> Is there a risk of regression for working use cases by enabling the soft\n>> ISP ? I'm thinking in particular of losing the ability to capture images\n>> from YUV sensors (if the simple pipeline handler doesn't skip the soft\n>> ISP in that case),\n>\n> I have tested this with OV5640, which supports ending both raw bayer \n> formats, and converted YUV/RGB using the in-sensor ISP.\n>\n> With the SwISP enabled, cam tool lets me capture both the \n> YUV/XBGR/RGB565 directly coming from sensor, or RGB/BGR converted from \n> the raw bayer.\n>\n> Here are the logs of `cam -c1 -I`: https://0x0.st/XmOS.txt\n>\n>\n>> and the ability to capture raw images from Bayer\n>> sensors. The latter is likely less of an issue, it could probably be\n>> implemented a bit later if it's not there yet.\n>\n> This is true, and I personally do use cam tool to capture raw bayer \n> data, as it is more convenient compared to using v4l2-ctl/yavta - given \n> it sets the routes and formats on all subdevs for me.\n>\n> It would be great to be able to be able to choose that through either \n> CLI options or the config file support Milan proposed. But I wouldn't \n> call missing that a regression, as actual end-users of a camera almost \n> always want a usable RGB image :)\n\nI'm inclined to this opinion too.  And yes, my config file patches are\nposted, updated and solving the true/false problem for all the\npipelines, just waiting for reviews. :-)\n\n>> > Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n>> > \n>> > > ---\n>> > >   src/libcamera/pipeline/simple/simple.cpp | 2 +-\n>> > >   1 file changed, 1 insertion(+), 1 deletion(-)\n>> > >\n>> > > diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n>> > > index eb36578e..812c492e 100644\n>> > > --- a/src/libcamera/pipeline/simple/simple.cpp\n>> > > +++ b/src/libcamera/pipeline/simple/simple.cpp\n>> > > @@ -198,7 +198,7 @@ namespace {\n>> > >   static const SimplePipelineInfo supportedDevices[] = {\n>> > >   \t{ \"dcmipp\", {}, false },\n>> > >   \t{ \"imx7-csi\", { { \"pxp\", 1 } }, false },\n>> > > -\t{ \"j721e-csi2rx\", {}, false },\n>> > > +\t{ \"j721e-csi2rx\", {}, true },\n>> > >   \t{ \"mtk-seninf\", { { \"mtk-mdp\", 3 } }, false },\n>> > >   \t{ \"mxc-isi\", {}, false },\n>> > >   \t{ \"qcom-camss\", {}, true },\n>> \n>> -- \n>> Regards,\n>> \n>> Laurent Pinchart","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 CB885BDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 10 Jul 2024 10:11:20 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 0AEEC6336F;\n\tWed, 10 Jul 2024 12:11:20 +0200 (CEST)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.133.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9BD98619AD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 10 Jul 2024 12:11:18 +0200 (CEST)","from mail-ed1-f70.google.com (mail-ed1-f70.google.com\n\t[209.85.208.70]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-592-xwOnjHbiPRmhd7FK1ciTkw-1; Wed, 10 Jul 2024 06:11:16 -0400","by mail-ed1-f70.google.com with SMTP id\n\t4fb4d7f45d1cf-57c6e28b151so5685859a12.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 10 Jul 2024 03:11:15 -0700 (PDT)","from nuthatch (ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\t4fb4d7f45d1cf-594bc3f3defsm2055808a12.45.2024.07.10.03.11.12\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 10 Jul 2024 03:11:12 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"Vw0YvmNv\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1720606277;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=kUW1hIYpCdPdJrGb57Zgy1XPGEouCs9rsbxN6wJ+hXU=;\n\tb=Vw0YvmNv/HwkkQBTeSuwUMQQlS7rLG+gvVQVqKfa3/wrNg/2uohkyRl09AgBLUOFC8EWR6\n\tON1Gt04nBJJRUjhCdCietvmZ4lVwsmAzLorVC3YzkZ/iFcwqRFccR+eiwYogEUb7Dy3sZk\n\tGh0nLcJggd3tdPBez6ajw9fsmBVYdlo=","X-MC-Unique":"xwOnjHbiPRmhd7FK1ciTkw-1","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1720606274; x=1721211074;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=kUW1hIYpCdPdJrGb57Zgy1XPGEouCs9rsbxN6wJ+hXU=;\n\tb=Ej/u6ONtsv8s3WE3YzXv2s4yWHIU0GhJEIWHZfp0OcmolZ/F/yAcv0IsDigsLhRKbx\n\t23k17Cjs59yUocMbAp6lMWTKW4JHr6J09D8bxPMPr4+a4oD0ovqkFad8jxsMuocRhgpc\n\tUsWjcQ5M2XloSlLkK3A0cVHjJe4IIZSAfl3WJbmszKDYMG/z9K2Xx9xVMaxHbpG2JnrP\n\t+hX8ClFIFN+xtyp8JBLUCVAuNZNjwsuu4N4N4mP6wi2Sk6iPspbSnI++zVTN36n1xI7p\n\tqdo5Oy04DxJUKpHOtLsjVdA0500XF8Gf9pTZ9TvnjdEkZJPUjLsoXC48x2yF/rVTMSEX\n\tlMDQ==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCVSsY4kMHog7N4tXfo0jzd1ZNBzPtIkOIsPaVAHwN+DznAZgBswKb6vouXqemVFPxJwbFwRC0zO1vV2Q/mjWq/w4vRYJI+hEyvOBrZDbXwY2T3wmQ==","X-Gm-Message-State":"AOJu0YznsbO6bDjKbMga3xAMJDIOOk/W4JM0OAKdJSGlQEZGQfkuslV6\n\t1Rx5wc05YQdUiV+5XAxRIaTqLOfOilUIeF3y+Gc2d0J6GNJxtLEEBeaP9NIqWwd5rKHkBrmzSdh\n\t9K0uhdXUzerrrNNDFfgC8vqrUhZDULd2NxHezBr404M45r8Fb+0mb9wt7GhkjbOJBmhxeqO6ct3\n\tFHpGUG8eVvpXQtQ9XUfMHwXdbeYB8D17JMpgu0D2wjEQKjIfOIco5trI0=","X-Received":["by 2002:a05:6402:1eca:b0:57d:5098:c7a0 with SMTP id\n\t4fb4d7f45d1cf-594baf9120emr3342662a12.17.1720606274003; \n\tWed, 10 Jul 2024 03:11:14 -0700 (PDT)","by 2002:a05:6402:1eca:b0:57d:5098:c7a0 with SMTP id\n\t4fb4d7f45d1cf-594baf9120emr3342643a12.17.1720606273466; \n\tWed, 10 Jul 2024 03:11:13 -0700 (PDT)"],"X-Google-Smtp-Source":"AGHT+IEEw5YX1UL28LaUA6V68fHiUCl7oYX0lw5bjJzeSX+DQqC2H/vJS7ehEbCVFAg33/5Wj83cjw==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Jai Luthra <j-luthra@ti.com>","Cc":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,  Umang Jain\n\t<umang.jain@ideasonboard.com>, <libcamera-devel@lists.libcamera.org>","Subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","In-Reply-To":"<tvz7oi5nxcoy63d3uhxwzusqfxuzrnbge5h7qqby4j4r7sfe7p@erukfdvqlvzx>\n\t(Jai Luthra's message of \"Fri, 28 Jun 2024 11:12:06 +0530\")","References":"<tvz7oi5nxcoy63d3uhxwzusqfxuzrnbge5h7qqby4j4r7sfe7p@erukfdvqlvzx>","Date":"Wed, 10 Jul 2024 12:11:12 +0200","Message-ID":"<874j8ximkf.fsf@redhat.com>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","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":30381,"web_url":"https://patchwork.libcamera.org/comment/30381/","msgid":"<172060895995.392292.17569388762030103495@ping.linuxembedded.co.uk>","date":"2024-07-10T10:55:59","subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Milan Zamazal (2024-07-10 11:11:12)\n> Hi Jai,\n> \n> thank you for the patch.\n> \n> Jai Luthra <j-luthra@ti.com> writes:\n> \n> > Hi Laurent, Umang,\n> >\n> > On Jun 27, 2024 at 17:40:27 +0300, Laurent Pinchart wrote:\n> >> On Thu, Jun 27, 2024 at 07:11:22PM +0530, Umang Jain wrote:\n> >> > On 27/06/24 2:09 pm, Jai Luthra wrote:\n> >> > > The j721e-csi2rx driver pipeline uses no converters, so enable the\n> >> > > software ISP plugin support. This is handy for boards with AM62 SoC\n> >> > > (like BeaglePlay) that have no HW ISP.\n> >> > >\n> >> > > Tested with IMX519 on SK-AM62 running a kernel built with dmabuf heap\n> >> > > support.\n> >> > >\n> >> > > Signed-off-by: Jai Luthra <j-luthra@ti.com>\n> >> > \n> >> > Probably worth having a Tested-by: Tag here as well. Just provide one on \n> >> > the thread, if you have tested it.\n> >\n> > Ah okay. I thought those tags are for others and not for patch \n> > submitter. But yes I have tested it so,\n> >\n> > Tested-by: Jai Luthra <j-luthra@ti.com>\n> \n> I have tested it with SK-AM69 + IMX219:\n> \n> Tested-by: Milan Zamazal <mzamazal@redhat.com>\n> \n> >> I generally assume that, unless otherwise noted, patch submitters will\n> >> have arranged for code to be tested :-)\n> >> \n> >> Is there a risk of regression for working use cases by enabling the soft\n> >> ISP ? I'm thinking in particular of losing the ability to capture images\n> >> from YUV sensors (if the simple pipeline handler doesn't skip the soft\n> >> ISP in that case),\n> >\n> > I have tested this with OV5640, which supports ending both raw bayer \n> > formats, and converted YUV/RGB using the in-sensor ISP.\n> >\n> > With the SwISP enabled, cam tool lets me capture both the \n> > YUV/XBGR/RGB565 directly coming from sensor, or RGB/BGR converted from \n> > the raw bayer.\n\nDid I miss the raw stream being added? Does this already work that the\nraw can be configured and accessed while the SoftISP is enabled?\n\nOn the X13s I do not see unprocessed streams exposed, only the SoftISP\nformats.\n\n\nHow do YUV formats get passed through without being handled in the\nSoftISP here?\n\n\n> > Here are the logs of `cam -c1 -I`: https://0x0.st/XmOS.txt\n> >\n> >\n> >> and the ability to capture raw images from Bayer\n> >> sensors. The latter is likely less of an issue, it could probably be\n> >> implemented a bit later if it's not there yet.\n> >\n> > This is true, and I personally do use cam tool to capture raw bayer \n> > data, as it is more convenient compared to using v4l2-ctl/yavta - given \n> > it sets the routes and formats on all subdevs for me.\n> >\n> > It would be great to be able to be able to choose that through either \n> > CLI options or the config file support Milan proposed. But I wouldn't \n> > call missing that a regression, as actual end-users of a camera almost \n> > always want a usable RGB image :)\n> \n> I'm inclined to this opinion too.  And yes, my config file patches are\n> posted, updated and solving the true/false problem for all the\n> pipelines, just waiting for reviews. :-)\n\nI don't object to merging this patch - I do think it's probably more\ndemonstrative of the purpose of libcamera, and the raw captures can\nalready be captured through other tools (with some additional\nconfiguration) - but I don't actually think the configuration options\nremove the bool enablement for the soft-isp - it just 'moves' it.\n\nThe only way we can remove the softisp enable flag is if the\nsimple-pipeline handler exposes the raw stream which doesn't process\nthrough the SoftISP.\n\n\nAnyway, for this patch:\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n\n> \n> >> > Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> >> > \n> >> > > ---\n> >> > >   src/libcamera/pipeline/simple/simple.cpp | 2 +-\n> >> > >   1 file changed, 1 insertion(+), 1 deletion(-)\n> >> > >\n> >> > > diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n> >> > > index eb36578e..812c492e 100644\n> >> > > --- a/src/libcamera/pipeline/simple/simple.cpp\n> >> > > +++ b/src/libcamera/pipeline/simple/simple.cpp\n> >> > > @@ -198,7 +198,7 @@ namespace {\n> >> > >   static const SimplePipelineInfo supportedDevices[] = {\n> >> > >          { \"dcmipp\", {}, false },\n> >> > >          { \"imx7-csi\", { { \"pxp\", 1 } }, false },\n> >> > > -        { \"j721e-csi2rx\", {}, false },\n> >> > > +        { \"j721e-csi2rx\", {}, true },\n> >> > >          { \"mtk-seninf\", { { \"mtk-mdp\", 3 } }, false },\n> >> > >          { \"mxc-isi\", {}, false },\n> >> > >          { \"qcom-camss\", {}, true },\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 147EDBD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 10 Jul 2024 10:56:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C12466336F;\n\tWed, 10 Jul 2024 12:56:04 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0F279619AD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 10 Jul 2024 12:56:03 +0200 (CEST)","from pendragon.ideasonboard.com\n\t(cpc89244-aztw30-2-0-cust6594.18-1.cable.virginm.net [86.31.185.195])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E9B6DFAD;\n\tWed, 10 Jul 2024 12:55:29 +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=\"Q3wwEOvz\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1720608930;\n\tbh=fEz70YxZR6KOIgxhyXrMKkPPP5688ITip0FEHwKH8fs=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=Q3wwEOvz48z1Ap2QViIFdnuBH/qOZ9iO67B//+2RFanbIoYQ2yJobBAaV+uHxaIUy\n\t+tVzvJgzy3AgZ9ddevfFHn8jIwliSGlBcofWevAcbtsbyLapmB7hagxTfRVYtmxxHY\n\tKSJFZ3+mlevqFMm2nuhfKAggbti/I7chhSme3tNg=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<874j8ximkf.fsf@redhat.com>","References":"<tvz7oi5nxcoy63d3uhxwzusqfxuzrnbge5h7qqby4j4r7sfe7p@erukfdvqlvzx>\n\t<874j8ximkf.fsf@redhat.com>","Subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>,\n\tUmang Jain <umang.jain@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","To":"Jai Luthra <j-luthra@ti.com>, Milan Zamazal <mzamazal@redhat.com>","Date":"Wed, 10 Jul 2024 11:55:59 +0100","Message-ID":"<172060895995.392292.17569388762030103495@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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":30382,"web_url":"https://patchwork.libcamera.org/comment/30382/","msgid":"<m4veykbxd5i2mfczthipbafar6di6j4akf3ybdf76qmhionh6m@3c33xq2u6z7e>","date":"2024-07-10T11:44:48","subject":"Re: Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","submitter":{"id":170,"url":"https://patchwork.libcamera.org/api/people/170/","name":"Jai Luthra","email":"j-luthra@ti.com"},"content":"Hi,\n\nThanks for the review.\n\nOn Jul 10, 2024 at 11:55:59 +0100, Kieran Bingham wrote:\n> Quoting Milan Zamazal (2024-07-10 11:11:12)\n> > Hi Jai,\n> > \n> > thank you for the patch.\n> > \n> > Jai Luthra <j-luthra@ti.com> writes:\n> > \n> > > Hi Laurent, Umang,\n> > >\n> > > On Jun 27, 2024 at 17:40:27 +0300, Laurent Pinchart wrote:\n> > >> On Thu, Jun 27, 2024 at 07:11:22PM +0530, Umang Jain wrote:\n> > >> > On 27/06/24 2:09 pm, Jai Luthra wrote:\n> > >> > > The j721e-csi2rx driver pipeline uses no converters, so enable the\n> > >> > > software ISP plugin support. This is handy for boards with AM62 SoC\n> > >> > > (like BeaglePlay) that have no HW ISP.\n> > >> > >\n> > >> > > Tested with IMX519 on SK-AM62 running a kernel built with dmabuf heap\n> > >> > > support.\n> > >> > >\n> > >> > > Signed-off-by: Jai Luthra <j-luthra@ti.com>\n> > >> > \n> > >> > Probably worth having a Tested-by: Tag here as well. Just provide one on \n> > >> > the thread, if you have tested it.\n> > >\n> > > Ah okay. I thought those tags are for others and not for patch \n> > > submitter. But yes I have tested it so,\n> > >\n> > > Tested-by: Jai Luthra <j-luthra@ti.com>\n> > \n> > I have tested it with SK-AM69 + IMX219:\n> > \n> > Tested-by: Milan Zamazal <mzamazal@redhat.com>\n> > \n> > >> I generally assume that, unless otherwise noted, patch submitters will\n> > >> have arranged for code to be tested :-)\n> > >> \n> > >> Is there a risk of regression for working use cases by enabling the soft\n> > >> ISP ? I'm thinking in particular of losing the ability to capture images\n> > >> from YUV sensors (if the simple pipeline handler doesn't skip the soft\n> > >> ISP in that case),\n> > >\n> > > I have tested this with OV5640, which supports ending both raw bayer \n> > > formats, and converted YUV/RGB using the in-sensor ISP.\n> > >\n> > > With the SwISP enabled, cam tool lets me capture both the \n> > > YUV/XBGR/RGB565 directly coming from sensor, or RGB/BGR converted from \n> > > the raw bayer.\n> \n> Did I miss the raw stream being added? Does this already work that the\n> raw can be configured and accessed while the SoftISP is enabled?\n\nNo, the raw bayer formats are not exposed to the user with SoftISP \nenabled. Only the SwISP post-processed BGR/RGB output.\n\n> \n> On the X13s I do not see unprocessed streams exposed, only the SoftISP\n> formats.\n> \n> \n> How do YUV formats get passed through without being handled in the\n> SoftISP here?\n\nI am not sure where exactly that is happening in the code, but I do see \nthese logs:\n\n[0:19:22.063346150] [1269]  INFO Debayer debayer_cpu.cpp:298 Unsupported input format XBGR8888\n[0:19:22.425591115] [1269]  INFO Debayer debayer_cpu.cpp:298 Unsupported input format RGB565\n[0:19:22.426594635] [1269]  INFO Debayer debayer_cpu.cpp:298 Unsupported input format UYVY\n\nSo I assume the pipeline handler passes through any RGB/YUV pixfmt that \nthe SwISP does not support as an input.\n\n\n> \n> \n> > > Here are the logs of `cam -c1 -I`: https://0x0.st/XmOS.txt\n\nFull logs with OV5640 are here ^\n\n> > >\n> > >\n> > >> and the ability to capture raw images from Bayer\n> > >> sensors. The latter is likely less of an issue, it could probably be\n> > >> implemented a bit later if it's not there yet.\n> > >\n> > > This is true, and I personally do use cam tool to capture raw bayer \n> > > data, as it is more convenient compared to using v4l2-ctl/yavta - given \n> > > it sets the routes and formats on all subdevs for me.\n> > >\n> > > It would be great to be able to be able to choose that through either \n> > > CLI options or the config file support Milan proposed. But I wouldn't \n> > > call missing that a regression, as actual end-users of a camera almost \n> > > always want a usable RGB image :)\n> > \n> > I'm inclined to this opinion too.  And yes, my config file patches are\n> > posted, updated and solving the true/false problem for all the\n> > pipelines, just waiting for reviews. :-)\n> \n> I don't object to merging this patch - I do think it's probably more\n> demonstrative of the purpose of libcamera, and the raw captures can\n> already be captured through other tools (with some additional\n> configuration) - but I don't actually think the configuration options\n> remove the bool enablement for the soft-isp - it just 'moves' it.\n> \n> The only way we can remove the softisp enable flag is if the\n> simple-pipeline handler exposes the raw stream which doesn't process\n> through the SoftISP.\n\nAh okay, yes that seems fine for now.\n\n> \n> \n> Anyway, for this patch:\n> \n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> \n> \n> > \n> > >> > Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> > >> > \n> > >> > > ---\n> > >> > >   src/libcamera/pipeline/simple/simple.cpp | 2 +-\n> > >> > >   1 file changed, 1 insertion(+), 1 deletion(-)\n> > >> > >\n> > >> > > diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n> > >> > > index eb36578e..812c492e 100644\n> > >> > > --- a/src/libcamera/pipeline/simple/simple.cpp\n> > >> > > +++ b/src/libcamera/pipeline/simple/simple.cpp\n> > >> > > @@ -198,7 +198,7 @@ namespace {\n> > >> > >   static const SimplePipelineInfo supportedDevices[] = {\n> > >> > >          { \"dcmipp\", {}, false },\n> > >> > >          { \"imx7-csi\", { { \"pxp\", 1 } }, false },\n> > >> > > -        { \"j721e-csi2rx\", {}, false },\n> > >> > > +        { \"j721e-csi2rx\", {}, true },\n> > >> > >          { \"mtk-seninf\", { { \"mtk-mdp\", 3 } }, false },\n> > >> > >          { \"mxc-isi\", {}, false },\n> > >> > >          { \"qcom-camss\", {}, true },\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 4CCFABDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 10 Jul 2024 11:44:57 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 6C9436336F;\n\tWed, 10 Jul 2024 13:44:56 +0200 (CEST)","from lelv0142.ext.ti.com (lelv0142.ext.ti.com [198.47.23.249])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 518CC619AD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 10 Jul 2024 13:44:54 +0200 (CEST)","from fllv0034.itg.ti.com ([10.64.40.246])\n\tby lelv0142.ext.ti.com (8.15.2/8.15.2) with ESMTP id 46ABioAO073322; \n\tWed, 10 Jul 2024 06:44:50 -0500","from DFLE108.ent.ti.com (dfle108.ent.ti.com [10.64.6.29])\n\tby fllv0034.itg.ti.com (8.15.2/8.15.2) with ESMTPS id 46ABioTQ072531\n\t(version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=FAIL);\n\tWed, 10 Jul 2024 06:44:50 -0500","from flwvowa02.ent.ti.com (10.64.41.53) by DFLE108.ent.ti.com\n\t(10.64.6.29) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23;\n\tWed, 10 Jul 2024 06:44:50 -0500","from DFLE102.ent.ti.com (10.64.6.23) by flwvowa02.ent.ti.com\n\t(10.64.41.53) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2507.34;\n\tWed, 10 Jul 2024 06:44:49 -0500","from lelvsmtp5.itg.ti.com (10.180.75.250) by DFLE102.ent.ti.com\n\t(10.64.6.23) with Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2507.23\n\tvia Frontend Transport; Wed, 10 Jul 2024 06:44:49 -0500","from localhost (jluthra.dhcp.ti.com [172.24.227.116])\n\tby lelvsmtp5.itg.ti.com (8.15.2/8.15.2) with ESMTP id 46ABimRa044654; \n\tWed, 10 Jul 2024 06:44:49 -0500"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ti.com header.i=@ti.com header.b=\"q27w41TB\";\n\tdkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ti.com;\n\ts=ti-com-17Q1; t=1720611890;\n\tbh=8VJGuzURoiQ7pKqs9b7UyiK8lP3XdqQYdoy0+TESDhc=;\n\th=Date:From:To:CC:Subject:In-Reply-To;\n\tb=q27w41TBg0Brthrgv1BsHOw5PICbtre18x07HENxUIKwgSyKeGobl7EIjMNFZ2BZ1\n\tgyFGadNhIuer/xqAY9GrRv8v/gQ3K++8k48F6BWJhyLdhCxthqk/DiqvRYJmLH9AwU\n\tJdDnRFPtxF0wrzM4enRWCH5qbxcX0cA7fbd/GrxE=","Date":"Wed, 10 Jul 2024 17:14:48 +0530","From":"Jai Luthra <j-luthra@ti.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>, Milan Zamazal\n\t<mzamazal@redhat.com>","CC":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>, Umang Jain\n\t<umang.jain@ideasonboard.com>, <libcamera-devel@lists.libcamera.org>","Subject":"Re: Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","Message-ID":"<m4veykbxd5i2mfczthipbafar6di6j4akf3ybdf76qmhionh6m@3c33xq2u6z7e>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Disposition":"inline","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<172060895995.392292.17569388762030103495@ping.linuxembedded.co.uk>","X-EXCLAIMER-MD-CONFIG":"e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180","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":30383,"web_url":"https://patchwork.libcamera.org/comment/30383/","msgid":"<87zfqph22m.fsf@redhat.com>","date":"2024-07-10T12:19:13","subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Kieran Bingham <kieran.bingham@ideasonboard.com> writes:\n\n> Quoting Milan Zamazal (2024-07-10 11:11:12)\n>> Hi Jai,\n>> \n>\n>> thank you for the patch.\n>> \n>> Jai Luthra <j-luthra@ti.com> writes:\n>> \n>> > Hi Laurent, Umang,\n>> >\n>> > On Jun 27, 2024 at 17:40:27 +0300, Laurent Pinchart wrote:\n>> >> On Thu, Jun 27, 2024 at 07:11:22PM +0530, Umang Jain wrote:\n>> >> > On 27/06/24 2:09 pm, Jai Luthra wrote:\n>> >> > > The j721e-csi2rx driver pipeline uses no converters, so enable the\n>> >> > > software ISP plugin support. This is handy for boards with AM62 SoC\n>> >> > > (like BeaglePlay) that have no HW ISP.\n>> >> > >\n>> >> > > Tested with IMX519 on SK-AM62 running a kernel built with dmabuf heap\n>> >> > > support.\n>> >> > >\n>> >> > > Signed-off-by: Jai Luthra <j-luthra@ti.com>\n>> >> > \n>> >> > Probably worth having a Tested-by: Tag here as well. Just provide one on \n>> >> > the thread, if you have tested it.\n>> >\n>> > Ah okay. I thought those tags are for others and not for patch \n>> > submitter. But yes I have tested it so,\n>> >\n>> > Tested-by: Jai Luthra <j-luthra@ti.com>\n>> \n>> I have tested it with SK-AM69 + IMX219:\n>> \n>> Tested-by: Milan Zamazal <mzamazal@redhat.com>\n>> \n>> >> I generally assume that, unless otherwise noted, patch submitters will\n>> >> have arranged for code to be tested :-)\n>> >> \n>> >> Is there a risk of regression for working use cases by enabling the soft\n>> >> ISP ? I'm thinking in particular of losing the ability to capture images\n>> >> from YUV sensors (if the simple pipeline handler doesn't skip the soft\n>> >> ISP in that case),\n>> >\n>> > I have tested this with OV5640, which supports ending both raw bayer \n>> > formats, and converted YUV/RGB using the in-sensor ISP.\n>> >\n>> > With the SwISP enabled, cam tool lets me capture both the \n>> > YUV/XBGR/RGB565 directly coming from sensor, or RGB/BGR converted from \n>> > the raw bayer.\n>\n> Did I miss the raw stream being added? Does this already work that the\n> raw can be configured and accessed while the SoftISP is enabled?\n>\n> On the X13s I do not see unprocessed streams exposed, only the SoftISP\n> formats.\n>\n>\n> How do YUV formats get passed through without being handled in the\n> SoftISP here?\n>\n>\n>> > Here are the logs of `cam -c1 -I`: https://0x0.st/XmOS.txt\n>> >\n>> >\n>> >> and the ability to capture raw images from Bayer\n>> >> sensors. The latter is likely less of an issue, it could probably be\n>> >> implemented a bit later if it's not there yet.\n>> >\n>> > This is true, and I personally do use cam tool to capture raw bayer \n>> > data, as it is more convenient compared to using v4l2-ctl/yavta - given \n>> > it sets the routes and formats on all subdevs for me.\n>> >\n>> > It would be great to be able to be able to choose that through either \n>> > CLI options or the config file support Milan proposed. But I wouldn't \n>> > call missing that a regression, as actual end-users of a camera almost \n>> > always want a usable RGB image :)\n>> \n>> I'm inclined to this opinion too.  And yes, my config file patches are\n>> posted, updated and solving the true/false problem for all the\n>> pipelines, just waiting for reviews. :-)\n>\n> I don't object to merging this patch - I do think it's probably more\n> demonstrative of the purpose of libcamera, and the raw captures can\n> already be captured through other tools (with some additional\n> configuration) - but I don't actually think the configuration options\n> remove the bool enablement for the soft-isp - it just 'moves' it.\n\nYes, what I meant was just that with making it configurable we don't\nhave to decide which boolean value should be unconditionally imposed on\na pipeline.\n\n> The only way we can remove the softisp enable flag is if the\n> simple-pipeline handler exposes the raw stream which doesn't process\n> through the SoftISP.\n\nIs anybody going to work on this (maybe Andrei IIRC?)?\n\n> Anyway, for this patch:\n>\n> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n>\n>\n>> \n>> >> > Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n>> >> > \n>> >> > > ---\n>> >> > >   src/libcamera/pipeline/simple/simple.cpp | 2 +-\n>> >> > >   1 file changed, 1 insertion(+), 1 deletion(-)\n>> >> > >\n>> >> > > diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n>> >> > > index eb36578e..812c492e 100644\n>> >> > > --- a/src/libcamera/pipeline/simple/simple.cpp\n>> >> > > +++ b/src/libcamera/pipeline/simple/simple.cpp\n>> >> > > @@ -198,7 +198,7 @@ namespace {\n>> >> > >   static const SimplePipelineInfo supportedDevices[] = {\n>> >> > >          { \"dcmipp\", {}, false },\n>> >> > >          { \"imx7-csi\", { { \"pxp\", 1 } }, false },\n>> >> > > -        { \"j721e-csi2rx\", {}, false },\n>> >> > > +        { \"j721e-csi2rx\", {}, true },\n>> >> > >          { \"mtk-seninf\", { { \"mtk-mdp\", 3 } }, false },\n>> >> > >          { \"mxc-isi\", {}, false },\n>> >> > >          { \"qcom-camss\", {}, true },\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 C343CBD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 10 Jul 2024 12:19:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id B8C296336F;\n\tWed, 10 Jul 2024 14:19:20 +0200 (CEST)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.129.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AE498619AD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 10 Jul 2024 14:19:19 +0200 (CEST)","from mail-ej1-f71.google.com (mail-ej1-f71.google.com\n\t[209.85.218.71]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-475-iETN7OhoNB-PaFvEGZBh8g-1; Wed, 10 Jul 2024 08:19:17 -0400","by mail-ej1-f71.google.com with SMTP id\n\ta640c23a62f3a-a77d98ed6ebso350518766b.3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 10 Jul 2024 05:19:17 -0700 (PDT)","from nuthatch (ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\ta640c23a62f3a-a780a6bcc8csm158349066b.17.2024.07.10.05.19.14\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tWed, 10 Jul 2024 05:19:14 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"YFJG06QL\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1720613958;\n\th=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n\tto:to:cc:cc:mime-version:mime-version:content-type:content-type:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=wCk9pTPqH6u7UHEVNusDHKaypgGxyRmD55TxGs95RVo=;\n\tb=YFJG06QLmVmiP6FKkcHOohzTRtonba71YWHDpoL0qxgVPwXiwC+xhtlNpO7hn226ArfwR2\n\tbZxQ3cR2qjw7yen1PmePNgFMXsxCFuX46fwcRg2IZqVsS5TjdhMpm2mhixRy5wjqZ66hhz\n\t5lnoUXaCl9Qd0qICg3TUtUjfSVyGo7k=","X-MC-Unique":"iETN7OhoNB-PaFvEGZBh8g-1","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1720613956; x=1721218756;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=wCk9pTPqH6u7UHEVNusDHKaypgGxyRmD55TxGs95RVo=;\n\tb=CB2ggk+DHkz71W8MQ3q/BIb4RXjVREmo6So1JQ+7pj0CIG5pxJKJXZRNIh0qAsfuYj\n\te3xrDgNHz5tD16uGeo3ZUqByCJ+9lDpelrJUt+0NKs8RkyUK5BYK2BfLIeT5gzNZuEij\n\t5gBgFOIBhXISCPc2G5ZEUocrrHwAd+uSmz7QjaksyloAXBOr7zdHlerCZvB2C76VU56L\n\tcio0gTxrvT2n12l9PRTK9R9EyjhyPAO6FeF9vVmeBO+r95gYIJulEhCMLcLn/lie6kQD\n\tKw8Ky4ZbTksK/H+HbCqMoI4fZKKUT82DzzqBNgaDDySkWF6Xu16KIDcf3p13PT2FkWnQ\n\t0T7Q==","X-Forwarded-Encrypted":"i=1;\n\tAJvYcCVZxxObwxzykKyJlSTSDR0TUmlLmjwDJWPTP0HYTHszCuwXnlPzWYiSTK6yMm4AYtq4jtC6vMixPuJc1+9+jc3Uqa2cREHDsnLzvbvm2ZA93Wt8tQ==","X-Gm-Message-State":"AOJu0YyflpHZK2+uQgXirfTQv/EHU3o+C1GDx8Fu92u6zWG6bNGsTori\n\tuKYMn/8hzXohsLYjcQPdwUpqRobS0XzWT/loMcpXsBDmVV9wcAvyPcaUdb89+Pvmh5d/3aKyjj4\n\tOog65gBwzfLdC7cHTQfrWojbjY+13dkMCx4cX+TGivGeQcGEkLq3z1v1qeOtm/DK6+Al/5D+I8L\n\thS2t8B80Ytw5a8+WyB1KDgc/75HFgOhEhzQY693GB0PgB4H2V1pAykkzw=","X-Received":["by 2002:a17:907:e92:b0:a6f:586b:6c1 with SMTP id\n\ta640c23a62f3a-a780b88459emr472105366b.56.1720613955714; \n\tWed, 10 Jul 2024 05:19:15 -0700 (PDT)","by 2002:a17:907:e92:b0:a6f:586b:6c1 with SMTP id\n\ta640c23a62f3a-a780b88459emr472103166b.56.1720613955244; \n\tWed, 10 Jul 2024 05:19:15 -0700 (PDT)"],"X-Google-Smtp-Source":"AGHT+IHiofbdDY6gfRn7R46hDeqHSkYpqBK6J8Ze/j5JFRrqkJ/A46r85bKS5dNUpo5GkduwVNNWLg==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Jai Luthra <j-luthra@ti.com>,  Laurent Pinchart\n\t<laurent.pinchart@ideasonboard.com>,  Umang Jain\n\t<umang.jain@ideasonboard.com>,  libcamera-devel@lists.libcamera.org","Subject":"Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","In-Reply-To":"<172060895995.392292.17569388762030103495@ping.linuxembedded.co.uk>\n\t(Kieran Bingham's message of \"Wed, 10 Jul 2024 11:55:59 +0100\")","References":"<tvz7oi5nxcoy63d3uhxwzusqfxuzrnbge5h7qqby4j4r7sfe7p@erukfdvqlvzx>\n\t<874j8ximkf.fsf@redhat.com>\n\t<172060895995.392292.17569388762030103495@ping.linuxembedded.co.uk>","Date":"Wed, 10 Jul 2024 14:19:13 +0200","Message-ID":"<87zfqph22m.fsf@redhat.com>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","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":30443,"web_url":"https://patchwork.libcamera.org/comment/30443/","msgid":"<20240722001250.GE5732@pendragon.ideasonboard.com>","date":"2024-07-22T00:12:50","subject":"Re: Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Wed, Jul 10, 2024 at 05:14:48PM +0530, Jai Luthra wrote:\n> On Jul 10, 2024 at 11:55:59 +0100, Kieran Bingham wrote:\n> > Quoting Milan Zamazal (2024-07-10 11:11:12)\n> > > Jai Luthra <j-luthra@ti.com> writes:\n> > > >> On Thu, Jun 27, 2024 at 07:11:22PM +0530, Umang Jain wrote:\n> > > >> > On 27/06/24 2:09 pm, Jai Luthra wrote:\n> > > >> > > The j721e-csi2rx driver pipeline uses no converters, so enable the\n> > > >> > > software ISP plugin support. This is handy for boards with AM62 SoC\n> > > >> > > (like BeaglePlay) that have no HW ISP.\n> > > >> > >\n> > > >> > > Tested with IMX519 on SK-AM62 running a kernel built with dmabuf heap\n> > > >> > > support.\n> > > >> > >\n> > > >> > > Signed-off-by: Jai Luthra <j-luthra@ti.com>\n> > > >> > \n> > > >> > Probably worth having a Tested-by: Tag here as well. Just provide one on \n> > > >> > the thread, if you have tested it.\n> > > >\n> > > > Ah okay. I thought those tags are for others and not for patch \n> > > > submitter. But yes I have tested it so,\n> > > >\n> > > > Tested-by: Jai Luthra <j-luthra@ti.com>\n> > > \n> > > I have tested it with SK-AM69 + IMX219:\n> > > \n> > > Tested-by: Milan Zamazal <mzamazal@redhat.com>\n> > > \n> > > >> I generally assume that, unless otherwise noted, patch submitters will\n> > > >> have arranged for code to be tested :-)\n> > > >> \n> > > >> Is there a risk of regression for working use cases by enabling the soft\n> > > >> ISP ? I'm thinking in particular of losing the ability to capture images\n> > > >> from YUV sensors (if the simple pipeline handler doesn't skip the soft\n> > > >> ISP in that case),\n> > > >\n> > > > I have tested this with OV5640, which supports ending both raw bayer \n> > > > formats, and converted YUV/RGB using the in-sensor ISP.\n> > > >\n> > > > With the SwISP enabled, cam tool lets me capture both the \n> > > > YUV/XBGR/RGB565 directly coming from sensor, or RGB/BGR converted from \n> > > > the raw bayer.\n> > \n> > Did I miss the raw stream being added? Does this already work that the\n> > raw can be configured and accessed while the SoftISP is enabled?\n> \n> No, the raw bayer formats are not exposed to the user with SoftISP \n> enabled. Only the SwISP post-processed BGR/RGB output.\n\nIt shouldn't be too difficult to add (hopefully). In\nSimpleCameraData::tryPipeline(), we construct a Configuration object\nwith input and output formats. We could add the unconverted formats to\nthe outputFormats, and adjust other code locations to bypass the\nconverter/ISP when the capture and output format are identical.\n\nThere may be other ways to achieve the same result without requiring\nmanual checks in validate() and configure() though. I haven't really\ntried to see what the most elegant implementation could be like. As the\ncode is quite complex already, we should try to consolidate similar\nchecks and code paths with helper functions, or the implementation will\nbecome unmaintainable.\n\nAnyway, this can be implemented later. I'll merge this patch.\n\n> > On the X13s I do not see unprocessed streams exposed, only the SoftISP\n> > formats.\n> > \n> > How do YUV formats get passed through without being handled in the\n> > SoftISP here?\n> \n> I am not sure where exactly that is happening in the code, but I do see \n> these logs:\n> \n> [0:19:22.063346150] [1269]  INFO Debayer debayer_cpu.cpp:298 Unsupported input format XBGR8888\n> [0:19:22.425591115] [1269]  INFO Debayer debayer_cpu.cpp:298 Unsupported input format RGB565\n> [0:19:22.426594635] [1269]  INFO Debayer debayer_cpu.cpp:298 Unsupported input format UYVY\n> \n> So I assume the pipeline handler passes through any RGB/YUV pixfmt that \n> the SwISP does not support as an input.\n> \n> > > > Here are the logs of `cam -c1 -I`: https://0x0.st/XmOS.txt\n> \n> Full logs with OV5640 are here ^\n> \n> > > >> and the ability to capture raw images from Bayer\n> > > >> sensors. The latter is likely less of an issue, it could probably be\n> > > >> implemented a bit later if it's not there yet.\n> > > >\n> > > > This is true, and I personally do use cam tool to capture raw bayer \n> > > > data, as it is more convenient compared to using v4l2-ctl/yavta - given \n> > > > it sets the routes and formats on all subdevs for me.\n> > > >\n> > > > It would be great to be able to be able to choose that through either \n> > > > CLI options or the config file support Milan proposed. But I wouldn't \n> > > > call missing that a regression, as actual end-users of a camera almost \n> > > > always want a usable RGB image :)\n> > > \n> > > I'm inclined to this opinion too.  And yes, my config file patches are\n> > > posted, updated and solving the true/false problem for all the\n> > > pipelines, just waiting for reviews. :-)\n> > \n> > I don't object to merging this patch - I do think it's probably more\n> > demonstrative of the purpose of libcamera, and the raw captures can\n> > already be captured through other tools (with some additional\n> > configuration) - but I don't actually think the configuration options\n> > remove the bool enablement for the soft-isp - it just 'moves' it.\n> > \n> > The only way we can remove the softisp enable flag is if the\n> > simple-pipeline handler exposes the raw stream which doesn't process\n> > through the SoftISP.\n> \n> Ah okay, yes that seems fine for now.\n> \n> > Anyway, for this patch:\n> > \n> > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> > \n> > > >> > Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>\n> > > >> > \n> > > >> > > ---\n> > > >> > >   src/libcamera/pipeline/simple/simple.cpp | 2 +-\n> > > >> > >   1 file changed, 1 insertion(+), 1 deletion(-)\n> > > >> > >\n> > > >> > > diff --git a/src/libcamera/pipeline/simple/simple.cpp b/src/libcamera/pipeline/simple/simple.cpp\n> > > >> > > index eb36578e..812c492e 100644\n> > > >> > > --- a/src/libcamera/pipeline/simple/simple.cpp\n> > > >> > > +++ b/src/libcamera/pipeline/simple/simple.cpp\n> > > >> > > @@ -198,7 +198,7 @@ namespace {\n> > > >> > >   static const SimplePipelineInfo supportedDevices[] = {\n> > > >> > >          { \"dcmipp\", {}, false },\n> > > >> > >          { \"imx7-csi\", { { \"pxp\", 1 } }, false },\n> > > >> > > -        { \"j721e-csi2rx\", {}, false },\n> > > >> > > +        { \"j721e-csi2rx\", {}, true },\n> > > >> > >          { \"mtk-seninf\", { { \"mtk-mdp\", 3 } }, false },\n> > > >> > >          { \"mxc-isi\", {}, false },\n> > > >> > >          { \"qcom-camss\", {}, true },","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 01CA6BDB1C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 22 Jul 2024 00:13:11 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A02D16336F;\n\tMon, 22 Jul 2024 02:13:10 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7F4F0619BD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 22 Jul 2024 02:13:08 +0200 (CEST)","from pendragon.ideasonboard.com (81-175-209-231.bb.dnainternet.fi\n\t[81.175.209.231])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 23C6745B;\n\tMon, 22 Jul 2024 02:12:27 +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=\"moYztRsL\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1721607147;\n\tbh=FYzQKSFyGM15IQtGYEXqoalkYpxV6jSOW4vbi5jWtMU=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=moYztRsLY4dttWc2cvZcktROt1V667xY00UsjUwqowz1YfI0IlC8EEmEjPMaNY7yw\n\tIeE+A3Si8fiV2lDrOVXNhIrcpLfWeAcyOHgEvggRMeZb8/x1dvhW2+kkfPo3CDkkt0\n\teVew48vu6HOuJJMPfCqcd1gDsvDEJvUkVBX7vGQA=","Date":"Mon, 22 Jul 2024 03:12:50 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Jai Luthra <j-luthra@ti.com>","Cc":"Kieran Bingham <kieran.bingham@ideasonboard.com>,\n\tMilan Zamazal <mzamazal@redhat.com>,\n\tUmang Jain <umang.jain@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Subject":"Re: Re: [PATCH] libcamera: pipeline: simple: Enable Soft ISP for TI\n\tCSI-RX","Message-ID":"<20240722001250.GE5732@pendragon.ideasonboard.com>","References":"<172060895995.392292.17569388762030103495@ping.linuxembedded.co.uk>\n\t<m4veykbxd5i2mfczthipbafar6di6j4akf3ybdf76qmhionh6m@3c33xq2u6z7e>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<m4veykbxd5i2mfczthipbafar6di6j4akf3ybdf76qmhionh6m@3c33xq2u6z7e>","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>"}}]