{"id":20157,"url":"https://patchwork.libcamera.org/api/patches/20157/?format=json","web_url":"https://patchwork.libcamera.org/patch/20157/","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":"<20240530210957.2211897-6-mzamazal@redhat.com>","date":"2024-05-30T21:09:57","name":"[v5,5/5] libcamera: software_isp: Remove TODO about internal representation","commit_ref":null,"pull_url":null,"state":"accepted","archived":false,"hash":"bffe2261df73cd09754946df9cf4de3cf5dc5897","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/?format=json","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"delegate":null,"mbox":"https://patchwork.libcamera.org/patch/20157/mbox/","series":[{"id":4342,"url":"https://patchwork.libcamera.org/api/series/4342/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4342","date":"2024-05-30T21:09:52","name":"Software ISP levels cleanup","version":5,"mbox":"https://patchwork.libcamera.org/series/4342/mbox/"}],"comments":"https://patchwork.libcamera.org/api/patches/20157/comments/","check":"pending","checks":"https://patchwork.libcamera.org/api/patches/20157/checks/","tags":{},"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 F31AFBD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 30 May 2024 21:10:34 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 92A59634BE;\n\tThu, 30 May 2024 23:10:34 +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 7EB64634C2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 30 May 2024 23:10:28 +0200 (CEST)","from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])\n\tby relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n\tcipher=TLS_AES_256_GCM_SHA384) id us-mta-355-SlxO33mhMXmwAPebSkc7JQ-1;\n\tThu, 30 May 2024 17:10:23 -0400","from smtp.corp.redhat.com\n\t(int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\tkey-exchange X25519 server-signature RSA-PSS (2048 bits)\n\tserver-digest SHA256) (No client certificate requested)\n\tby mimecast-mx02.redhat.com (Postfix) with ESMTPS id 212E11C05122;\n\tThu, 30 May 2024 21:10:23 +0000 (UTC)","from nuthatch.redhat.com (unknown [10.45.224.24])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 8E1F440C6EB7;\n\tThu, 30 May 2024 21:10:21 +0000 (UTC)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"iejFhypz\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1717103427;\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\tcontent-transfer-encoding:content-transfer-encoding:\n\tin-reply-to:in-reply-to:references:references;\n\tbh=j0kjzg3Hv4mvw/YY3V7nth4nT2OkL8VqbvovO+kaRrI=;\n\tb=iejFhypz3y7Gbpzsvxcdoa5Vv5AHxSDdHhaXW1DJx2zZu886Obg0n9oqTyjDZIV70DimFb\n\tqPWHHQpqPV8GypwJF6YE0nMVVnMsiLvw89MHD75GjBaHTk4uqNYGzgsv1QKz8E8BRRITqf\n\t6ok0XKMKAmngGGJ/Ut2WWnyqzeKsFv8=","X-MC-Unique":"SlxO33mhMXmwAPebSkc7JQ-1","From":"Milan Zamazal <mzamazal@redhat.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Milan Zamazal <mzamazal@redhat.com>,\n\tKieran Bingham <kieran.bingham@ideasonboard.com>,\n\tAndrei Konovalov <andrey.konovalov.ynk@gmail.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","Subject":"[PATCH v5 5/5] libcamera: software_isp: Remove TODO about internal\n\trepresentation","Date":"Thu, 30 May 2024 23:09:57 +0200","Message-ID":"<20240530210957.2211897-6-mzamazal@redhat.com>","In-Reply-To":"<20240530210957.2211897-1-mzamazal@redhat.com>","References":"<20240530210957.2211897-1-mzamazal@redhat.com>","MIME-Version":"1.0","X-Scanned-By":"MIMEDefang 3.4.1 on 10.11.54.2","X-Mimecast-Spam-Score":"0","X-Mimecast-Originator":"redhat.com","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain; charset=\"US-ASCII\"; x-default=true","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":"TODO #4 was recorded at a time where the IPA module computed gain values\nand the ISP computed the look up tables.  The gains were higher-level\nparameters.  Now that the look up tables are computed in the IPA module,\nthe IPA and ISP are more tightly coupled and the TODO item is less\nrelevant.\n\nLet's drop the TODO item.  We may or may not need to switch to a\ndifferent representation in future but there is currently no good need\nfor this and the conversion of the values would be just waste of CPU\ncycles.\n\nSigned-off-by: Milan Zamazal <mzamazal@redhat.com>\n---\n src/libcamera/software_isp/TODO | 13 -------------\n 1 file changed, 13 deletions(-)","diff":"diff --git a/src/libcamera/software_isp/TODO b/src/libcamera/software_isp/TODO\nindex 4fcee39b..6bdc5905 100644\n--- a/src/libcamera/software_isp/TODO\n+++ b/src/libcamera/software_isp/TODO\n@@ -72,19 +72,6 @@ stats in hardware, such as the i.MX7), but please keep it on your radar.\n \n ---\n \n-4. Hide internal representation of gains from callers\n-\n-> struct DebayerParams {\n-> \tstatic constexpr unsigned int kGain10 = 256;\n-\n-Forcing the caller to deal with the internal representation of gains\n-isn't nice, especially given that it precludes implementing gains of\n-different precisions in different backend. Wouldn't it be better to pass\n-the values as floating point numbers, and convert them to the internal\n-representation in the implementation of process() before using them ?\n-\n----\n-\n 5. Store ISP parameters in per-frame buffers\n \n > /**\n","prefixes":["v5","5/5"]}