[{"id":34083,"web_url":"https://patchwork.libcamera.org/comment/34083/","msgid":"<20250430083151.GA6838@pendragon.ideasonboard.com>","date":"2025-04-30T08:31:51","subject":"Re: [PATCH 0/1] Allow algorithms to be disabled via the tuning file","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"Hi Isaac,\n\nOn Tue, Apr 29, 2025 at 01:48:05PM +0100, Isaac Scott wrote:\n> In many use cases, including debugging, it would be useful to disable\n> individual algorithms to ensure the effects of one algorithm are not\n> affecting others. This patch adds this functionality by allowing users\n> to mark algorithms as \"disabled\" in their camera sensor's tuning file.\n\nWhy do we need this, when we can simply comment them out ?\n\n> Isaac Scott (1):\n>   libipa: Allow disabling algorithms via the tuning file\n> \n>  src/ipa/libipa/module.h | 7 +++++++\n>  1 file changed, 7 insertions(+)","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 1F76EBE08B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 30 Apr 2025 08:32:02 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3A21668AD5;\n\tWed, 30 Apr 2025 10:32:01 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 87C10617DE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 30 Apr 2025 10:31:59 +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 138D0AF;\n\tWed, 30 Apr 2025 10:31: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=\"fPwvpZGq\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1746001913;\n\tbh=yqd44YAYEaSVeZQsLIkhM8pgG7H9s2qiZHexLkRW6wE=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=fPwvpZGqEVX3iP913TECy/ZdrXXtrIN0EYsJMvugAZRCF16H1Dvz/TeKgw8yQ6mOr\n\tJA6TOwZ+Mj8CrkH5lMqYNzN6m/w65ADnCEod7AttBfuU5M4UPl69sdK2ddtxVfNWE7\n\tbuzUqtVGH+isN1vJsYyCFdb9zRCn1D2zR+5hm/pY=","Date":"Wed, 30 Apr 2025 11:31:51 +0300","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Isaac Scott <isaac.scott@ideasonboard.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","Subject":"Re: [PATCH 0/1] Allow algorithms to be disabled via the tuning file","Message-ID":"<20250430083151.GA6838@pendragon.ideasonboard.com>","References":"<20250429124806.138056-1-isaac.scott@ideasonboard.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<20250429124806.138056-1-isaac.scott@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":34084,"web_url":"https://patchwork.libcamera.org/comment/34084/","msgid":"<174600272893.1586992.5901347144462603837@ping.linuxembedded.co.uk>","date":"2025-04-30T08:45:28","subject":"Re: [PATCH 0/1] Allow algorithms to be disabled via the tuning file","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Laurent Pinchart (2025-04-30 09:31:51)\n> Hi Isaac,\n> \n> On Tue, Apr 29, 2025 at 01:48:05PM +0100, Isaac Scott wrote:\n> > In many use cases, including debugging, it would be useful to disable\n> > individual algorithms to ensure the effects of one algorithm are not\n> > affecting others. This patch adds this functionality by allowing users\n> > to mark algorithms as \"disabled\" in their camera sensor's tuning file.\n> \n> Why do we need this, when we can simply comment them out ?\n\nThere can be /many/ lines to comment out for a single algorithm.\n\nhttps://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/rkisp1/data/ov8858.yaml#n8\nfor instance ...\n\nOr for developing/testing - add a single 'disable:' statement - and you\ncan toggle it quickly. You can even comment out the single disable line\nto re-enable it without modifying other lines...\n\nThe upstream tuning files we have for libipa are quite simple - but they\ncan grow substantially once we start adding noise reduction, DPC, or\ndewarp parameters for instance.\n\nNot libipa, but trying to comment out AWB from this tuning file for\ninstance would be quite cumbersome:\n\n https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/rpi/vc4/data/imx219.json#n42\n\n \n> > Isaac Scott (1):\n> >   libipa: Allow disabling algorithms via the tuning file\n> > \n> >  src/ipa/libipa/module.h | 7 +++++++\n> >  1 file changed, 7 insertions(+)\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 43C16C327D\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 30 Apr 2025 08:45:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 3914968AD8;\n\tWed, 30 Apr 2025 10:45: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 6AE6768AD0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 30 Apr 2025 10:45:31 +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 DD8EFAF;\n\tWed, 30 Apr 2025 10:45: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=\"sBRLR2j0\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1746002725;\n\tbh=a3K1/txbN55oGbRkV2ZQlpY8o3k4THZDgu7HX28WMuw=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=sBRLR2j0Loj50AigU90wQI4QRiciI66GI8TTDxBXZL+lV04yCGdvF0dOcNdEpFZmN\n\thpw6JEX+pZGlUEM8QR3I1DQJs4VpzqBOTSk6/mbWWayCzsY12l+BS+nr4QAfti6GR8\n\t/i8yh78ghfEOF8e5Rfir34eFVogp5Ts1nkQhdNP4=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20250430083151.GA6838@pendragon.ideasonboard.com>","References":"<20250429124806.138056-1-isaac.scott@ideasonboard.com>\n\t<20250430083151.GA6838@pendragon.ideasonboard.com>","Subject":"Re: [PATCH 0/1] Allow algorithms to be disabled via the tuning file","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"libcamera devel <libcamera-devel@lists.libcamera.org>","To":"Isaac Scott <isaac.scott@ideasonboard.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Date":"Wed, 30 Apr 2025 09:45:28 +0100","Message-ID":"<174600272893.1586992.5901347144462603837@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":34213,"web_url":"https://patchwork.libcamera.org/comment/34213/","msgid":"<20250513074410.GB7625@pendragon.ideasonboard.com>","date":"2025-05-13T07:44:10","subject":"Re: [PATCH 0/1] Allow algorithms to be disabled via the tuning file","submitter":{"id":2,"url":"https://patchwork.libcamera.org/api/people/2/","name":"Laurent Pinchart","email":"laurent.pinchart@ideasonboard.com"},"content":"On Wed, Apr 30, 2025 at 09:45:28AM +0100, Kieran Bingham wrote:\n> Quoting Laurent Pinchart (2025-04-30 09:31:51)\n> > On Tue, Apr 29, 2025 at 01:48:05PM +0100, Isaac Scott wrote:\n> > > In many use cases, including debugging, it would be useful to disable\n> > > individual algorithms to ensure the effects of one algorithm are not\n> > > affecting others. This patch adds this functionality by allowing users\n> > > to mark algorithms as \"disabled\" in their camera sensor's tuning file.\n> > \n> > Why do we need this, when we can simply comment them out ?\n> \n> There can be /many/ lines to comment out for a single algorithm.\n> \n> https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/rkisp1/data/ov8858.yaml#n8\n> for instance ...\n> \n> Or for developing/testing - add a single 'disable:' statement - and you\n> can toggle it quickly. You can even comment out the single disable line\n> to re-enable it without modifying other lines...\n> \n> The upstream tuning files we have for libipa are quite simple - but they\n> can grow substantially once we start adding noise reduction, DPC, or\n> dewarp parameters for instance.\n> \n> Not libipa, but trying to comment out AWB from this tuning file for\n> instance would be quite cumbersome:\n> \n>  https://git.libcamera.org/libcamera/libcamera.git/tree/src/ipa/rpi/vc4/data/imx219.json#n42\n\nThis just means you don't have implemented the right macro in your text\neditor ;-)\n\nJokes aside, I'm OK with this patch if people find it useful, even if I\ndon't find commenting blocks from tuning files painful myself. As Stefan\nmentioned, an \"enabled\" property would be better. Please expand the\npatch in v2 to also document the property somewhere.\n\nNote that this means the \"enabled\" property will become reserved by\nlibipa, no algorithms will be able to use it for custom purposes. I\ndon't think that's much of a problem.\n\n> > > Isaac Scott (1):\n> > >   libipa: Allow disabling algorithms via the tuning file\n> > > \n> > >  src/ipa/libipa/module.h | 7 +++++++\n> > >  1 file changed, 7 insertions(+)","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 86B00C3220\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 13 May 2025 07:44:21 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A651668B55;\n\tTue, 13 May 2025 09:44:20 +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 168F968B51\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 13 May 2025 09:44:19 +0200 (CEST)","from pendragon.ideasonboard.com (unknown [146.0.27.149])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 2C63782E;\n\tTue, 13 May 2025 09:44:03 +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=\"MGUITtML\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1747122243;\n\tbh=hnqqGqZ97WgtFJEsOYAa2sAAS8vpz4G6MC/Yg0psO34=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=MGUITtMLeE0KLkqpw9h5vxDsHYdLZlcLlvWQeh7E8xta5g/0YPhLuEuG9nquh5Rzv\n\t+YwNPldcZA3ymNR3TFqPsaRW1KKlNaGiYF6J+XszeiG6qwgnE9YNR4frFozqab9js1\n\tAgX/t/wrWd+YbUHd2G8If5ffjc732eyQbUGpkpGU=","Date":"Tue, 13 May 2025 09:44:10 +0200","From":"Laurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Isaac Scott <isaac.scott@ideasonboard.com>,\n\tlibcamera devel <libcamera-devel@lists.libcamera.org>","Subject":"Re: [PATCH 0/1] Allow algorithms to be disabled via the tuning file","Message-ID":"<20250513074410.GB7625@pendragon.ideasonboard.com>","References":"<20250429124806.138056-1-isaac.scott@ideasonboard.com>\n\t<20250430083151.GA6838@pendragon.ideasonboard.com>\n\t<174600272893.1586992.5901347144462603837@ping.linuxembedded.co.uk>","MIME-Version":"1.0","Content-Type":"text/plain; charset=utf-8","Content-Disposition":"inline","In-Reply-To":"<174600272893.1586992.5901347144462603837@ping.linuxembedded.co.uk>","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>"}}]