Patch Detail
Show a patch.
GET /api/1.1/patches/24458/?format=api
{ "id": 24458, "url": "https://patchwork.libcamera.org/api/1.1/patches/24458/?format=api", "web_url": "https://patchwork.libcamera.org/patch/24458/", "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": "<20250925192856.77881-5-mzamazal@redhat.com>", "date": "2025-09-25T19:28:53", "name": "[v4,4/7] libcamera: software_isp: Check processed window size alignment", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "d0e7f0c0c9c167ccc6c3bd01e69a023d0278da67", "submitter": { "id": 177, "url": "https://patchwork.libcamera.org/api/1.1/people/177/?format=api", "name": "Milan Zamazal", "email": "mzamazal@redhat.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/24458/mbox/", "series": [ { "id": 5458, "url": "https://patchwork.libcamera.org/api/1.1/series/5458/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5458", "date": "2025-09-25T19:28:49", "name": "Fix stats related problems in software ISP", "version": 4, "mbox": "https://patchwork.libcamera.org/series/5458/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/24458/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/24458/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 26FECC328C\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 25 Sep 2025 19:29:24 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 19D046B601;\n\tThu, 25 Sep 2025 21:29:23 +0200 (CEST)", "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 C1C7F6B5F3\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 25 Sep 2025 21:29:16 +0200 (CEST)", "from mx-prod-mc-03.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-214-Lg0AhNAePEaHwAyWYPRCsQ-1;\n\tThu, 25 Sep 2025 15:29:14 -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-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTPS id 127C119560B5; Thu, 25 Sep 2025 19:29:13 +0000 (UTC)", "from mzamazal-thinkpadp1gen7.tpbc.com (unknown [10.44.32.62])\n\tby mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix)\n\twith ESMTP id A7D861956095; Thu, 25 Sep 2025 19:29:10 +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=\"EBAtDIXW\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n\ts=mimecast20190719; t=1758828555;\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\tin-reply-to:in-reply-to:references:references;\n\tbh=kxWXAsfsXBoBanj0UP0moQFq7qNzO+r51HP0qQyCo4E=;\n\tb=EBAtDIXWdIRFPK7cS1HBRa7EhA2s15FVcRghzsRf744nCYp2WFIAnmlV0IHDEKhN8IkgK6\n\tU+T05NKpex+GYhCAMFzUCIb3cFKgbByMP19+PXHvzUECLCAZBEdKZzOHgngnKipZK+cbpJ\n\tPIWNbj6VZyRBjlSsNeg+uiRkKBJOQJ8=", "X-MC-Unique": "Lg0AhNAePEaHwAyWYPRCsQ-1", "X-Mimecast-MFC-AGG-ID": "Lg0AhNAePEaHwAyWYPRCsQ_1758828553", "From": "Milan Zamazal <mzamazal@redhat.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Milan Zamazal <mzamazal@redhat.com>, pobrn@protonmail.com,\n\tmail@maciej.szmigiero.name, =?utf-8?q?Barnab=C3=A1s_P=C5=91cze?=\n\t<barnabas.pocze@ideasonboard.com>", "Subject": "[PATCH v4 4/7] libcamera: software_isp: Check processed window size\n\talignment", "Date": "Thu, 25 Sep 2025 21:28:53 +0200", "Message-ID": "<20250925192856.77881-5-mzamazal@redhat.com>", "In-Reply-To": "<20250925192856.77881-1-mzamazal@redhat.com>", "References": "<20250925192856.77881-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-MFC-PROC-ID": "yZ3ghKfvNbn_jAyBT2TtLw14LrPJAPX9udlhgzmAkJg_1758828553", "X-Mimecast-Originator": "redhat.com", "Content-Type": "text/plain; charset=UTF-8", "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": "The window of the image that should be debayered must be aligned to the\nbayer pattern size (this is a requirement of the current debayering\nimplementation). This is already ensured for the window corner\ncoordinates but not for the window sizes.\n\nWe can either make the window sizes aligned similarly to how the window\ncorner coordinates are aligned or reject an unaligned configuration.\nThis patches chooses the latter as using a different window size than\nthe requested output size could lead to artefacts. Since such a\nsituation is not expected to occur in correctly set up environments, the\nchange should have no negative impact.\n\nReviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>\nReviewed-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name>\nSigned-off-by: Milan Zamazal <mzamazal@redhat.com>\n---\n src/libcamera/software_isp/debayer_cpu.cpp | 10 ++++++++++\n 1 file changed, 10 insertions(+)", "diff": "diff --git a/src/libcamera/software_isp/debayer_cpu.cpp b/src/libcamera/software_isp/debayer_cpu.cpp\nindex 5f3f22f07..b3b326d9c 100644\n--- a/src/libcamera/software_isp/debayer_cpu.cpp\n+++ b/src/libcamera/software_isp/debayer_cpu.cpp\n@@ -552,7 +552,17 @@ int DebayerCpu::configure(const StreamConfiguration &inputCfg,\n \twindow_.y = ((inputCfg.size.height - outputCfg.size.height) / 2) &\n \t\t ~(inputConfig_.patternSize.height - 1);\n \twindow_.width = outputCfg.size.width;\n+\tif (window_.width % inputConfig_.patternSize.width != 0) {\n+\t\tLOG(Debayer, Error)\n+\t\t\t<< \"Output width is not a multiple of the bayer pattern width\";\n+\t\treturn -EINVAL;\n+\t}\n \twindow_.height = outputCfg.size.height;\n+\tif (window_.height % inputConfig_.patternSize.height != 0) {\n+\t\tLOG(Debayer, Error)\n+\t\t\t<< \"Output height is not a multiple of the bayer pattern height\";\n+\t\treturn -EINVAL;\n+\t}\n \n \t/*\n \t * Set the stats window to the whole processed window. Its coordinates are\n", "prefixes": [ "v4", "4/7" ] }