Show a patch.

GET /api/patches/24184/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 24184,
    "url": "https://patchwork.libcamera.org/api/patches/24184/?format=api",
    "web_url": "https://patchwork.libcamera.org/patch/24184/",
    "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": "<20250824-b4-v0-5-2-gpuisp-v2-a-v2-1-96f4576c814e@linaro.org>",
    "date": "2025-08-24T00:48:13",
    "name": "[v2,01/37] libcamera: swstats_cpu: Update statsProcessFn() / processLine0() documentation",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "c0b0044db5a2947d522938c71bb1d10b3806dc1d",
    "submitter": {
        "id": 175,
        "url": "https://patchwork.libcamera.org/api/people/175/?format=api",
        "name": "Bryan O'Donoghue",
        "email": "bryan.odonoghue@linaro.org"
    },
    "delegate": null,
    "mbox": "https://patchwork.libcamera.org/patch/24184/mbox/",
    "series": [
        {
            "id": 5400,
            "url": "https://patchwork.libcamera.org/api/series/5400/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5400",
            "date": "2025-08-24T00:48:12",
            "name": "Add GLES 2.0 GPUISP to libcamera",
            "version": 2,
            "mbox": "https://patchwork.libcamera.org/series/5400/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/patches/24184/comments/",
    "check": "pending",
    "checks": "https://patchwork.libcamera.org/api/patches/24184/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 6EA89BEFBE\n\tfor <parsemail@patchwork.libcamera.org>;\n\tSun, 24 Aug 2025 00:48:44 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 4D7CA692E3;\n\tSun, 24 Aug 2025 02:48:41 +0200 (CEST)",
            "from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com\n\t[IPv6:2a00:1450:4864:20::42e])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 84634613BE\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSun, 24 Aug 2025 02:48:37 +0200 (CEST)",
            "by mail-wr1-x42e.google.com with SMTP id\n\tffacd0b85a97d-3c73d3ebff0so331524f8f.1\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tSat, 23 Aug 2025 17:48:37 -0700 (PDT)",
            "from [192.168.0.13] (188-141-3-146.dynamic.upc.ie. [188.141.3.146])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-45b4e1d530esm69347225e9.0.2025.08.23.17.48.36\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tSat, 23 Aug 2025 17:48:36 -0700 (PDT)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=linaro.org header.i=@linaro.org\n\theader.b=\"ZF5XWgfU\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=linaro.org; s=google; t=1755996517; x=1756601317;\n\tdarn=lists.libcamera.org; \n\th=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n\t:mime-version:subject:date:from:from:to:cc:subject:date:message-id\n\t:reply-to; bh=A2QV3Xi0zvxKKZetBfhOP6WxBrmYNONGtzIFCbwcjQ0=;\n\tb=ZF5XWgfU4vr1UT5n2aw9t3Z4dl32yBo5nTwHhWChBZAJcap4FRu4uZzEulbNAtcyBO\n\t0HcwOhT13YbKFB9IltWOSB+bU8oBq8buiOiTIRBGm4kAEcJ2kq1OrLNc/GCJ1JI6Tzqp\n\tL4tvZfu3HK2AkFgVcmauoKVxECB3jWxi/AL+z85OwRImXSy0LUBhEvg9cAmk5LxWCwMs\n\tWmVtze//WTvhZ1uEte0QjOUTJw5CvGnkjqmfoGXUH6shenxh6undvaLWjcn3IRqlviJ5\n\t+ek9ODsci9OjlGpzp5l650QonHl+c19T3DqV0V+jYM8XYve0s+Cx3fQ4OpGEwQ+qzRfT\n\tBbXg==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1755996517; x=1756601317;\n\th=cc:to:in-reply-to:references:message-id:content-transfer-encoding\n\t:mime-version:subject:date:from:x-gm-message-state:from:to:cc\n\t:subject:date:message-id:reply-to;\n\tbh=A2QV3Xi0zvxKKZetBfhOP6WxBrmYNONGtzIFCbwcjQ0=;\n\tb=l2lAj7/TBeM4wJVv0q5B+zoyGVsNJnHhdDy/knAAkMUQHC6cek/14Qin19rsoHdlwL\n\tulS1gazAN7ji6yZdQ81wDWc2gIrY2H+oyoYXQIuCe0Mp6G55W/S8/5lpNKSskvH1Noe1\n\t2YvXfzN70/3vufw/9rQzfbC49T8BVIJrF4ov9qKaH173MilWwX9Qp7hUnYTY1xjeLxz5\n\tQkvGw4QSXTQeKwzysQ/TIV7idij1YFvSOjAzDQVpbqf2yA2O4lQ2GvIbYfEyeQ/N76je\n\ty/j90nyfhSUB1SNrKZY2T5QK87O72mGXBjViQCvZLLiHn7GMdg3Fb/tLSIlDOkRWk+WO\n\tByfA==",
        "X-Gm-Message-State": "AOJu0YzzjGfS2h/1F1wby5nGD4HxlQhsrNY/4IrZLKYUjpO22bsAWZKq\n\t+kIzb82FJcelgnijwr0LNqR2np0Ghu6voLcUz0shvKZjxvDsnBuyZZzOFEYoOCt4xCc=",
        "X-Gm-Gg": "ASbGncsazRNDtsK75eHkCklfCJeZUBxKRRmSnA4/xueAL7MfTMtos3aTEXd6kqdtfhu\n\tQPtV4uX/d6IaGjtsskoX49IE1LKk2yCk66hVBijaFFpB15a309spPqvnNVFEMV+9h1LdP6lZ9Hv\n\tnb9oAqOjpVQ/JxOWFVwei+gMJdx8BL92pJ5OY9vgbKrl1/A8bxR+AnHucfXtT1PfWAImKNcFyyL\n\tCvNemTKoVkI9u4tCBVMi75Uh2xgNuUkh5FDgX+8ljg9jnfXJvjXaJjB9BPoYy5yjF1wAms5MmzR\n\t8AWrl/eB48eHnUrQUly/ZGLTK2VLY1NW2jp8Qd9KSSfKMfe8k5yfm2mpP89ZTmJCI9L0/XTCrJt\n\tezRDloouv1CsRaVXfe2QunyMSlB5z0q8lAnB1a2htVle5d+BzUn8nQXEUKwLfky+KCY+JA2ypqQ\n\tP4/cLU9fbT7P9eF7ji2E6c",
        "X-Google-Smtp-Source": "AGHT+IGqNc95uZgVXXUY+a2YFwixVur9G8WntrhqTsH394odXap6stboHVsoapVURYYMKNVoSEVxXw==",
        "X-Received": "by 2002:a05:6000:4012:b0:3c6:bd96:214e with SMTP id\n\tffacd0b85a97d-3c6bd962408mr3997788f8f.3.1755996517083; \n\tSat, 23 Aug 2025 17:48:37 -0700 (PDT)",
        "From": "Bryan O'Donoghue <bryan.odonoghue@linaro.org>",
        "Date": "Sun, 24 Aug 2025 01:48:13 +0100",
        "Subject": "[PATCH v2 01/37] libcamera: swstats_cpu: Update statsProcessFn() /\n\tprocessLine0() documentation",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "7bit",
        "Message-Id": "<20250824-b4-v0-5-2-gpuisp-v2-a-v2-1-96f4576c814e@linaro.org>",
        "References": "<20250824-b4-v0-5-2-gpuisp-v2-a-v2-0-96f4576c814e@linaro.org>",
        "In-Reply-To": "<20250824-b4-v0-5-2-gpuisp-v2-a-v2-0-96f4576c814e@linaro.org>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Cc": "Bryan O'Donoghue <bryan.odonoghue@linaro.org>, \n\tHans de Goede <hdegoede@redhat.com>, \n\tKieran Bingham <kieran.bingham@ideasonboard.com>, \n\tMilan Zamazal <mzamazal@redhat.com>",
        "X-Mailer": "b4 0.14.2",
        "X-Developer-Signature": "v=1; a=openpgp-sha256; l=2741;\n\ti=bryan.odonoghue@linaro.org; h=from:subject:message-id;\n\tbh=/+EKzkBop6oezwtSfNAh6oy5GCPuwOMLNKUoZnCfH3Y=;\n\tb=owEBbQKS/ZANAwAKASJxO7Ohjcg6AcsmYgBoqmFcSqKJ9kiawPypZmpCkMFCEEwiua7AeBBro\n\tnqPTQYQXuWJAjMEAAEKAB0WIQTmk/sqq6Nt4Rerb7QicTuzoY3IOgUCaKphXAAKCRAicTuzoY3I\n\tOgNWD/9WUz7TCT0OfX0OhQ7SoIPAShQB9pfiAwDbPf9xPdOOQ3p9wjXdn/JDME6Ob3fUUqz54Yt\n\tEk9xj0i1ktwYVyRvHhRxhLnIykQybU/NtIgDgn8dhGrJ3ai9UuYNakhRI9bdJ05nYJF2DaBF4cP\n\tJ88sp4FOO+WZxIFB1eARic7f36AForaigbkLaDEbO6a+HN+X0ULgzwd/AkNdYCGkFshcokrDfiQ\n\t+uvDytp/bQTGbdPc+aHNeyh+RRRsB8biiOTTEFy67hDuct0wsSZDDXkBp6AEaJ+Ou185IaYEWbW\n\tzr0Kt9Y5tNoxo+wuj8WRdqdDWKV/BUeJ7z0tYHCuGkLFSIk6TV++vxBTx3SjQAki6Dnjbfo2wSO\n\td1BoU0/rzQtJaE88pIhjsxaVk12JG87m14kXp60cCFcdjUvVCBgl+mBTm/eoLxsFQC7LHJCjpv6\n\tJdRGfTd4b6Sjvnhvr2jZRdYx6Je05jT9S0CTpDQJG1cB1EMMN6FLua3E+5HbY/k8xAGWTsnqFkG\n\tSCxik6a6LdRy0oEFA30J5B1HkiPDOnzxY3SxCDGeX+9nP/5+Isev0lFAjPvpAeTn9BtkU91Dl1V\n\tsY2HC2ObE0wywRV+JEk4gXl8UUzwcJMBUymC+Sev3GfEVA74chba3J1wK3L02oN4wVQGuU00VD4\n\tWyBfAtz+cTDgd0g==",
        "X-Developer-Key": "i=bryan.odonoghue@linaro.org; a=openpgp;\n\tfpr=E693FB2AABA36DE117AB6FB422713BB3A18DC83A",
        "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": "From: Hans de Goede <hdegoede@redhat.com>\n\nUpdate the documentation of the statsProcessFn() / processLine0() src[]\npointer argument to take into account that swstats_cpu may also be used\nwith planar input data or with non Bayer single plane input data.\n\nThe statsProcessFn typedef is private, so no documentation is generated\nfor it. Move the new updated src[] pointer argument documentation to\nprocessLine0() so that it gets included in the generated docs.\n\nReviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>\nReviewed-by: Milan Zamazal <mzamazal@redhat.com>\nSigned-off-by: Hans de Goede <hdegoede@redhat.com>\nSigned-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>\n---\n src/libcamera/software_isp/swstats_cpu.cpp | 27 +++++++++++++--------------\n 1 file changed, 13 insertions(+), 14 deletions(-)",
    "diff": "diff --git a/src/libcamera/software_isp/swstats_cpu.cpp b/src/libcamera/software_isp/swstats_cpu.cpp\nindex 4b77b3600e3c74d739e12e54aa96dc1660c25b99..4c078cc26d9d23daab5358a920a473cd09f123b3 100644\n--- a/src/libcamera/software_isp/swstats_cpu.cpp\n+++ b/src/libcamera/software_isp/swstats_cpu.cpp\n@@ -71,6 +71,19 @@ namespace libcamera {\n  * patternSize height == 1.\n  * It'll process line 0 and 1 for input formats with patternSize height >= 2.\n  * This function may only be called after a successful setWindow() call.\n+ *\n+ * This function takes an array of src pointers each pointing to a line in\n+ * the source image.\n+ *\n+ * Bayer input data requires (patternSize_.height + 1) src pointers, with\n+ * the middle element of the array pointing to the actual line being processed.\n+ * Earlier element(s) will point to the previous line(s) and later element(s)\n+ * to the next line(s). See the DebayerCpu::debayerFn documentation for details.\n+ *\n+ * Planar input data requires a src pointer for each plane, with src[0] pointing\n+ * to the line in plane 0, etc.\n+ *\n+ * For non Bayer single plane input data only a single src pointer is required.\n  */\n \n /**\n@@ -89,20 +102,6 @@ namespace libcamera {\n  * \\brief Signals that the statistics are ready\n  */\n \n-/**\n- * \\typedef SwStatsCpu::statsProcessFn\n- * \\brief Called when there is data to get statistics from\n- * \\param[in] src The input data\n- *\n- * These functions take an array of (patternSize_.height + 1) src\n- * pointers each pointing to a line in the source image. The middle\n- * element of the array will point to the actual line being processed.\n- * Earlier element(s) will point to the previous line(s) and later\n- * element(s) to the next line(s).\n- *\n- * See the documentation of DebayerCpu::debayerFn for more details.\n- */\n-\n /**\n  * \\var unsigned int SwStatsCpu::ySkipMask_\n  * \\brief Skip lines where this bitmask is set in y\n",
    "prefixes": [
        "v2",
        "01/37"
    ]
}