From patchwork Wed Aug 4 07:33:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Siyuan Fan X-Patchwork-Id: 13188 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id BBC69C3235 for ; Wed, 4 Aug 2021 07:34:05 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id B94EC68886; Wed, 4 Aug 2021 09:34:04 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=foxmail.com header.i=@foxmail.com header.b="L3B/jwlw"; dkim-atps=neutral Received: from out162-62-57-252.mail.qq.com (out162-62-57-252.mail.qq.com [162.62.57.252]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 0C6D868811 for ; Wed, 4 Aug 2021 09:33:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1628062432; bh=LozNEj0O6zHXiocDbjQux8/O9MFeyOUyBOF+XzL2h+E=; h=From:To:Cc:Subject:Date; b=L3B/jwlwM8x3RarxF/74U2N9Q5q4Bk1qNY9UZ3uj3EIXkUA1IA/b7VWJ0yGm84aCe Lw83j0ULMBNuq3iO+BX6YdSG+sZK06wN9UAZIfbpz8rEt6t4mM7m559WEsZp1+0G4x KtYCNoX2OB5nRBeEA3C4XxhkC9OsC71RtvvU9CQI= Received: from localhost.localdomain ([123.126.82.9]) by newxmesmtplogicsvrsza5.qq.com (NewEsmtp) with SMTP id 8722689A; Wed, 04 Aug 2021 15:33:50 +0800 X-QQ-mid: xmsmtpt1628062430tclzlmjos Message-ID: X-QQ-XMAILINFO: NWth7vBa++Gd4GlvQStJoBEddaCrjvYCkNYJfTLf4EiCLgsUDtG8///HLiq9pn nhgIihlOHQ8+PQJQmlKavcyLXg5o/Sr2y/u7Jz/WQ/wkelQaR5l+OnSICp0G0Gq9bx44wZffrad8 /qg11B5/nzVISVzNWB+5LNMLUu1sy9RkjNQljFvji07nzmPmwNLhnYm956ynwDLTtCJW1vLC6i4L p25NSkCATU+exPHo/Rk+/ikQ5s20wgeQI4b9prX2J/7QVPT7mPj2Z8mBGEKPAh8cdTpFEstXdZoh pNuO5WNTmcymkFTTtgWwvdj0RV9CXAVtTq+xI892NSQ5FgNDxEDyen1DptX9OLmMvJeT9GOBDUeM /28gaJeZCxJZZhBqaabkBT+7mvHJ9hnJqij/7jTR1R7m0Qf24U1V9BTYqqGU7q4cZtgokOoU4W9U rwkW+AwkFSeq9hAQ15XJtg7hV9liDNPwMYpMDWeKl11F7S04PM5hq9lxi3h+Xi8g5ejzYUEsCZH9 Z2gHpX47QYEo8V1LyE02nnpiPf4uQYb3nv+1RYHCkRcn1D7LqqJLef5Y+FUxkWCD69yL3ZCJgn2M VlV7Pq4tUhAFbqJmPxRk6EedyfzLkT8IwqMYcsUWFbhTfKD5bnULDJX6O1TTOzO9ilu0Nb3IRp+Z W33PwXRQh5o72ysYqPGVdsOlrGC+KyfqUgQq9RlHzyk9cb1neFIZl18gv8r/rQkoDd+tQpgk+lwj e5RuvlVGoy+GRffLICcVT5useQv8ZfRb0wuiIAXfTFoseXdRtc8+o9dPdOfWu9aXqWJ2z5L4GYeb lA7mmo4YpF+XGIH14qzhNPehntakiTkRWc6HAIOAFyGymSsw0eeUMuLYcyIdv93oz9Lh3T71qUZI oZP7sJHiecxiqGc7WZrDr85MBebtGRmDv7zsaTHoz9CROVVFZKK7o7f3vcbtkkqQqIKIP+qzkthA e1utaF0eE= From: Siyuan Fan To: libcamera-devel@lists.libcamera.org Date: Wed, 4 Aug 2021 08:33:44 +0100 X-OQ-MSGID: <20210804073347.1368-1-siyuan.fan@foxmail.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Subject: [libcamera-devel] [RFC PATCH v1 0/3] pipeline: isp: The software ISP Module X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" From: Fan Siyuan This patch series adds support for CPU-based software ISP. Patch 1/3 add software ISP-based pipeline handler. Patch 2/3 add software ISP class. Patch 3/3 add all meson configure files. This is a RFC patch because so far the buffer processed by pipeline cannot be output due to lack of metadata information which needs to apply the ISP friend class in class FrameBuffer just like V4L2VideoDevice. Fan Siyuan (3): pipeline: isp: The software ISP-based pipeline handler pipeline: isp: The software ISP class pipeline: isp: All meson configure files meson_options.txt | 2 +- src/libcamera/pipeline/isp/isp.cpp | 323 ++++++++++ src/libcamera/pipeline/isp/isp_processing.cpp | 593 ++++++++++++++++++ src/libcamera/pipeline/isp/isp_processing.h | 62 ++ src/libcamera/pipeline/isp/meson.build | 6 + 5 files changed, 985 insertions(+), 1 deletion(-) create mode 100644 src/libcamera/pipeline/isp/isp.cpp create mode 100644 src/libcamera/pipeline/isp/isp_processing.cpp create mode 100644 src/libcamera/pipeline/isp/isp_processing.h create mode 100644 src/libcamera/pipeline/isp/meson.build