From patchwork Mon Oct 10 13:17:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xavier Roumegue X-Patchwork-Id: 17567 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 0A1C3C0DA4 for ; Mon, 10 Oct 2022 13:18:15 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 452CA62D5E; Mon, 10 Oct 2022 15:18:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org; s=mail; t=1665407894; bh=PH+7ACbqoAWL03l2DArMQZOOjdwPsbVUK1w3+gk/WWs=; h=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=thk3mEVXNoCika/Ausn8z6Nz8PdbR1+cQExjNTcF3sf1DEWP/RmhUEDhHDkSjKwKP 4vW931xevBzo1gkpNHptfpm92vRUEq3+sWAMWbvukJvf4XpQbP4qUqCEwAq8o3pqIw yg0WYm/mCIVdHI9ntivHnghmKh36AgITITcQYh8gGgzh93xCiMUZqwT73gvlrbNhRm Y6JYhzU8ugcU4fdp2UAA5ew4HTvBbeFjxMc60CyyOaU34+EPqk+kEVLTNZ+L722mSu r1c80RyPn7r2KRgucUgJno3XozKV21+OdUbKyvh1vr8dQNhDjsrH0wnDkm9BZvDjyT iEz+eGmWAvi8Q== Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2072.outbound.protection.outlook.com [40.107.21.72]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 9D01E62272 for ; Mon, 10 Oct 2022 15:18:12 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=NXP1.onmicrosoft.com header.i=@NXP1.onmicrosoft.com header.b="N1YhA3Xt"; dkim-atps=neutral ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AMpyDgkkmJfjs2Augsy4Ujf/ueayyIYf/UxUwJVXwkunzw7QP6qG3RYVT0h+uDaUAUp0xjUC6iiGgOgTlOXsGg5fB+PXnZ428OAezOT6yJrB+9VrL/riuBOyKF5nCcryXe+k4GDf5+CmREsTtjzQu46y6StSctmcCftw4Oepbdl7/kPzVe3b0ktGR0K61UEYg8rdgGjbOAv2u6QZMG4cknbP98ytYtc/+ZayC89rS6XlLV9R+OOgrJ/6FZ4kiUXN/2MC1VtFtbxlGTXG998KDTD6KmyzN0e2SX9LsD1pptgG/jNiOj7KzYP6pMBzaKwSkTl5kuvrvXznFeNffMlL5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ev+wSn5Tzxahv2nLLu8F+SlG9M+CfNKyup5l4jMUKyo=; b=nU0QamyGc9FhvCYbZNA8ZZtRLQoflxG/nePRdjepE3fWCYcXKViU6M3JBFM8maTaGxiZ7S6u6j7Q+bbh0ncKPBjh2sJ8VImeQcNx1diAeUE3n9Q4oXPg7sC+jsJmuB1jDTG/1gZ1WDgPE3pdrRiD2Y7v0AjqkuFAPITbQJHdtrGE2fSB3eqdu5oS68/xBcxWNPmGNfC9qIJNYcPSxwfj21SmLHlV5/jG1ZAuX7SG6gr33Z6Pxrx4EXXzxqWqEUATwGFoq+0tmudQCyxP5IdktXFRwgiIeADb3LIOH7j7xi0PaKnfii7ZT1gOm6oUkh74R9zfWkpkuDRKgWVvjSLvXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ev+wSn5Tzxahv2nLLu8F+SlG9M+CfNKyup5l4jMUKyo=; b=N1YhA3XtyHfMCD+mTvuomsaKHhYwpqHXk+7cXJGzJGiWqwPpSSjYeukTWaEj3y4wHPajbZs331eFIm1LY0GS45JUpojdokfz3FD/OUXZAVF+Dq5v1FjAl7qp1c9jbsatJDVyoog2ZUfJIqsWCNMavWTciDgIxqI56V1v7JykKSc= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=oss.nxp.com; Received: from PAXPR04MB8703.eurprd04.prod.outlook.com (2603:10a6:102:21e::22) by PA4PR04MB7933.eurprd04.prod.outlook.com (2603:10a6:102:b9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.34; Mon, 10 Oct 2022 13:18:10 +0000 Received: from PAXPR04MB8703.eurprd04.prod.outlook.com ([fe80::4f72:a35a:8c60:63f1]) by PAXPR04MB8703.eurprd04.prod.outlook.com ([fe80::4f72:a35a:8c60:63f1%6]) with mapi id 15.20.5709.015; Mon, 10 Oct 2022 13:18:10 +0000 To: jacopo@jmondi.org, laurent.pinchart@ideasonboard.com, libcamera-devel@lists.libcamera.org Date: Mon, 10 Oct 2022 15:17:42 +0200 Message-Id: <20221010131744.513261-1-xavier.roumegue@oss.nxp.com> X-Mailer: git-send-email 2.37.3 X-ClientProxiedBy: BY5PR17CA0058.namprd17.prod.outlook.com (2603:10b6:a03:167::35) To PAXPR04MB8703.eurprd04.prod.outlook.com (2603:10a6:102:21e::22) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PAXPR04MB8703:EE_|PA4PR04MB7933:EE_ X-MS-Office365-Filtering-Correlation-Id: 6e6a34d4-8c3d-4386-7477-08daaac1e068 X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: w84wzPfWDql/7jKZFGfupXgWpNbTNmIOxQ+PgQWJXlhXtX0p7mKcMEWDnAQ6T27Lu9zKpt28oMV2l520Of5nvKp/xQh6jcz4fL0N9C44PI9mPwDDZoL5O3TQqEMBzOoIOQ2jUizykh9MZ32hLruOX+7RAOpw7k65InNuiNhoBUCpJeYmm2oTEuvYiEp1JcUD//GfO3wBsa6N6jrYtgrQxBcqp8eZ6fFM8IyDCFC+TwBOuuuOJlXUR2i1WM6NUEktsPVP3UqhMqpz2cuXx4z7Q/PkfkAuZ9myGWPApVKxbA1uZ6K2YAvxW8A//YTAWzwiXklLLtnt3nNy39PjnKyjVY0XbUs7zEvhGcPVL/pQZ1F6PRGiqyBSZRumzjPD7V8my505ojKifSAXgj/7q/q0IpH2Wu3myaH3OXiHFtIJO2zykifETbqibeCUQhSLKApFFChx/mQNYkZyiFzbI/REuIvrIhwn3RsDo1xlVfFBFNQ7YGWSLNbPsp3Ib8waMepyjn0UG+yLNLLEL/VnbGqbdqZv+9h4GiX2OphEBJkfjbTqxR+J8N9dtnu30OzLyVnM+zNFRCtIJwyMznkr8wLGIFOUCTKM+GLW9MV9sDvo+wkoql/TdlSwWsOwSxp4ncFjaFnxO8Qm2gefYyjmIw4VQbizBE4QnxjunZlr6Wm+dz/3vwRv4tCiV3F8ATPOiDIcOSOvBkkodAJkzSg9qp+x7p6ni5RRpFPRXwrAnD9bUtrbew/p4lYuNlyHM75cunWhPoGzv/VpECf2kHaKqkXnkFf9mgMwZbusIcchNB8ThhE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PAXPR04MB8703.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(396003)(366004)(136003)(39860400002)(346002)(451199015)(66899015)(55236004)(66476007)(8676002)(5660300002)(66556008)(4326008)(66946007)(316002)(38350700002)(38100700002)(41300700001)(8936002)(2906002)(6486002)(478600001)(6666004)(1076003)(186003)(6512007)(26005)(52116002)(83380400001)(6506007)(86362001)(2616005)(41533002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 18r1eF9zH9T5ilh+u3Si8gafovsDDTWH6c77xfV04IsJT4w0fuc+9NioNTy1gTCsV2E3X2FvniPa5VK/CWf4Tc32dL4uzT4SogzPpgPNocqlRlH7ebxL4QOOYBv3j3mpRp5bZsNXm7tevmqBjJJG8E3w64aKxY1JtlzDJfMiQa9x/OHWZzMoIVHpGdPIjq8tZgXqAVj+LzPBU+OJFJhD54KhR44anqkFGfMNtRm5NLny3NF/3/l2lY96xrvRmV8y966FUIPxnHo/iufr/BG/IMFxqTx+X2ERnw6TBCiSpsK/tqtitJiFQzVZ0nANOOfwu14axwj+aRWSlJ1MM3waDnBjw+Ai1ZVSnjdRXRGu6iwgKzWeFZG7F3D0aEjLvLWpaRHsyxo22qIVik3LWHqtk+FyyiRIUX44nqbeYJdRkGSxcKt/WK0K0i1GtkaUxbxxZ6LAj6J2ntWOb0el5P6J0mTMG38B5pGDhNCtbTX/vu7XDTDQNfUD7+8I7MiHMH6748jVl1Hy1f+IYT3+D6BL/hLLtx1mx3JDLEW+dZj6CNwYmtDdTQCZ3VodZ6DStEzYEwszaXW7lOZPA+qUNBIPEUJPGPx03PMsm8ZnnxwZr5ImPnTMTr2QUdB6eCmGWE6kW7M3DUTmLsJRPpA2OxB5n1PuypsZM5RHP1Uc9oDvAbtjvTHDKDNgYgmXrbIDOG70Ujzyqmw5uHGNeAypwKzyujsLYZnynzSJZ3H8yblqmkN17+pHIEUkvE7tAqaP3juuCamKAlW3EDW9ddbYy+9WEkC0WlnHmM6psouHGadhoeGAE2Ht4WsNl+oxjEjKSEgAC4oH+fGsLey0jcxmqZwMsGTFQuMVU+fmt93+k1kSkjF5QM2jXZwXLQH1QR4BZJ/2HHtcJ2MI4uJdPOKR4jbOtz1EgOxVdn+/kX/qCT8iNCUZ0g0T9DSkn+ZEOvqOnBdecitN1E+78WbFn08ABtaKKE46jlrTlNWiFGnbU/2HGlVe8+CCe7/AOEDvBfGCewEklr1cKbOXxnDWO2bY/AOLnHRmN+xzhRmyK09DGIQbBplOn8nsKj0Hmtrhq0RWIrl48mFnhcKyChZ+OROkta60dHM+8v8RYCzzAHtFfejJaRElb5MymGu4J929b9wEM/lPmEGvy5ssjDVKU+715QjwnTuHi0pBskPpQG7h8vSIEqR2CMYjGZ7TEBkMMtA7EEp0u7trOFsB9L5qfZKPSJ11iz7GGx6VE7M5dFRZ7YHSc+IPj54QSjR9HOrR9ueyfhZSaoGS7Tzzw7F7Kbqv8sG78x4cif0/NGX+rM7nkv6KyKiRa89s/3xX4dUQN77iwRge03IZAeEtdaW7PcNwInZpK+DtnBw97MLhubbkuMV1gYyNRDMWm+tBeQnAhUmJNfBMGPGH4XL6NAiWgl8A1TPk/6q2fNDbBQGWOdz/gtymaOwCMZxwsrrcDxTUgDQPbk/isEiRk+qCN0RjyBCWI6chsp/SmWHoapfP5Ns4sZgDff8sffb9H5vFzP9Vc8EeMIAvsn+yEQI182zlKXIcVBPTGE4p1i5Ns+c+dWCTZ/gE3Z6QU364XQxCStLUw9UFuULs0IUt0bgHSSWKpZXO0PgNIg== X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e6a34d4-8c3d-4386-7477-08daaac1e068 X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8703.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Oct 2022 13:18:10.1229 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DgnCTfyV1tDZJmgBG4d74ztUCUfq05318BsCer0UEiaB/1iuUNSZ6UhsibEBhXtpc8AWlEQBIUUAJL28jMOkOg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7933 Subject: [libcamera-devel] [PATCH 0/2] Use a generic converter interface in simple pipeline. 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: , X-Patchwork-Original-From: "Xavier Roumegue \(OSS\) via libcamera-devel" From: Xavier Roumegue Reply-To: "Xavier Roumegue \(OSS\)" Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" From: Xavier Roumegue Hi, This patch set is a follow up on the dewarp support on simple and rkisp1 pipelines series ("Add dw100 dewarper support to simple/rkisp1 pipeline"). I isolated the patches introducing a generic converter interface aiming to offer an abstract base class for concrete implementation on top of a subsystem. The converter implementation of the simple pipeline handler has been spread out in two parts: - Generic interface class definition - V4L2 M2M concrete implementation There are no functional changes. Regards, Xavier Xavier Roumegue (2): libcamera: Declare generic converter interface libcamera: pipeline: simple: converter: Use generic converter interface include/libcamera/internal/converter.h | 108 ++++++ .../internal/converter/converter_v4l2_m2m.h | 18 +- .../libcamera/internal/converter/meson.build | 5 + include/libcamera/internal/meson.build | 3 + src/libcamera/converter.cpp | 337 ++++++++++++++++++ .../converter_v4l2_m2m.cpp} | 149 +++++--- src/libcamera/converter/meson.build | 5 + src/libcamera/meson.build | 2 + src/libcamera/pipeline/simple/meson.build | 1 - src/libcamera/pipeline/simple/simple.cpp | 6 +- 10 files changed, 566 insertions(+), 68 deletions(-) create mode 100644 include/libcamera/internal/converter.h rename src/libcamera/pipeline/simple/converter.h => include/libcamera/internal/converter/converter_v4l2_m2m.h (83%) create mode 100644 include/libcamera/internal/converter/meson.build create mode 100644 src/libcamera/converter.cpp rename src/libcamera/{pipeline/simple/converter.cpp => converter/converter_v4l2_m2m.cpp} (69%) create mode 100644 src/libcamera/converter/meson.build --- 2.37.3