Cover Letter Detail
Show a cover letter.
GET /api/covers/13983/?format=api
{ "id": 13983, "url": "https://patchwork.libcamera.org/api/covers/13983/?format=api", "web_url": "https://patchwork.libcamera.org/cover/13983/", "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": "<20210930093715.73293-1-jeanmichel.hautbois@ideasonboard.com>", "date": "2021-09-30T09:37:03", "name": "[libcamera-devel,v2,00/12] Improve ImgU statistics usage", "submitter": { "id": 75, "url": "https://patchwork.libcamera.org/api/people/75/?format=api", "name": "Jean-Michel Hautbois", "email": "jeanmichel.hautbois@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/cover/13983/mbox/", "series": [ { "id": 2587, "url": "https://patchwork.libcamera.org/api/series/2587/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2587", "date": "2021-09-30T09:37:03", "name": "Improve ImgU statistics usage", "version": 2, "mbox": "https://patchwork.libcamera.org/series/2587/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/13983/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 EC59FBDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 30 Sep 2021 09:37:21 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 8B8AF691B2;\n\tThu, 30 Sep 2021 11:37:20 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 9CD5A69189\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 30 Sep 2021 11:37:19 +0200 (CEST)", "from tatooine.ideasonboard.com (unknown\n\t[IPv6:2a01:e0a:169:7140:bab4:22c5:662d:e478])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 385502A8;\n\tThu, 30 Sep 2021 11:37:19 +0200 (CEST)" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"viAfveSs\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1632994639;\n\tbh=1wjBHSTNGR0qVSCbvCE8xhM507lkBZpZ2Nj/vzAhDWE=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=viAfveSseZ2HJqBbi2/R3Dm2rehz0UcAEP2ji1+lYUQ4nEMR9+J5B6A+GFDC3nlAV\n\tiv9k6ql8UXmRMsWzvQbTZPFF+uyzTHMOoUFH8DXSHHw/v7KlCFjgEUXB8kfMHBwX5z\n\txTVZVvRcfablGvuh8KLHRL8xNpjblMs6B0RUnBDA=", "From": "Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Thu, 30 Sep 2021 11:37:03 +0200", "Message-Id": "<20210930093715.73293-1-jeanmichel.hautbois@ideasonboard.com>", "X-Mailer": "git-send-email 2.30.2", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v2 00/12] Improve ImgU statistics usage", "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": "Hello everybody !\n\nHere is a series, solving quite a few issues and clarifying most of the\nImgU statistics format.\n\nMain changes in v2:\n- stride is now a IPASessionConfiguration parameter\n- Optical Black Correction is an algorithm\n\nThe first part has already been sent before and was titled \"Move and\nimprove AWB structures\" and those did not change since the latest v8 of\nit:\n- Patch 1/12 moves the AWB structures to be able to use those from the\nipa::ipu3::algorithms namespace (by AGC at least).\n- Patch 2/12 renames the stats region structure to make it clear it is an\naccumulator structure.\n- Patch 3/12 is improving the Accumulator structure to have the same layout\nas the IPAFrameContext::awb structure.\n- Patch 4/12 is now only focusing on AWB name usage.\n\nWe worked, together with Laurent (thanks !) on the AWB grid limits, and\nImgU statistics format. There was differences between public API [0] and\nthe kernel doc which needed clarifications (who is correct ?). After\nquite a few investigations, we discovered a bug in the kernel, for low\nresolutions [1] and this leads to patches 5/12 and 6/12, the latest\nreusing the proposal from Laurent in \"ipa: ipu3: Split width and height\nloops in calculateBdsGrid()\" but adapting it to the limit names.\n\nNext patches are here to solve bugs in AWB by configuring the proportion\nof unsaturated zones (7/12), using the right gain multipliers (8/12) and\ntaking care of padding in the AWB loop (9/12).\n\nAs we are improving AWB, I cherry-picked patch 10/12 from another branch\nalready proposed before to use the black level correction in the ImgU\nwith default values (probably good enough for now).\n\nNext, as AGC is using the AWB statistics for its algorithm, rewrite the\nloop to simplify it and take care of padding too (11/12).\n\nAnd we can finally move the Ipu3AwbCell out from the Awb class, to use\nit with the (yet to be in v2) patch from the kernel [2].\n\n[0] https://chromium.googlesource.com/chromiumos/platform/arc-camera/+/refs/heads/master/hal/intel/include/ia_imaging/awb_public.h\n[1] https://lore.kernel.org/linux-media/20210916172504.677919-1-jeanmichel.hautbois@ideasonboard.com/\n[2] https://lore.kernel.org/linux-media/20210831185140.77400-1-jeanmichel.hautbois@ideasonboard.com/\n\nJean-Michel Hautbois (12):\n ipa: ipu3: Move the AWB stats structures\n ipa: ipu3: Rename IspStatsRegion to Accumulator\n ipa: ipu3: Change Accumulator structure layout\n ipa: ipu3: awb: Make the naming consistent\n ipa: ipu3: Change the limits of the AWB stats\n ipa: ipu3: Change limits and split loops in calculateBdsGrid()\n ipa: ipu3: awb: Correct the relevant zones proportion\n ipa: ipu3: awb: Correct the gain multipliers\n ipa: ipu3: awb: Use the line stride for the stats\n ipa: ipu3: awb: Introduce Black Level Correction\n ipa: ipu3: agc: Rewrite and simplify the brightness loop\n ipa: ipu3: Replace ipa::ipu3::algorithms::Ipu3AwbCell\n\n include/linux/intel-ipu3.h | 31 ++-\n src/ipa/ipu3/algorithms/agc.cpp | 53 ++---\n src/ipa/ipu3/algorithms/agc.h | 2 +\n src/ipa/ipu3/algorithms/awb.cpp | 195 +++++++++++--------\n src/ipa/ipu3/algorithms/awb.h | 42 ++--\n src/ipa/ipu3/algorithms/black_correction.cpp | 67 +++++++\n src/ipa/ipu3/algorithms/black_correction.h | 28 +++\n src/ipa/ipu3/algorithms/meson.build | 1 +\n src/ipa/ipu3/ipa_context.h | 1 +\n src/ipa/ipu3/ipu3.cpp | 75 ++++---\n 10 files changed, 325 insertions(+), 170 deletions(-)\n create mode 100644 src/ipa/ipu3/algorithms/black_correction.cpp\n create mode 100644 src/ipa/ipu3/algorithms/black_correction.h" }