[{"id":37348,"web_url":"https://patchwork.libcamera.org/comment/37348/","msgid":"<857burqvat.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","date":"2025-12-12T20:50:18","subject":"Re: [PATCH v8 26/26] libcamera: software_isp: Add a gpuisp todo list","submitter":{"id":177,"url":"https://patchwork.libcamera.org/api/people/177/","name":"Milan Zamazal","email":"mzamazal@redhat.com"},"content":"Bryan O'Donoghue <bryan.odonoghue@linaro.org> writes:\n\n> List the series of things to do in GPU ISP in perceived order of\n> difficulty.\n>\n> Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\n> ---\n>  src/libcamera/software_isp/gpuisp-todo.txt | 40 ++++++++++++++++++++++\n>  1 file changed, 40 insertions(+)\n>  create mode 100644 src/libcamera/software_isp/gpuisp-todo.txt\n>\n> diff --git a/src/libcamera/software_isp/gpuisp-todo.txt b/src/libcamera/software_isp/gpuisp-todo.txt\n> new file mode 100644\n> index 000000000..e32d7dcf8\n> --- /dev/null\n> +++ b/src/libcamera/software_isp/gpuisp-todo.txt\n> @@ -0,0 +1,40 @@\n> +List the TODOs in perceived order of ease.\n> +\n> +\n> +Denoising:\n> +\t- WIP\n> +\n> +Dead pixel correction:\n> +\t- WIP\n> +\n> +Lense shading correction:\n> +\t- WIP\n> +\n> +Use dma-buf handle to generate upload texture:\n> +\t- eglCreateImageKHR can be used to generate the upload texture i.e.\n> +\t  to feed the bayer data into the GPU.\n> +\n> +processFrame() to run in its own thread:\n> +\t- processFrame() runs in the context of the Debayer::process()\n> +\t  thread. Robert Mader suggested and it seems like a good\n> +\t  suggestion too to run processFrame() in its own thread.\n> +\n> +Multi-pass shaders:\n> +\t- This needs some rewiring the idea is to have a list\n> +\t  of algorithms as is done in cpuisp iterating through the\n> +\t  list in a for() loop.\n> +\t- The logic managing the loop has an initial input buffer\n> +\t  and the final output buffer.\n> +\t- The higher level logic must then inform each of the\n> +\t  algorithms either to generate an internal working buffer\n> +\t  or pass the final output buffer to the last shader\n> +\t  in the list\n> +\t- This will allow for multi-pass shaders with the final\n> +\t  algorithm presenting data not to its internal buffer\n> +\t  but to the final output buffer\n> +\n> +24 bit output support:\n> +\t- Need to impelment compute shader to do this.\n\nimplement\n\n> +\n> +Lense flare correction:\n> +\t- Not WIP still TBD","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 3A1E1C3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 12 Dec 2025 20:50:32 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 22C3161893;\n\tFri, 12 Dec 2025 21:50:31 +0100 (CET)","from us-smtp-delivery-124.mimecast.com\n\t(us-smtp-delivery-124.mimecast.com [170.10.133.124])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id B8E966142F\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Dec 2025 21:50:29 +0100 (CET)","from mail-wr1-f69.google.com (mail-wr1-f69.google.com\n\t[209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS\n\t(version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n\tus-mta-452-nTzjzJ8LMiauZ4h9eahZfA-1; Fri, 12 Dec 2025 15:50:22 -0500","by mail-wr1-f69.google.com with SMTP id\n\tffacd0b85a97d-42e2e5ef669so1042497f8f.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Dec 2025 12:50:22 -0800 (PST)","from mzamazal-thinkpadp1gen7.tpbc.csb\n\t(ip-77-48-47-2.net.vodafone.cz. [77.48.47.2])\n\tby smtp.gmail.com with ESMTPSA id\n\tffacd0b85a97d-42fa8a66614sm13732986f8f.5.2025.12.12.12.50.19\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 12 Dec 2025 12:50:19 -0800 (PST)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=redhat.com header.i=@redhat.com\n\theader.b=\"Q6kHxXD0\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1765572628;\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\tin-reply-to:in-reply-to:references:references;\n\tbh=lXAxUDHXinbD7+iiK2Biok3n89ZDPynmQwlYqc3XM3E=;\n\tb=Q6kHxXD0903ljrnOkDbUz7GYehb7kE/PPnQs8S+uJ7i1gTvp8eRa+2gMiFqK8aURuJbRlX\n\tQvU5H3lEArwsSfXNZR+UUiXmcvTc7F0m+d3n/078ZiXscJfaRxEuZHbnrA7c2fQSMJCc6Q\n\tzLCUuvDKdpgqOnLo6c+DN8KUtZUJyz4=","X-MC-Unique":"nTzjzJ8LMiauZ4h9eahZfA-1","X-Mimecast-MFC-AGG-ID":"nTzjzJ8LMiauZ4h9eahZfA_1765572621","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1765572621; x=1766177421;\n\th=mime-version:user-agent:message-id:date:references:in-reply-to\n\t:subject:cc:to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject\n\t:date:message-id:reply-to;\n\tbh=lXAxUDHXinbD7+iiK2Biok3n89ZDPynmQwlYqc3XM3E=;\n\tb=suB451+9S7IXg8iF+OJEVJNPud5yZOPtcHiIikfLwyUiJK5k8UegXhOI8NtBhP5q/Z\n\tf+x24dctE2MzIuJbXKqSxkiDs5nC+Tas4YsXEHVG6sIUPhOEQnCKIDxybfpbMXbVGzWU\n\tbMCnJPOsd6fqzCZXYNJSPRUvBJ2pYPfDiWsfwMu+/ugVpN0/2i6Qx6CCr76qgE/GEwfp\n\tidBDRnGXjFmou6d1cyMZPGV5rrWkIQHGOm6bQfxwjRoXDMZXxP6jfYbJ0WBUSqcXKSt4\n\tdTmYnyqycrj9qXEhuUw5aMAX6MTe6ebQKA6ysE8ly2U2BbD2Gt17pMXhYE/20Dz0LfYp\n\t7UJw==","X-Gm-Message-State":"AOJu0YxpzGw7jvPRcC1O11XqaLd0NG1c/yx7+XEL4+fwGofHrzr18k9v\n\tDmhJmk7ogi66gt3OehreAMQWmKDvvYlPNgZdyLJ5hWt1ZTARUq/C6pVsgJOdw8pdtVqJNI0VmV8\n\tzgUlHyjqVuc1HpONn+sFYgG8BPD5HhlE3hmNVrsc3Rr+Lvlcjwqf06n/LncZmqs7PH8jnKooPwE\n\tY=","X-Gm-Gg":"AY/fxX6CPwPChhzSY2lWYlvFOaoGpe55aYu4MWxficJkycol5MnOwW7SSldw6plzzFo\n\t+f3pVDGNdwt1nb/gTBDxORlpj5ttJiQfy2/EpbR1/xPnJwFxRbJvXy1Xl936XdCu2gZ44KSrvLL\n\txIe65/XD7D6w1OsvVcCTXeKMwxvd2RbL6ZjLhgYyCR/sM34caJjW5gvIg+aPoQ5rlORyu1/MZ4n\n\tJZUlrOcy6VUMTNVNApMDPM3AYhx9RVtN+r+esIT1/+i084Za1Fd6GV5f/XY248fvGnGhccZN74o\n\tyKOZ2pxvVrlESiNiADaVQSA8wW9PZuwoVU7w+V4GS9GilWEpBRPVCm7k6IPQxZhaBuM3+D989hw\n\tbilAyFzc3+FIjtMxsInYLLkSLGrs7RZiQcQui8EP2b4lx1mT/mr+XFpNVSmT3HMQ=","X-Received":["by 2002:a05:6000:2003:b0:42b:530c:d8b5 with SMTP id\n\tffacd0b85a97d-42fb48e7954mr3983809f8f.58.1765572620988; \n\tFri, 12 Dec 2025 12:50:20 -0800 (PST)","by 2002:a05:6000:2003:b0:42b:530c:d8b5 with SMTP id\n\tffacd0b85a97d-42fb48e7954mr3983787f8f.58.1765572620530; \n\tFri, 12 Dec 2025 12:50:20 -0800 (PST)"],"X-Google-Smtp-Source":"AGHT+IEw3hIRbMiV3243SOVYauXSenuQgVxEyfKl1bxJZXIV/0AjeiGvKSy+Pum5JcvXGweijSopVw==","From":"Milan Zamazal <mzamazal@redhat.com>","To":"Bryan O'Donoghue <bryan.odonoghue@linaro.org>","Cc":"libcamera-devel@lists.libcamera.org,  pavel@ucw.cz,  Kieran Bingham\n\t<kieran.bingham@ideasonboard.com>","Subject":"Re: [PATCH v8 26/26] libcamera: software_isp: Add a gpuisp todo list","In-Reply-To":"<20251212002937.3118-27-bryan.odonoghue@linaro.org> (Bryan\n\tO'Donoghue's message of \"Fri, 12 Dec 2025 00:29:37 +0000\")","References":"<20251212002937.3118-1-bryan.odonoghue@linaro.org>\n\t<20251212002937.3118-27-bryan.odonoghue@linaro.org>","Date":"Fri, 12 Dec 2025 21:50:18 +0100","Message-ID":"<857burqvat.fsf@mzamazal-thinkpadp1gen7.tpbc.csb>","User-Agent":"Gnus/5.13 (Gnus v5.13)","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"VZIgN8A0xNnKSCgjcGe8cZeOeJQQRyHkzcVVDDHHdpY_1765572621","X-Mimecast-Originator":"redhat.com","Content-Type":"text/plain","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>"}}]