[{"id":40059,"web_url":"https://patchwork.libcamera.org/comment/40059/","msgid":"<178594953500.2300677.1590817690597195738@ping.linuxembedded.co.uk>","date":"2026-08-05T17:05:35","subject":"Re: [PATCH v7 19/32] ipa: libipa: lsc_base: Add sampleForCrop\n\tdocumentation","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Jacopo Mondi (2026-08-05 17:13:01)\n> Now that we have two in-tree implementations of LscImplementation\n> detail how the two perform lsc gain re-sampling.\n> \n> Signed-off-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com>\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\n> ---\n>  src/ipa/libipa/lsc_base.cpp | 15 +++++++++++++++\n>  1 file changed, 15 insertions(+)\n> \n> diff --git a/src/ipa/libipa/lsc_base.cpp b/src/ipa/libipa/lsc_base.cpp\n> index b50460394925..1015cdc7cf4c 100644\n> --- a/src/ipa/libipa/lsc_base.cpp\n> +++ b/src/ipa/libipa/lsc_base.cpp\n> @@ -103,6 +103,21 @@ void Interpolator<lsc::Components>::\n>   * each segment of size 0.0625 and the list of nodes position will be\n>   * [0, 0.0625, 0.125, 0.1875, ... , 1]. It is expected that the first position\n>   * is 0 and the last position is 1.\n> + *\n> + * LSC tables are expressed in two formats:\n> + * - A list of gain values (LscTable)\n> + * - A radial polynomial (LscPolynomial)\n> + *\n> + * Table-based LSC tables are generated using an image at a fixed resolution and\n> + * can't at the moment be re-sampled when a different resolution is used for a\n> + * streaming session. Re-sampling a grid LSC table will return the same table\n> + * as loaded from the tuning file.\n> + *\n> + * \\todo: Implement grid based re-sampling\n> + *\n> + * Polynomial configurations are more flexible and can be re-sampled for a given\n> + * sensor frame resolution using a list of horizontal and vertical nodes that\n> + * define the LSC grid on which the polynomial is re-sampled on.\n>   */\n>  \n>  } /* namespace ipa */\n> \n> -- \n> 2.54.0\n>","headers":{"Return-Path":"<libcamera-devel-bounces@lists.libcamera.org>","X-Original-To":"parsemail@patchwork.libcamera.org","Delivered-To":"parsemail@patchwork.libcamera.org","Received":["from lancelot.ideasonboard.com (lancelot.ideasonboard.com\n\t[92.243.16.209])\n\tby patchwork.libcamera.org (Postfix) with ESMTPS id 05BD6C3303\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  5 Aug 2026 17:05:40 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id E61AD6812A;\n\tWed,  5 Aug 2026 19:05:39 +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 270C268124\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  5 Aug 2026 19:05:38 +0200 (CEST)","from monstersaurus.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 7DF0B493;\n\tWed,  5 Aug 2026 19:04: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=\"OzFTLilb\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1785949467;\n\tbh=wA5KLStt6b7T4cNR5HHqr5xuAZurxC3MfXsarrmooJI=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=OzFTLilbqims2MMSy1yIYvrMQ8k7wj/f0oErldYgaQICZLfBprnp5LwANBGee0221\n\tbhwHh3JKYMoAE0RzRKnLCpsyxxz+dZvQANMQrwEWJI226cZ4jKBQyvbcIFY2rtn892\n\tLvnNwua1Z0fIwU4/7YbK0TQ7lAhmfCKiYsJrssFc=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20260805-libipa-algorithms-v7-19-7425b5b795d4@ideasonboard.com>","References":"<20260805-libipa-algorithms-v7-0-7425b5b795d4@ideasonboard.com>\n\t<20260805-libipa-algorithms-v7-19-7425b5b795d4@ideasonboard.com>","Subject":"Re: [PATCH v7 19/32] ipa: libipa: lsc_base: Add sampleForCrop\n\tdocumentation","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>,\n\tMilan Zamazal <mzamazal@redhat.com>,\n\tStefan Klug <stefan.klug@ideasonboard.com>,\n\tlibcamera-devel@lists.libcamera.org","Date":"Wed, 05 Aug 2026 18:05:35 +0100","Message-ID":"<178594953500.2300677.1590817690597195738@ping.linuxembedded.co.uk>","User-Agent":"alot/0.9.1","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>"}}]