{"id":22291,"url":"https://patchwork.libcamera.org/api/covers/22291/?format=json","web_url":"https://patchwork.libcamera.org/cover/22291/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20241212021246.115736-1-keke.li@amlogic.com>","date":"2024-12-12T02:12:44","name":"[0/2] Add Amlogic C3 ISP pipeline handler and IPA","submitter":{"id":217,"url":"https://patchwork.libcamera.org/api/people/217/?format=json","name":"Keke Li","email":"keke.li@amlogic.com"},"mbox":"https://patchwork.libcamera.org/cover/22291/mbox/","series":[{"id":4875,"url":"https://patchwork.libcamera.org/api/series/4875/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4875","date":"2024-12-12T02:12:44","name":"Add Amlogic C3 ISP pipeline handler and IPA","version":1,"mbox":"https://patchwork.libcamera.org/series/4875/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/22291/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 4705AC3260\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 12 Dec 2024 02:12:54 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 02E266189C;\n\tThu, 12 Dec 2024 03:12:53 +0100 (CET)","from mail-sh.amlogic.com (unknown [58.32.228.46])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id AE68B6189C\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 12 Dec 2024 03:12:50 +0100 (CET)","from droid10.amlogic.com (10.18.11.213) by mail-sh.amlogic.com\n\t(10.18.11.5) with Microsoft SMTP Server id 15.1.2507.39;\n\tThu, 12 Dec 2024 10:12:48 +0800"],"From":"Keke Li <keke.li@amlogic.com>","To":"<libcamera-devel@lists.libcamera.org>","CC":"Keke Li <keke.li@amlogic.com>","Subject":"[PATCH 0/2] Add Amlogic C3 ISP pipeline handler and IPA","Date":"Thu, 12 Dec 2024 10:12:44 +0800","Message-ID":"<20241212021246.115736-1-keke.li@amlogic.com>","X-Mailer":"git-send-email 2.29.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-Originating-IP":"[10.18.11.213]","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 Amlogic C3 platform integrates an ISP capable of supporting\nmulti-camera, multi-exposure high dynamic range (HDR) imaging with up to\n14-bit raw RGB Bayer data.\n\nThe C3 ISP pipeline handler supports 3-channel image output,\n1-channel 3A statistics ouput and 1-channel parameters input.\n\nThe C3 ISP IPA is used to process 3A statistics and generate\nparameters for ISP hardware. This IPA contains agc, awb, blc, ccm, csc\nand post_gamma algorithms.\n\nLink to the C3 ISP driver patch v4:\nhttps://lore.kernel.org/r/20241205-c3isp-v4-0-cb1868be0105@amlogic.com\n\nKeke Li (2):\n  libcamera: pipeline: Add C3 ISP pipeline handler\n  libcamera: ipa: Add C3 ISP IPA\n\n include/libcamera/ipa/c3isp.mojom         |   42 +\n include/libcamera/ipa/meson.build         |    2 +\n include/linux/c3-isp-config.h             |  555 ++++++++++\n include/linux/videodev2.h                 |    4 +\n meson_options.txt                         |    3 +-\n src/ipa/c3-isp/algorithms/agc.cpp         |  260 +++++\n src/ipa/c3-isp/algorithms/agc.h           |   50 +\n src/ipa/c3-isp/algorithms/algorithm.h     |   31 +\n src/ipa/c3-isp/algorithms/awb.cpp         |  257 +++++\n src/ipa/c3-isp/algorithms/awb.h           |   42 +\n src/ipa/c3-isp/algorithms/blc.cpp         |  102 ++\n src/ipa/c3-isp/algorithms/blc.h           |   40 +\n src/ipa/c3-isp/algorithms/ccm.cpp         |   86 ++\n src/ipa/c3-isp/algorithms/ccm.h           |   40 +\n src/ipa/c3-isp/algorithms/csc.cpp         |   64 ++\n src/ipa/c3-isp/algorithms/csc.h           |   32 +\n src/ipa/c3-isp/algorithms/meson.build     |   10 +\n src/ipa/c3-isp/algorithms/post_gamma.cpp  |   64 ++\n src/ipa/c3-isp/algorithms/post_gamma.h    |   33 +\n src/ipa/c3-isp/c3-isp.cpp                 |  386 +++++++\n src/ipa/c3-isp/data/imx290.yaml           |   30 +\n src/ipa/c3-isp/data/meson.build           |    9 +\n src/ipa/c3-isp/ipa_context.cpp            |  251 +++++\n src/ipa/c3-isp/ipa_context.h              |  110 ++\n src/ipa/c3-isp/meson.build                |   32 +\n src/ipa/c3-isp/module.h                   |   28 +\n src/ipa/c3-isp/params.cpp                 |  127 +++\n src/ipa/c3-isp/params.h                   |  133 +++\n src/libcamera/pipeline/c3-isp/c3-isp.cpp  | 1161 +++++++++++++++++++++\n src/libcamera/pipeline/c3-isp/meson.build |    5 +\n 30 files changed, 3988 insertions(+), 1 deletion(-)\n create mode 100644 include/libcamera/ipa/c3isp.mojom\n create mode 100644 include/linux/c3-isp-config.h\n create mode 100644 src/ipa/c3-isp/algorithms/agc.cpp\n create mode 100644 src/ipa/c3-isp/algorithms/agc.h\n create mode 100644 src/ipa/c3-isp/algorithms/algorithm.h\n create mode 100755 src/ipa/c3-isp/algorithms/awb.cpp\n create mode 100755 src/ipa/c3-isp/algorithms/awb.h\n create mode 100644 src/ipa/c3-isp/algorithms/blc.cpp\n create mode 100644 src/ipa/c3-isp/algorithms/blc.h\n create mode 100644 src/ipa/c3-isp/algorithms/ccm.cpp\n create mode 100644 src/ipa/c3-isp/algorithms/ccm.h\n create mode 100644 src/ipa/c3-isp/algorithms/csc.cpp\n create mode 100644 src/ipa/c3-isp/algorithms/csc.h\n create mode 100644 src/ipa/c3-isp/algorithms/meson.build\n create mode 100644 src/ipa/c3-isp/algorithms/post_gamma.cpp\n create mode 100644 src/ipa/c3-isp/algorithms/post_gamma.h\n create mode 100644 src/ipa/c3-isp/c3-isp.cpp\n create mode 100644 src/ipa/c3-isp/data/imx290.yaml\n create mode 100644 src/ipa/c3-isp/data/meson.build\n create mode 100644 src/ipa/c3-isp/ipa_context.cpp\n create mode 100644 src/ipa/c3-isp/ipa_context.h\n create mode 100644 src/ipa/c3-isp/meson.build\n create mode 100644 src/ipa/c3-isp/module.h\n create mode 100644 src/ipa/c3-isp/params.cpp\n create mode 100644 src/ipa/c3-isp/params.h\n create mode 100644 src/libcamera/pipeline/c3-isp/c3-isp.cpp\n create mode 100644 src/libcamera/pipeline/c3-isp/meson.build"}