{"id":23556,"url":"https://patchwork.libcamera.org/api/covers/23556/?format=json","web_url":"https://patchwork.libcamera.org/cover/23556/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20250613100947.589875-1-stefan.klug@ideasonboard.com>","date":"2025-06-13T10:09:35","name":"[v2,0/4] ipa: pwl: Fixes for single point PWLs","submitter":{"id":184,"url":"https://patchwork.libcamera.org/api/people/184/?format=json","name":"Stefan Klug","email":"stefan.klug@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/23556/mbox/","series":[{"id":5217,"url":"https://patchwork.libcamera.org/api/series/5217/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5217","date":"2025-06-13T10:09:35","name":"ipa: pwl: Fixes for single point PWLs","version":2,"mbox":"https://patchwork.libcamera.org/series/5217/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/23556/comments/","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 E6038BDE6B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 13 Jun 2025 10:10:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id A8F8C68DBB;\n\tFri, 13 Jun 2025 12:10:05 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E1EAE68DB4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 13 Jun 2025 12:10:03 +0200 (CEST)","from ideasonboard.com (unknown\n\t[IPv6:2a00:6020:448c:6c00:37bc:6352:9b26:2f94])\n\tby perceval.ideasonboard.com (Postfix) with UTF8SMTPSA id 6AED3ED;\n\tFri, 13 Jun 2025 12:09: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=\"gp8zhg+W\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1749809393;\n\tbh=CaJcjBpS/Rj6FChWH9KElFnKukMpcNrEC+F3zNP47mo=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=gp8zhg+Wp395NfE66+s2T/WRwxPecnITS96wCZ7neaLlEVJJlG6fLKTrz8pxw04TK\n\tNpNPA0EGxph438MmDsRZ0H+kSEcccPTJ6BEmSCFc2+QyM2v0DSqvzXeqO4eIkjmMQ0\n\tPSg5/mo5V/WXpUEEklx9wNoNujGRiNosv1/gg0Yc=","From":"Stefan Klug <stefan.klug@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Stefan Klug <stefan.klug@ideasonboard.com>","Subject":"[PATCH v2 0/4] ipa: pwl: Fixes for single point PWLs","Date":"Fri, 13 Jun 2025 12:09:35 +0200","Message-ID":"<20250613100947.589875-1-stefan.klug@ideasonboard.com>","X-Mailer":"git-send-email 2.48.1","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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>"},"content":"In our tuning files we have several occasions where we interpolate some\nvalue (like colour temperature probabilities) based on some other value\n(like lux levels) using the Pwl class.\n\nIn cases where this interpolation is not wanted it is tempting to just\nput a single pair of values into the tuning file. Unfortunately this\ndoesn't work as the Pwl refuses to work with a single point. There is no\n(to my knowlege) reason not to support that usecase.\n\nUpdate v2: \n\nThis series add support for the single point Pwls. After the feedback in\nv1 I kept the extrapolation code in place and only fixed the\ndocumentation for that.\n\nBest regards,\nStefan\n\nStefan Klug (4):\n  test: ipa: Add basic Pwl test\n  libipa: pwl: Improve documentation\n  test: ipa: Add failing test for single point Pwl\n  libipa: pwl: Fix single point Pwl\n\n src/ipa/libipa/pwl.cpp      | 19 +++++++------\n test/ipa/libipa/meson.build |  1 +\n test/ipa/libipa/pwl.cpp     | 57 +++++++++++++++++++++++++++++++++++++\n 3 files changed, 69 insertions(+), 8 deletions(-)\n create mode 100644 test/ipa/libipa/pwl.cpp"}