Patch Detail
Show a patch.
GET /api/patches/26596/?format=api
{ "id": 26596, "url": "https://patchwork.libcamera.org/api/patches/26596/?format=api", "web_url": "https://patchwork.libcamera.org/patch/26596/", "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": "<20260501191400.985920-5-devve.3@gmail.com>", "date": "2026-05-01T19:13:13", "name": "ipa: simple: data: Document tuning parameters in uncalibrated.yaml", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "4f2f6b4cd0dff8fbb4e74fc4eaacd2d572853181", "submitter": { "id": 271, "url": "https://patchwork.libcamera.org/api/people/271/?format=api", "name": "devve", "email": "devve.3@gmail.com" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/26596/mbox/", "series": [ { "id": 5897, "url": "https://patchwork.libcamera.org/api/series/5897/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5897", "date": "2026-05-01T19:13:13", "name": "ipa: simple: data: Document tuning parameters in uncalibrated.yaml", "version": 1, "mbox": "https://patchwork.libcamera.org/series/5897/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/26596/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/26596/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 D29EBC32F8\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 1 May 2026 19:55:31 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 01EB563022;\n\tFri, 1 May 2026 21:55:29 +0200 (CEST)", "from mail-wm1-x331.google.com (mail-wm1-x331.google.com\n\t[IPv6:2a00:1450:4864:20::331])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 5ED516301A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 1 May 2026 21:14:25 +0200 (CEST)", "by mail-wm1-x331.google.com with SMTP id\n\t5b1f17b1804b1-4891c00e7aeso17785625e9.2\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 01 May 2026 12:14:25 -0700 (PDT)", "from dexps.speedport.ip\n\t(p200300eda74453f7a35e44f7d2f0427a.dip0.t-ipconnect.de.\n\t[2003:ed:a744:53f7:a35e:44f7:d2f0:427a])\n\tby smtp.gmail.com with ESMTPSA id\n\t5b1f17b1804b1-48a8eb69698sm139146305e9.1.2026.05.01.12.14.24\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 01 May 2026 12:14:24 -0700 (PDT)" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key;\n\tunprotected) header.d=gmail.com header.i=@gmail.com\n\theader.b=\"UwcrfK2e\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=gmail.com; s=20251104; t=1777662865; x=1778267665;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:from:to:cc:subject:date\n\t:message-id:reply-to;\n\tbh=KrxqAAeGAaoSzX7v1n5/Rg6Nu5Z7eqs4Ul+TkFEWhCI=;\n\tb=UwcrfK2eXcaE3pXUy95P8ZTDXnzmKS1TOK0WsVWlPn+AgB3irifOFVvwF2QvvcqITU\n\tVxWaxY2OiriDt6zpVPNK3qlsFyiImvLw+hR5f9svEthgO10vuY1MJ6Y0E9vqYxMcQdoQ\n\tB88jsgAiZ0samaDqJ7cAHoYAU/AoUMo7/eVrJs+9MPDIDgPs9JGOubHtpkAUQgAERihJ\n\tIb16MHWQH+a0M1d7VPybXeE9Ed4Be68KCL9KtpLOMGJis16tGvnz2u9/UDC0lz1xjgmF\n\twD6bsKpdijcuQZ0GKvYLamXNYUYmKeOAD9kjJZe4+K13CRnQHAWWht7ZLBmpjEY2G/vk\n\ttP6g==", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20251104; t=1777662865; x=1778267665;\n\th=content-transfer-encoding:mime-version:references:in-reply-to\n\t:message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n\t:to:cc:subject:date:message-id:reply-to;\n\tbh=KrxqAAeGAaoSzX7v1n5/Rg6Nu5Z7eqs4Ul+TkFEWhCI=;\n\tb=Tzm9M0FamqjGbWmEdm9tTWS1wO5oLiz3T9Pyk98Sq+pvFLvlmKlp8IVdjTKsJHl+46\n\tYypZC7/xDFpnwlxmruGzzxxSkDDciTJ+AjwF8wVf05z7nbY2stUeJFYcDhCwR2wROY7z\n\t6skc1MjhujlxsIJHUIIoIkyFPtyu+dKIEMS0q88hWWZS2/DbVGwuPJOUdAOPHJfsMJS9\n\tfh42zjvjZC8iGCshnlO4ESWTkM4Wi51QeCZKih0dyZ/tK7RWSzwY0Vh3OVkhUsRwnp1V\n\tJSmJvosRUv5BYDDQkd4t+oUglEEN99xDGsl0ZBCYtRAwGWKV2yi5jtOOnSDz7nuVN8uw\n\t9zMw==", "X-Gm-Message-State": "AOJu0Yx8Ft8Sc/osTcyKU4JHfZ2G36kJa8bcHAemgvTaPa1d5odUBVYg\n\trB2feMjMx0y8yE9912XbiTU5FqDtnMEFzZ6UHQ6EHvS8AZxgNwSOz2a185FGYg==", "X-Gm-Gg": "AeBDietyuejp2GPY0BOHUhP8CipmQ/dUNWjeqOs6DEg1YXtYqVvMDUSbro9waIEIzcM\n\tFAcmN9qHIaAkS/9Q9d6p7ZYBFhaw/K3W9L1pqbxNpop1PQsdx9jH9oieZ2G7Y8MoIH+nB3d0GAd\n\tEx69ujxPFOVn8ctQEnjOu4l/K2dlEssrmE+R3TV7C+PV2bc8momAwzvZW54iZb/T+SjohVlOUEy\n\tGmpSyJRDXziHu/XakZl6qAsj3HGIeIB4kZi0WF6deOF7kSX2jVWQhWeWGYULA0SDUMCuJBOsOfM\n\tHExXOQMn+fum8Xf1FuZsrU8eJzI9DzuMHM7Vk5leuLhRFHs0iHTkbdoZUChm6qTEk0R8m7WJckC\n\tPNTqlqy0hV0/WbeN/2Ar16ZgG+AHsKM9Q+03bsmDLdUHbACYF2as8HQlhMvIiecqOj7ePQR95O8\n\tajkKPm3idG02pqk5L9OVIv+4EzEdvzictQgncf939OtVN2TkXjjYHE+6H2sL9xfmnEcKZUPO8tk\n\tFjp7LM7OuhSKRSRD6r/QzmB4WJW4/U4", "X-Received": "by 2002:a05:600c:8590:b0:489:1c1f:35f9 with SMTP id\n\t5b1f17b1804b1-48a98636a93mr5140295e9.9.1777662864853; \n\tFri, 01 May 2026 12:14:24 -0700 (PDT)", "From": "d3vv3 <devve.3@gmail.com>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "d3vv3 <devve.3@gmail.com>", "Subject": "[PATCH] ipa: simple: data: Document tuning parameters in\n\tuncalibrated.yaml", "Date": "Fri, 1 May 2026 21:13:13 +0200", "Message-ID": "<20260501191400.985920-5-devve.3@gmail.com>", "X-Mailer": "git-send-email 2.54.0", "In-Reply-To": "<20260501191400.985920-1-devve.3@gmail.com>", "References": "<20260501191400.985920-1-devve.3@gmail.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Mailman-Approved-At": "Fri, 01 May 2026 21:55:24 +0200", "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": "Add comments documenting all algorithm YAML keys (BlackLevel, Awb,\nCcm, Adjust, Agc) to the uncalibrated template so sensor calibration\nauthors can discover parameters without reading source code.\nUpdate ov01a10.yaml replacing stepDenominator (removed) with\nproportionalGain for the new proportional AGC controller.\n\nSigned-off-by: d3vv3 <devve.3@gmail.com>\n---\n src/ipa/simple/data/ov01a10.yaml | 2 +-\n src/ipa/simple/data/uncalibrated.yaml | 40 +++++++++++++++++++++++----\n 2 files changed, 35 insertions(+), 7 deletions(-)", "diff": "diff --git a/src/ipa/simple/data/ov01a10.yaml b/src/ipa/simple/data/ov01a10.yaml\nindex 9b3b8007..927d9dd6 100644\n--- a/src/ipa/simple/data/ov01a10.yaml\n+++ b/src/ipa/simple/data/ov01a10.yaml\n@@ -21,5 +21,5 @@ algorithms:\n - Agc:\n exposureTarget: 1.4\n hysteresis: 0.5\n- stepDenominator: 20\n+ proportionalGain: 0.04\n ...\ndiff --git a/src/ipa/simple/data/uncalibrated.yaml b/src/ipa/simple/data/uncalibrated.yaml\nindex fc90ca52..f1bcb020 100644\n--- a/src/ipa/simple/data/uncalibrated.yaml\n+++ b/src/ipa/simple/data/uncalibrated.yaml\n@@ -3,17 +3,45 @@\n ---\n version: 1\n algorithms:\n+ # --- Black Level ---\n+ # blackLevel: 16-bit black level pedestal (optional).\n+ # If omitted, auto-detected from histogram dark end.\n - BlackLevel:\n+\n+ # --- Auto White Balance ---\n+ # maxGainR: Maximum red channel gain (default 4.0).\n+ # maxGainB: Maximum blue channel gain (default 4.0).\n+ # speed: Temporal smoothing factor 0-1 (default 1.0 = instant).\n+ # 0.25 = slow smooth, 0.5 = moderate, 1.0 = no smoothing.\n - Awb:\n- # Color correction matrices can be defined here. The CCM algorithm\n- # has a significant performance impact, and should only be enabled\n- # if tuned.\n+\n+ # --- Color Correction Matrix ---\n+ # Has a significant performance impact, and should only be\n+ # enabled if tuned. Provide ccms as a list of color temperature\n+ # entries with a 3x3 matrix:\n # - Ccm:\n # ccms:\n # - ct: 6500\n- # ccm: [ 1, 0, 0,\n- # 0, 1, 0,\n- # 0, 0, 1]\n+ # ccm: [ 1.0, 0.0, 0.0,\n+ # 0.0, 1.0, 0.0,\n+ # 0.0, 0.0, 1.0 ]\n+ # - Ccm:\n+\n+ # --- Image Adjustments ---\n+ # gamma: Gamma encoding value (default 2.2, range 0.1-10.0).\n+ # contrast: Contrast scaling (default 1.0, range 0.0-2.0).\n+ # saturation: Saturation multiplier (default 1.0, range 0.0-2.0).\n+ # Only active when CCM is enabled.\n - Adjust:\n+\n+ # --- Auto Gain/Exposure Control (proportional) ---\n+ # exposureTarget: Target MSV (mean sample value) in histogram bins.\n+ # Default: 2.5 (middle of 5-bin range).\n+ # Lower values target a darker exposure.\n+ # hysteresis: Deadband around target where no adjustment occurs.\n+ # Default 0.2. Larger values reduce sensitivity near target.\n+ # proportionalGain: Step scaling factor (default 0.04).\n+ # At max error (~2.5): factor 1.10 (~10% step).\n+ # Near target: factor ~1.01 (~1% step).\n - Agc:\n ...\n", "prefixes": [] }