[{"id":38437,"web_url":"https://patchwork.libcamera.org/comment/38437/","msgid":"<CAPhyPA72cuAqh4_tYJi3WVeYrdz7WejZ6bYDwXgEdO5u19Ud8A@mail.gmail.com>","date":"2026-03-27T10:12:20","subject":"Re: [PATCH v2] ipa: rpi: Fix gamma lookup table generation for PiSP\n\tplatform","submitter":{"id":130,"url":"https://patchwork.libcamera.org/api/people/130/","name":"Nick Hollinghurst","email":"nick.hollinghurst@raspberrypi.com"},"content":"Hi David,\n\nLGTM\n\nReviewed-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>\n\n\nOn Fri, 27 Mar 2026 at 09:03, David Plowman\n<david.plowman@raspberrypi.com> wrote:\n>\n> generateLut was failing to fill in the final slope value, meaning that\n> fully saturated pixels would full slightly short (the slope of the\n> final piecewise linear segment would default to zero).\n>\n> The loop is slightly reorganised to fix the problem.\n>\n> Signed-off-by: David Plowman <david.plowman@raspberrypi.com>\n> ---\n>  src/ipa/rpi/pisp/pisp.cpp | 42 +++++++++++++++++----------------------\n>  1 file changed, 18 insertions(+), 24 deletions(-)\n>\n> diff --git a/src/ipa/rpi/pisp/pisp.cpp b/src/ipa/rpi/pisp/pisp.cpp\n> index ec7593ff..2abb59fa 100644\n> --- a/src/ipa/rpi/pisp/pisp.cpp\n> +++ b/src/ipa/rpi/pisp/pisp.cpp\n> @@ -80,36 +80,30 @@ int generateLut(const ipa::Pwl &pwl, uint32_t *lut, std::size_t lutSize,\n>         if (pwl.empty())\n>                 return -EINVAL;\n>\n> -       int lastY = 0;\n> +       int nextY = pwl.eval(0);\n>         for (unsigned int i = 0; i < lutSize; i++) {\n> -               int x, y;\n> -               if (i < 32)\n> -                       x = i * 512;\n> -               else if (i < 48)\n> -                       x = (i - 32) * 1024 + 16384;\n> +               unsigned int nextI = i + 1;\n> +\n> +               int nextX;\n> +               if (nextI < 32)\n> +                       nextX = nextI * 512;\n> +               else if (nextI < 48)\n> +                       nextX = (nextI - 32) * 1024 + 16384;\n>                 else\n> -                       x = std::min(65535u, (i - 48) * 2048 + 32768);\n> +                       nextX = (nextI - 48) * 2048 + 32768;\n>\n> -               y = pwl.eval(x);\n> -               if (y < 0 || (i && y < lastY)) {\n> -                       LOG(IPARPI, Error)\n> -                               << \"Malformed PWL for Gamma, disabling!\";\n> -                       return -1;\n> -               }\n> +               int y = nextY;\n> +               nextY = pwl.eval(nextX);\n>\n> -               if (i) {\n> -                       unsigned int slope = y - lastY;\n> -                       if (slope >= (1u << SlopeBits)) {\n> -                               slope = (1u << SlopeBits) - 1;\n> -                               LOG(IPARPI, Info)\n> -                                       << (\"Maximum Gamma slope exceeded, adjusting!\");\n> -                               y = lastY + slope;\n> -                       }\n> -                       lut[i - 1] |= slope << PosBits;\n> +               unsigned int slope = nextY - y;\n> +               if (slope >= (1u << SlopeBits)) {\n> +                       slope = (1u << SlopeBits) - 1;\n> +                       LOG(IPARPI, Info)\n> +                               << \"Maximum Gamma slope exceeded, adjusting!\";\n> +                       nextY = y + slope;\n>                 }\n>\n> -               lut[i] = y;\n> -               lastY = y;\n> +               lut[i] = y | (slope << PosBits);\n>         }\n>\n>         return 0;\n> --\n> 2.47.3\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 36D76BDCBD\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 27 Mar 2026 10:12:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 5859E62C6C;\n\tFri, 27 Mar 2026 11:12:33 +0100 (CET)","from mail-ej1-x636.google.com (mail-ej1-x636.google.com\n\t[IPv6:2a00:1450:4864:20::636])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7068F6271A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 27 Mar 2026 11:12:32 +0100 (CET)","by mail-ej1-x636.google.com with SMTP id\n\ta640c23a62f3a-b9382e59c0eso313955666b.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 27 Mar 2026 03:12:32 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"X3vhPJYu\"; dkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; t=1774606352; cv=none;\n\td=google.com; s=arc-20240605;\n\tb=B9T3aKjfcznWSSbpw7ba41QcF6LdCsPybc8ANC3k9r9rd34lJjH8z8U/2DBZgrNZfO\n\t5Rb1okbsXgya+scSodO7e+ZydABfrA1nSPfmg+jylh8HmfZ/VG3v6ARiNr601QhojuJH\n\tEtxvv6EhA/8PoCMUIzLgcCyix0R1JLxfDzrpr0bYVUuq/1gdDE80RxwzpvYF5K6angbt\n\tTCR/NGPHA4s6QMzlq8Fwz01g235vzL1yc2aKU8SkXfPttAqJ5Xhe9kZUqpp9WpUmaCTA\n\tgGZIb4da6jGezb8cI7OF6xoOlLa4GGfZDKXQmlsSQeM3Te60w/EQHVFQ/TwXliG0faYd\n\teoyg==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=arc-20240605; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:dkim-signature;\n\tbh=FwW41QHei+yzdHgvku9fTIxwOFQ+JMwpzpR9ksgDnfc=;\n\tfh=raf7gMhxwhTsDETG3li6wpOfdJf6YyDg/c7aYJ8coN8=;\n\tb=OQK9bgRTPmOaaGzuMZKMDhpDJDYA/TSezBhiooP693bXQcALG/Pgv8oEfJHX+GruDN\n\tS1XLEzPOkMr2ApPrT5dRLxiVwC+QnNbxd94qw/vkbkc/eeJaLp3xxYBznIh8C3w/BO8z\n\tAXjCsfAPQaX8RBHXcz1RFS5rX7JyZJab6lUM9bNYPALdF3ti6tuxmFSzj8fmSOR+twRL\n\tA80Le9Zbsuqt8VMXjHwdIlVMclrA5XySK14A+Kr/9/uey06WkkwblZDrlI2g1rLy14NQ\n\tTGPh1OnooTJz8eHaEZVziHtUUt+AkjfoX5Trn8AUZDWjGJnpTRmcGx8mtVqRXCl/lbv9\n\ttO1A==; darn=lists.libcamera.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1774606352; x=1775211152;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=FwW41QHei+yzdHgvku9fTIxwOFQ+JMwpzpR9ksgDnfc=;\n\tb=X3vhPJYugNVXokhVyTZe8PzHKe++y6qkI785aO97thy41NVV2eK0QsR0zhHKqBpnjG\n\tYQYKuKV6sQG/hiDtNsiExGYI1Lk2GctTk+cHPpnKBfDUsa6IuozC6NsJAs75GOwzCehA\n\tbbxE1rVsaTTEdMe2kmR0yBLruqpPVwsxSSXGvr6QiE/zJpjlwmWA3ggP3gI96UUlSUjJ\n\t8CH2nrkTSJ1BMyWg4HT74t2aKZanaed2rDxduszRNL4dmzvdVQSHGwhc/MEhv6xXGjrC\n\t3TDQrNB96KCTTiAKEI1r7AZleGj0pW0tmuwqWrJpFurCgWqfGjIM/9OaavLETK2LJabM\n\tpwvQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1774606352; x=1775211152;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=FwW41QHei+yzdHgvku9fTIxwOFQ+JMwpzpR9ksgDnfc=;\n\tb=SZzSgSfi70G5TPPiNwbPcsMFEHcSvBUu68HvtIE0JaH/CumVsqZ/KUgqoJCa6wwY+0\n\tMGZlc/rn85mSRsnst6mkcP6h+ZJegvzLicIp0PTEQr2Zct7QvkfapyqwTn+7PJTpLhZE\n\t51XeNl1pyjH0oRIAYCzzzvHua0UkmflejJh/zVcK1RaJq0kdjspPbLVmR9pfdI+WAaAU\n\t7vs7faenZfZ75TWvHYqM1OXcWTLo460LXASh9CTCbTEceakgq+3+0doDmoRyJoO4ImIZ\n\tS3zBFiYPJ7AkiIDsMMgwIoOVx76NLCmIaj2ddNAV5/vU+wpnXPLiShO+Oeobvvsymp2M\n\tkAhA==","X-Gm-Message-State":"AOJu0YzutzsKgHItNy9DSPFYZ36POzSKAGOoybm24tr3qg8z18nesmXU\n\tqjrGlj5X0bZXhWC+eJ7SEJKbFxij+aZwt+Y+umOx0o09kqGzLrwV87rn4tjliZtRCbhS/BgE7/N\n\t0LOREtluxY/ZxclPOPftkdH6BMR6Gsfnz5iwTbWWh9G1xx6DgKHKcm8U=","X-Gm-Gg":"ATEYQzy6nJMMzmje5v2F1WT+grWHz4lEfdY/Zr9RxpFfEkzNWev2oWM8oI+2GyZ/ona\n\tbaXoAQ7GbDPbeWMR6WjmPzqy+f1nHP1OvkfZ3TJGzrscO5X+VlrorUIyrlYqc4PVQEo9X8LYeNW\n\tpUu0ILWqVelsnZgQldHLQ4vKosQBpn+ESMftN8v1KpiOU2+E4SaKumSWwGXqQ4+X2hGm6/5Xrki\n\tR0MkNV/yh92mnWe2lvZj9/FPVHmjHJeFauhwODCnvNevklNzExP4iyZ8n8b6w0nCbxyn5vSNGt7\n\thCoaWLlR9MD3eAMcA8lJT3z2kfLAQvyuyjRkY1w=","X-Received":"by 2002:a17:906:9fcb:b0:b97:ce8f:b9db with SMTP id\n\ta640c23a62f3a-b9b502bffccmr123176266b.10.1774606351667;\n\tFri, 27 Mar 2026 03:12:31 -0700 (PDT)","MIME-Version":"1.0","References":"<20260327090323.2250-1-david.plowman@raspberrypi.com>","In-Reply-To":"<20260327090323.2250-1-david.plowman@raspberrypi.com>","From":"Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>","Date":"Fri, 27 Mar 2026 10:12:20 +0000","X-Gm-Features":"AQROBzD3H_z_kktUSoEZv-Pk6CfuQ8hHr4J5TGftI9JBmDipXvS0RoSXRw0h3aI","Message-ID":"<CAPhyPA72cuAqh4_tYJi3WVeYrdz7WejZ6bYDwXgEdO5u19Ud8A@mail.gmail.com>","Subject":"Re: [PATCH v2] ipa: rpi: Fix gamma lookup table generation for PiSP\n\tplatform","To":"David Plowman <david.plowman@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"UTF-8\"","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":38479,"web_url":"https://patchwork.libcamera.org/comment/38479/","msgid":"<CAEmqJPoOUs_RvsWe_cqKzFau6FLttxG8LH90fbPknVi0CVoh=g@mail.gmail.com>","date":"2026-04-01T10:03:32","subject":"Re: [PATCH v2] ipa: rpi: Fix gamma lookup table generation for PiSP\n\tplatform","submitter":{"id":34,"url":"https://patchwork.libcamera.org/api/people/34/","name":"Naushir Patuck","email":"naush@raspberrypi.com"},"content":"Hi David,\n\nOn Fri, 27 Mar 2026 at 09:03, David Plowman\n<david.plowman@raspberrypi.com> wrote:\n>\n> generateLut was failing to fill in the final slope value, meaning that\n> fully saturated pixels would full slightly short (the slope of the\n> final piecewise linear segment would default to zero).\n>\n> The loop is slightly reorganised to fix the problem.\n>\n> Signed-off-by: David Plowman <david.plowman@raspberrypi.com>\n\nReviewed-by: Naushir Patuck <naush@rasbperrypi.com>\n\n> ---\n>  src/ipa/rpi/pisp/pisp.cpp | 42 +++++++++++++++++----------------------\n>  1 file changed, 18 insertions(+), 24 deletions(-)\n>\n> diff --git a/src/ipa/rpi/pisp/pisp.cpp b/src/ipa/rpi/pisp/pisp.cpp\n> index ec7593ff..2abb59fa 100644\n> --- a/src/ipa/rpi/pisp/pisp.cpp\n> +++ b/src/ipa/rpi/pisp/pisp.cpp\n> @@ -80,36 +80,30 @@ int generateLut(const ipa::Pwl &pwl, uint32_t *lut, std::size_t lutSize,\n>         if (pwl.empty())\n>                 return -EINVAL;\n>\n> -       int lastY = 0;\n> +       int nextY = pwl.eval(0);\n>         for (unsigned int i = 0; i < lutSize; i++) {\n> -               int x, y;\n> -               if (i < 32)\n> -                       x = i * 512;\n> -               else if (i < 48)\n> -                       x = (i - 32) * 1024 + 16384;\n> +               unsigned int nextI = i + 1;\n> +\n> +               int nextX;\n> +               if (nextI < 32)\n> +                       nextX = nextI * 512;\n> +               else if (nextI < 48)\n> +                       nextX = (nextI - 32) * 1024 + 16384;\n>                 else\n> -                       x = std::min(65535u, (i - 48) * 2048 + 32768);\n> +                       nextX = (nextI - 48) * 2048 + 32768;\n>\n> -               y = pwl.eval(x);\n> -               if (y < 0 || (i && y < lastY)) {\n> -                       LOG(IPARPI, Error)\n> -                               << \"Malformed PWL for Gamma, disabling!\";\n> -                       return -1;\n> -               }\n> +               int y = nextY;\n> +               nextY = pwl.eval(nextX);\n>\n> -               if (i) {\n> -                       unsigned int slope = y - lastY;\n> -                       if (slope >= (1u << SlopeBits)) {\n> -                               slope = (1u << SlopeBits) - 1;\n> -                               LOG(IPARPI, Info)\n> -                                       << (\"Maximum Gamma slope exceeded, adjusting!\");\n> -                               y = lastY + slope;\n> -                       }\n> -                       lut[i - 1] |= slope << PosBits;\n> +               unsigned int slope = nextY - y;\n> +               if (slope >= (1u << SlopeBits)) {\n> +                       slope = (1u << SlopeBits) - 1;\n> +                       LOG(IPARPI, Info)\n> +                               << \"Maximum Gamma slope exceeded, adjusting!\";\n> +                       nextY = y + slope;\n>                 }\n>\n> -               lut[i] = y;\n> -               lastY = y;\n> +               lut[i] = y | (slope << PosBits);\n>         }\n>\n>         return 0;\n> --\n> 2.47.3\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 78BB0BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed,  1 Apr 2026 10:04:13 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 7608A62D50;\n\tWed,  1 Apr 2026 12:04:12 +0200 (CEST)","from mail-vk1-xa2f.google.com (mail-vk1-xa2f.google.com\n\t[IPv6:2607:f8b0:4864:20::a2f])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 7539D62CF3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed,  1 Apr 2026 12:04:10 +0200 (CEST)","by mail-vk1-xa2f.google.com with SMTP id\n\t71dfb90a1353d-56cc9de9d1dso252510e0c.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 01 Apr 2026 03:04:10 -0700 (PDT)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=raspberrypi.com header.i=@raspberrypi.com\n\theader.b=\"eN66ezSQ\"; dkim-atps=neutral","ARC-Seal":"i=1; a=rsa-sha256; t=1775037849; cv=none;\n\td=google.com; s=arc-20240605;\n\tb=P+qLffiAMmDy/OBvF2l0X34j68gLOcjfe/Ufzno1c3Ou1Ccb5F0lUcWnpOt/Jahe/6\n\tKF3fxcSLLkODj5i2grIsiBgfGSLXht0CN+0ZNzxUap08N75MepLI0RrUkNdTuwZN/gNz\n\tHzxZ2QPMCNfpA5y3imv8LDaaFX+0+Or/3OcSjqAs1Sk2OMgfQAsDPpzhiGtXcP9pX1FY\n\tgpXIjgpSYStGqwqxyMemCwkaSJEjzdYHzUIjQO9IvSh7tBu6eNjuNIX82q9vgsUWPxJB\n\tTd9M4/FEhapmAHfuPxgahg5pjQDum7BCBrvOsH7Hmn01fIdWHX9GutRZgUmvh6nQohbL\n\t5UaQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n\ts=arc-20240605; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:dkim-signature;\n\tbh=2jDZD2PCVD/KXtlxeaF6JR6fKSoJHRsf4ejvnBGZIjA=;\n\tfh=raf7gMhxwhTsDETG3li6wpOfdJf6YyDg/c7aYJ8coN8=;\n\tb=MzyvSaMMTZx63SuR2IqgWJdvGpUIjJsV5+aBhLKTNnCIlA49Wbd6Oqadoac7bPOcTC\n\tvwjNv3L/BPEdocNbvf8I3Sy4A8ySV0i8PIqnvbJWFGLnoIcXBMND3K73BrIXFxHLDNBl\n\tmpq1BMfYHzjbfEALFyoBd9jbq5SrXFKVXkW5/hzx0bGO7hBR5iXkigoFav4D43FTRGV1\n\tMCsde71jpH6Xh1Zy2KQkN96DvaR4NNmKC7d0qyeVRSW7zJXjJuKjj3GDTFLhdbI33zWd\n\tmlGje8+ZoucNH5ndPbW4LL8rulY4G/9vt639t+toB/0wbhqlmPYAR2k1mlT9iH1YEZB+\n\tgAMQ==; darn=lists.libcamera.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1775037849; x=1775642649;\n\tdarn=lists.libcamera.org; \n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:from:to:cc:subject:date:message-id:reply-to;\n\tbh=2jDZD2PCVD/KXtlxeaF6JR6fKSoJHRsf4ejvnBGZIjA=;\n\tb=eN66ezSQm7R6zCaaiQMJwlyM7C4L7DWMQYzMQpdkhAbqKjJGXCidxg4g3IFjq68Dbj\n\tChofPtecQXqVoBWR0D9wDoW2ohSYKo2lYRrrnnHuq46fHtIEOiOdQjyLNm7GDpkM8Nhk\n\tDu2TX/lElX2D273K8Z5GWeiAHW43mlW+F10ydEv7K3dErfClmSLmSFMAmQuf/d0YhFA1\n\t8Cmh9yzuY2T4fcY5pojY5CDuNXAvBXRIXDsJVMveaK9oioNicbl8hOrKjZxjWP5WQn36\n\tK3FV9/j+UcZ05cwEIxy12uajx1CXSyVpisgUnyHYcLr1gXD7lFenjQroR3/DL41VjcMo\n\ttlew==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1775037849; x=1775642649;\n\th=cc:to:subject:message-id:date:from:in-reply-to:references\n\t:mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=2jDZD2PCVD/KXtlxeaF6JR6fKSoJHRsf4ejvnBGZIjA=;\n\tb=JGUQlg/XODCz77LHn9SRw6TptnYarLxM3aHp5P1vCsS9MqXETbUNdPRPULSG5AbCeK\n\t/0IeqYZTwEwV7zOJe5j/Zi2IDQdYAWv2MMcUBjpLZrS2T42D2kB2UHIiFGO2ZBlkRH2U\n\tXoQCzP68M1+FSjCo9G3Bmm0ULwLtLBcdFIZz+N/3mpTrsr9Db/sBjk1ri8qd6hT5ckgH\n\tHQYapgRRCNSnuM2nLOHq8Sn48pPeX1afxlJViBCo6eN7EzWO/2dYmiZeSGwh72vxVaCq\n\t4lIGXHfMw6nCPBEtH4ltXYmeGjdbDFt7r6qMza7YOiBStODTxX2zpFhp4j4lLua1yPY0\n\tptYg==","X-Gm-Message-State":"AOJu0YwGbOf3UDVCPRI+wJu79rkyeGtjdaOQAwZ52LcY9qdVKFaTPhVM\n\tXPSqszPHOMssbD2BohZXcXNtoosyI8CG7K1vBIocvnY2QK1ZRgBJ667BMQDn0brLV7mcj/9j2vK\n\t8SYqKTIlN8TYR2hzTsLClIq4rJgpDZMg8pu8xMWIsHQ==","X-Gm-Gg":"ATEYQzws4OmXQdK/I5Z8txubU1mO/Vx4J03e6u+arn6wxL0SFHkaHIYTpWq7EkToh5p\n\tKnEuPOZY0b2ZHqF8YljQncdLqkEu+fhoZYQMgCEYVpvOXY/cztQgpO1czmuCMxtWWLicqT1mPpt\n\t3CRrA3+8JPRylnDp0VXuo6Ckte9iIyemd4Aix0y18qvwkJge+tZqtzsUx2VcJXD+d5m3sTnG2B4\n\tNQiDjxOu3S2YapSNazRTMgC3KpmuzmZKGLQ1xi0IqNxMNWEMPT28xF0Ce8lTuQeHg99jMaxEesn\n\tvD4JTNRGNFtYkSsJucECwJRHMQ2aaJM7JMlnJ7Pl38gTNpENwQWGcMJI7VlCAZNWBuxpHkAWzGF\n\tmk0t6jrsm5qjVavJlCr6l+ciy","X-Received":"by 2002:a05:6122:35c8:b0:56d:10ac:2910 with SMTP id\n\t71dfb90a1353d-56d8a902597mr535729e0c.2.1775037849109; Wed, 01 Apr 2026\n\t03:04:09 -0700 (PDT)","MIME-Version":"1.0","References":"<20260327090323.2250-1-david.plowman@raspberrypi.com>","In-Reply-To":"<20260327090323.2250-1-david.plowman@raspberrypi.com>","From":"Naushir Patuck <naush@raspberrypi.com>","Date":"Wed, 1 Apr 2026 11:03:32 +0100","X-Gm-Features":"AQROBzAhrqzKEA1sGboUWUXaoPCn_5z1R5Li3o4qcv3I_R1q9QMAf2BAViu7BWQ","Message-ID":"<CAEmqJPoOUs_RvsWe_cqKzFau6FLttxG8LH90fbPknVi0CVoh=g@mail.gmail.com>","Subject":"Re: [PATCH v2] ipa: rpi: Fix gamma lookup table generation for PiSP\n\tplatform","To":"David Plowman <david.plowman@raspberrypi.com>","Cc":"libcamera-devel@lists.libcamera.org","Content-Type":"text/plain; charset=\"UTF-8\"","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>"}}]