[{"id":29639,"web_url":"https://patchwork.libcamera.org/comment/29639/","msgid":"<171693786027.1680360.4596576235398126473@ping.linuxembedded.co.uk>","date":"2024-05-28T23:11:00","subject":"Re: [PATCH v4 0/5] Software ISP levels cleanup","submitter":{"id":4,"url":"https://patchwork.libcamera.org/api/people/4/","name":"Kieran Bingham","email":"kieran.bingham@ideasonboard.com"},"content":"Quoting Milan Zamazal (2024-05-28 17:11:21)\n> This is a cleanup of black level and color gain handling in software\n> ISP.  It fixes omission of black level subtraction in white balance\n> computation and moves color lookup tables computations out of\n> debayering.  The latter also serves as a preparation for bringing\n> software ISP algorithms closer to common libcamera algorithm handling,\n> in future patches.\n> \n> Changes in v4:\n> - Removed no longer used private members of DebayerCpu.\n> - Added initialization of SoftwareIsp::debayerParams_ (should fix the\n>   initial color artifacts observed by Kieran).\n\nConfirmed, \n\nTested-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\n\nAnd all green on CI:\n - https://gitlab.freedesktop.org/camera/libcamera/-/pipelines/1188426\n\n--\nKieran\n\n\n\n> Changes in v3:\n> - Casting an uint8_t value to unsigned int when logging it. \n> \n> Changes in v2:\n> - stdint.h include moved from black_level.cpp to black_level.h.\n> - Removed meaningless multiplication in black level subtraction.\n> - Removed local variable scoping block.\n> - Added a comment about subtracting black level for auto white balance.\n> - A code snippet related to black level subtraction moved to the right\n>   patch.\n> - Dropped the patch moving TODO #13 to a source code comment.\n> - Added a patch to use float rather than uint8_t gains in color lookup\n>   tables passed to debayering.\n> \n> Milan Zamazal (5):\n>   libcamera: software_isp: Use a specific integer type for black level\n>   libcamera: software_isp: Honor black level in AWB\n>   libcamera: software_isp: Move color mappings out of debayering\n>   libcamera: software_isp: Remove DebayerParams::kGain10\n>   libcamera: software_isp: Pass color lookup tables as floats\n> \n>  .../internal/software_isp/debayer_params.h    | 20 ++---\n>  src/ipa/simple/black_level.cpp                |  2 +-\n>  src/ipa/simple/black_level.h                  |  5 +-\n>  src/ipa/simple/soft_simple.cpp                | 74 ++++++++++++++-----\n>  src/libcamera/software_isp/TODO               | 13 ----\n>  src/libcamera/software_isp/debayer.cpp        | 33 ++++-----\n>  src/libcamera/software_isp/debayer_cpu.cpp    | 55 +++++---------\n>  src/libcamera/software_isp/debayer_cpu.h      | 15 ++--\n>  src/libcamera/software_isp/software_isp.cpp   | 15 +++-\n>  9 files changed, 125 insertions(+), 107 deletions(-)\n> \n> -- \n> 2.42.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 86695BD87C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 28 May 2024 23:11:05 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 595CA634B6;\n\tWed, 29 May 2024 01:11:04 +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 1C4096349B\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 29 May 2024 01:11:03 +0200 (CEST)","from pendragon.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 C2C484AB;\n\tWed, 29 May 2024 01:10:59 +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=\"DSQ7UpW1\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1716937859;\n\tbh=r29Fyr7Lya5UD/lCtOiflPkQ5a2NFd5LN8q0yoslj2k=;\n\th=In-Reply-To:References:Subject:From:Cc:To:Date:From;\n\tb=DSQ7UpW1Cw53+ilK/paiTIwHt1p/TyvEuFSgbqkWaLjOP1u2Tndlt9v+rGbLWr5Zn\n\tfJGxwjpQqD1sZAIWwi3uI8Xz5PZiRPrb13WAlaTnTbJ8PW7LHTd82CoSw/CTmuyjWN\n\tjEC4GA3EZIuXwGB+ZC3hWkDxKLPZnqIpe63fmcZQ=","Content-Type":"text/plain; charset=\"utf-8\"","MIME-Version":"1.0","Content-Transfer-Encoding":"quoted-printable","In-Reply-To":"<20240528161126.35119-1-mzamazal@redhat.com>","References":"<20240528161126.35119-1-mzamazal@redhat.com>","Subject":"Re: [PATCH v4 0/5] Software ISP levels cleanup","From":"Kieran Bingham <kieran.bingham@ideasonboard.com>","Cc":"Milan Zamazal <mzamazal@redhat.com>,\n\tAndrei Konovalov <andrey.konovalov.ynk@gmail.com>,\n\tLaurent Pinchart <laurent.pinchart@ideasonboard.com>","To":"Milan Zamazal <mzamazal@redhat.com>, libcamera-devel@lists.libcamera.org","Date":"Wed, 29 May 2024 00:11:00 +0100","Message-ID":"<171693786027.1680360.4596576235398126473@ping.linuxembedded.co.uk>","User-Agent":"alot/0.10","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>"}}]