Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/20662/?format=api
{ "id": 20662, "url": "https://patchwork.libcamera.org/api/1.1/covers/20662/?format=api", "web_url": "https://patchwork.libcamera.org/cover/20662/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/projects/1/?format=api", "name": "libcamera", "link_name": "libcamera", "list_id": "libcamera_core", "list_email": "libcamera-devel@lists.libcamera.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20240717085444.289997-1-mzamazal@redhat.com>", "date": "2024-07-17T08:54:21", "name": "[v3,00/23] Software ISP refactoring", "submitter": { "id": 177, "url": "https://patchwork.libcamera.org/api/1.1/people/177/?format=api", "name": "Milan Zamazal", "email": "mzamazal@redhat.com" }, "mbox": "https://patchwork.libcamera.org/cover/20662/mbox/", "series": [ { "id": 4454, "url": "https://patchwork.libcamera.org/api/1.1/series/4454/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4454", "date": "2024-07-17T08:54:21", "name": "Software ISP refactoring", "version": 3, "mbox": "https://patchwork.libcamera.org/series/4454/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/20662/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 8DCCCC323E\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 17 Jul 2024 08:55:06 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 572DD619A7;\n\tWed, 17 Jul 2024 10:55:05 +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 653BE619A7\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 17 Jul 2024 10:55:01 +0200 (CEST)", "from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com\n\t(ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63])\n\tby relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n\tcipher=TLS_AES_256_GCM_SHA384) id us-mta-607-tEK84he-Nr-Jp6GjEpbylw-1;\n\tWed, 17 Jul 2024 04:54:56 -0400", "from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com\n\t(mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com\n\t[10.30.177.17])\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 mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTPS id 5641019560B0; Wed, 17 Jul 2024 08:54:55 +0000 (UTC)", "from nuthatch.brq.redhat.com (unknown [10.43.17.37])\n\tby mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTP id 0F98B1955E8C; Wed, 17 Jul 2024 08:54:53 +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=\"FCeEBcFh\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1721206500;\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\tbh=MuWksGeaPqFSPXrKObDTF5Y/AwHizHBxf5y708QWbXI=;\n\tb=FCeEBcFhYAJgx+wQrPRc9L70qUfNn1C07Zh1KyFTHXkTOaUH8Hh+0ceQoiXLBDz6s+147d\n\tLOb/TaCem0GBreGtMGF4qbJgsEBppZvdYipi7AnpCSGA4UFh35RD+yWSy5IHRtQbPuMiU1\n\tmw+Tha3E4pq/zoKXJiVviYugj5h3MVs=", "X-MC-Unique": "tEK84he-Nr-Jp6GjEpbylw-1", "From": "Milan Zamazal <mzamazal@redhat.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Milan Zamazal <mzamazal@redhat.com>,\n\tUmang Jain <umang.jain@ideasonboard.com>", "Subject": "[PATCH v3 00/23] Software ISP refactoring", "Date": "Wed, 17 Jul 2024 10:54:21 +0200", "Message-ID": "<20240717085444.289997-1-mzamazal@redhat.com>", "MIME-Version": "1.0", "X-Scanned-By": "MIMEDefang 3.0 on 10.30.177.17", "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": "The purpose of this patch series is to bring software ISP code\nstructuring closer to the hardware pipelines. Most notably, the API\naround algorithm.h is used now. This should make software ISP easier to\nunderstand, extend, maintain, and code-share with the other pipelines.\n\nWhat is omitted in the patch series:\n\n- Any bigger or unrelated functional changes. The purpose of this\n series is code restructuring, which is enough already.\n- Stats and params buffers are still used in the original way. Making\n their handling closer to the hardware pipelines will be a subject of\n followup patches. This series is a preparation step for that.\n- Any IPA code sharing with hardware pipelines. If there is an\n opportunity for this, it can be addressed in followup patches.\n\nAvailable in git at\nhttps://gitlab.freedesktop.org/mzamazal/libcamera-softisp/-/commits/pdm-algorithm\n\nChanges in v3:\n- SoftwareIsp::queueRequest changed to async.\n- IPAActiveState docstring reworded.\n- Minor formatting fixes.\n\nChanges in v2:\n- Several cosmetic changes and patch arrangement problems pointed out by\n Umang applied.\n- Added ipa_context.cpp, as a documentation file for ipa_context.h.\n- Added a clarification source comment why SoftwareIsp::queueBuffers needs\n to get the frame number as a separate argument.\n- core_ipa_interface.h no longer included in module.h.\n- The context used by \"14/19 Move black level to an algorithm module\"\n was changed and the black level changes tracking was put closer to the\n pre-refactoring version, which makes more sense.\n\nMilan Zamazal (19):\n libcamera: software_isp: Remove superfluous includes\n libcamera: software_isp: Move BlackLevel to libcamera::ipa::soft\n libcamera: simple: Fix a typo in a doc string\n libcamera: software_isp: Define skeletons for IPA refactoring\n libcamera: software_isp: Let IPASoftSimple inherit Module\n libcamera: software_isp: Make stats frame and buffer aware\n libcamera: software_isp: Remove final dots in debayer.cpp docstrings\n libcamera: software_isp: Track and pass frame ids\n libcamera: software_isp: Create algorithms\n libcamera: software_isp: Call Algorithm::configure\n libcamera: software_isp: Call Algorithm::queueRequest\n libcamera: software_isp: Call Algorithm::prepare\n libcamera: software_isp: Call Algorithm::process\n libcamera: software_isp: Move black level to an algorithm module\n libcamera: software_isp: Move color handling to an algorithm module\n libcamera: software_isp: Use floating point for color parameters\n libcamera: software_isp: Use DelayedControls\n libcamera: software_isp: Move exposure+gain to an algorithm module\n libcamera: software_isp: Update black level only on exposure changes\n\nUmang Jain (4):\n libcamera: rkisp1: Drop base IPA headers inclusion\n libcamera: ipa: ipu3: Drop ipa_interface.h header\n libcamera: vimc: Drop ipa_interface.h header\n libcamera: ipa: soft_simple: Drop ipa_interface.h header\n\n .../internal/software_isp/software_isp.h | 15 +-\n include/libcamera/ipa/soft.mojom | 10 +-\n src/ipa/ipu3/ipu3.cpp | 1 -\n src/ipa/rkisp1/rkisp1.cpp | 1 -\n src/ipa/simple/algorithms/agc.cpp | 139 +++++++++\n src/ipa/simple/algorithms/agc.h | 36 +++\n src/ipa/simple/algorithms/algorithm.h | 22 ++\n src/ipa/simple/algorithms/blc.cpp | 78 +++++\n src/ipa/simple/algorithms/blc.h | 41 +++\n src/ipa/simple/algorithms/colors.cpp | 123 ++++++++\n src/ipa/simple/algorithms/colors.h | 46 +++\n src/ipa/simple/algorithms/meson.build | 7 +\n src/ipa/simple/black_level.cpp | 88 ------\n src/ipa/simple/black_level.h | 29 --\n src/ipa/simple/data/uncalibrated.yaml | 4 +\n src/ipa/simple/ipa_context.cpp | 102 +++++++\n src/ipa/simple/ipa_context.h | 67 ++++\n src/ipa/simple/meson.build | 9 +-\n src/ipa/simple/module.h | 30 ++\n src/ipa/simple/soft_simple.cpp | 285 ++++++------------\n src/ipa/vimc/vimc.cpp | 1 -\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 1 -\n src/libcamera/pipeline/simple/simple.cpp | 47 ++-\n src/libcamera/pipeline/vimc/vimc.cpp | 1 -\n src/libcamera/software_isp/TODO | 39 ---\n src/libcamera/software_isp/debayer.cpp | 51 ++--\n src/libcamera/software_isp/debayer.h | 2 +-\n src/libcamera/software_isp/debayer_cpu.cpp | 9 +-\n src/libcamera/software_isp/debayer_cpu.h | 2 +-\n src/libcamera/software_isp/software_isp.cpp | 43 ++-\n src/libcamera/software_isp/swstats_cpu.cpp | 4 +-\n src/libcamera/software_isp/swstats_cpu.h | 4 +-\n 32 files changed, 908 insertions(+), 429 deletions(-)\n create mode 100644 src/ipa/simple/algorithms/agc.cpp\n create mode 100644 src/ipa/simple/algorithms/agc.h\n create mode 100644 src/ipa/simple/algorithms/algorithm.h\n create mode 100644 src/ipa/simple/algorithms/blc.cpp\n create mode 100644 src/ipa/simple/algorithms/blc.h\n create mode 100644 src/ipa/simple/algorithms/colors.cpp\n create mode 100644 src/ipa/simple/algorithms/colors.h\n create mode 100644 src/ipa/simple/algorithms/meson.build\n delete mode 100644 src/ipa/simple/black_level.cpp\n delete mode 100644 src/ipa/simple/black_level.h\n create mode 100644 src/ipa/simple/ipa_context.cpp\n create mode 100644 src/ipa/simple/ipa_context.h\n create mode 100644 src/ipa/simple/module.h" }