Show a cover letter.

GET /api/covers/22124/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 22124,
    "url": "https://patchwork.libcamera.org/api/covers/22124/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/22124/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/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": "<20241127144655.1074720-1-isaac.scott@ideasonboard.com>",
    "date": "2024-11-27T14:46:53",
    "name": "[RFC,0/2] Add BitDepthValue for simplified bit depth conversion",
    "submitter": {
        "id": 215,
        "url": "https://patchwork.libcamera.org/api/people/215/?format=api",
        "name": "Isaac Scott",
        "email": "isaac.scott@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/22124/mbox/",
    "series": [
        {
            "id": 4830,
            "url": "https://patchwork.libcamera.org/api/series/4830/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4830",
            "date": "2024-11-27T14:46:53",
            "name": "Add BitDepthValue for simplified bit depth conversion",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/4830/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/22124/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 00853C3200\n\tfor <parsemail@patchwork.libcamera.org>;\n\tWed, 27 Nov 2024 14:47:07 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id AF0D1660E2;\n\tWed, 27 Nov 2024 15:47:06 +0100 (CET)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 474CF660C4\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 27 Nov 2024 15:47:04 +0100 (CET)",
            "from isaac-ThinkPad-T16-Gen-2.lan\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 0F08B842;\n\tWed, 27 Nov 2024 15:46:41 +0100 (CET)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"SpKYkurw\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1732718801;\n\tbh=ON3RX5FbJkQbaB0OgI/MXnHacwExmPFid1+GXqsNG4k=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=SpKYkurw+w03f99UPBEJ5FQoaRkBkG0k6alHG7QxJ/juVSa8R8Y/BaVuuNqkK68zt\n\tpGgdbws5kIZ6OLgtm0zKEbNDue3O3jfCFe//pd7xm2/k8l1yfgkS4iJFT/7YXX846f\n\tdGYQf7zBRLUQhIeCWNIYf17Stgtgcs1mbf3QeX7w=",
        "From": "Isaac Scott <isaac.scott@ideasonboard.com>",
        "To": "libcamera devel <libcamera-devel@lists.libcamera.org>",
        "Cc": "Isaac Scott <isaac.scott@ideasonboard.com>",
        "Subject": "[RFC PATCH 0/2] Add BitDepthValue for simplified bit depth\n\tconversion",
        "Date": "Wed, 27 Nov 2024 14:46:53 +0000",
        "Message-ID": "<20241127144655.1074720-1-isaac.scott@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "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": "Following recent changes to black-level support, it can be unclear how we\ndefine the type used to represent it. There are many instances within\nthe codebase where bitshifting is used inline to convert values from one\nbit depth to another, or values have been converted manually from values\nlisted in datasheets.\n\nThis series implements a new BitDepthValue type that makes it explicit\nwhat bit depth a value is intended to be. It also allows for the\nabstraction of the process of converting values from one bit depth to\nanother, and allows users to assign values of one bit depth to another\nwithout having to bitshift, improving readability and reducing\nguesswork. It also avoids the possibility of human error that could\ncome into play when converting values to different bit depths manually,\nand makes it easier to store black-level values in the form that better\nmatches the datasheets.\n\nThe camera_sensor_helper classes have been converted to use\nBitDepthValue, and unit tests are included to verify the functionality\nof the changes, as well as show how they can be used.\n\nI have not included the Doxygen files yet, these will be handled if this\nis an acceptable approach.\n\n\nIsaac Scott (2):\n  libcamera: bitdepth: Add BitDepth implementation\n  libcamera: bitdepth: Adapt camera_sensor_helper to use BitDepth\n\n src/ipa/libipa/bitdepth.h               |  86 +++++++++++++++++++\n src/ipa/libipa/camera_sensor_helper.cpp |  18 ++--\n src/ipa/libipa/camera_sensor_helper.h   |   5 +-\n src/ipa/simple/algorithms/awb.cpp       |   3 +-\n src/ipa/simple/algorithms/blc.cpp       |  10 ++-\n src/ipa/simple/ipa_context.h            |   5 +-\n src/ipa/simple/soft_simple.cpp          |   5 +-\n test/ipa/libipa/bitdepth.cpp            | 107 ++++++++++++++++++++++++\n 8 files changed, 218 insertions(+), 21 deletions(-)\n create mode 100644 src/ipa/libipa/bitdepth.h\n create mode 100644 test/ipa/libipa/bitdepth.cpp"
}