Show a cover letter.

GET /api/1.1/covers/21280/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 21280,
    "url": "https://patchwork.libcamera.org/api/1.1/covers/21280/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/21280/",
    "project": {
        "id": 1,
        "url": "https://patchwork.libcamera.org/api/1.1/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": "<20240916140241.47845-1-kieran.bingham@ideasonboard.com>",
    "date": "2024-09-16T14:02:37",
    "name": "[0/4] MediaPipeline: Complex input device support",
    "submitter": {
        "id": 4,
        "url": "https://patchwork.libcamera.org/api/1.1/people/4/?format=api",
        "name": "Kieran Bingham",
        "email": "kieran.bingham@ideasonboard.com"
    },
    "mbox": "https://patchwork.libcamera.org/cover/21280/mbox/",
    "series": [
        {
            "id": 4601,
            "url": "https://patchwork.libcamera.org/api/1.1/series/4601/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4601",
            "date": "2024-09-16T14:02:37",
            "name": "MediaPipeline: Complex input device support",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/4601/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/21280/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 66DA7C3257\n\tfor <parsemail@patchwork.libcamera.org>;\n\tMon, 16 Sep 2024 14:02:51 +0000 (UTC)",
            "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id DD32363500;\n\tMon, 16 Sep 2024 16:02:49 +0200 (CEST)",
            "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 45E93634F5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tMon, 16 Sep 2024 16:02:48 +0200 (CEST)",
            "from charm.lan (unknown\n\t[IPv6:2001:4bc9:a45:b0af:726e:a88f:9f07:34be])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id C90AB480;\n\tMon, 16 Sep 2024 16:01:26 +0200 (CEST)"
        ],
        "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"PvCoG+2c\"; dkim-atps=neutral",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1726495287;\n\tbh=1H3S9b1/4HRk3D8jIjMW2JIcbdiHPXxaYc0p+5zj51g=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=PvCoG+2cwTwLOaArONj7fxLJp3mQ2hW2KRqA4i6R35nA7vIc9LfoDAkjJXgIpRfEJ\n\tMTqmBaWpFTqdxtmJYELtzOVotn+CdfRTn7pj6uzocgNoNmRXfUuROjExRt9+Iko16h\n\t9WsM/nINx4kkCzfD+Yf/43FPedp8NI1LJaC8w+e0=",
        "From": "Kieran Bingham <kieran.bingham@ideasonboard.com>",
        "To": "libcamera devel <libcamera-devel@lists.libcamera.org>",
        "Cc": "Kieran Bingham <kieran.bingham@ideasonboard.com>",
        "Subject": "[PATCH 0/4] MediaPipeline: Complex input device support",
        "Date": "Mon, 16 Sep 2024 16:02:37 +0200",
        "Message-ID": "<20240916140241.47845-1-kieran.bingham@ideasonboard.com>",
        "X-Mailer": "git-send-email 2.46.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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 input pipelines for cameras on small board platforms can be widely\nvaried and may incorporate video multiplexors feeding multiple cameras\ninto a single CSI2 receiver.\n\nSuch devices are already supported in the Simple Pipeline handler with\nit's graph management code.\n\nThis series proposes a new class 'MediaPipeline' which takes the\nimplementation details of handling multiple cameras and the routing\ninvolved in selecting and configuring the links and pads of those\nroutes.\n\nThe series then adds this helper to the RKISP1 pipeline handler to\nfacilitate multiple cameras connected to a single CSI2 receiver. One\nexample of this could be making use of the Arducam 4 camera multiplexor\n[0] connected to the Debix Model A which we have used for testing this.\n\n[0] https://www.arducam.com/product/multi-camera-v2-1-adapter-raspberry-pi/\n\nThis series converts only the RkISP1 for now, but I could anticipate\neither an additional series, or a later iteration of this series would\nalso convert the Simple Pipeline Handler to make use of this new helper\nclass.\n\n\nKieran Bingham (4):\n  libcamera: media_device: Add helper to return matching entities\n  libcamera: pipeline: rkisp1: Fix typo in todo task\n  libcamera: internal: Add MediaPipeline helper\n  libcamera: pipeline: rkisp1: Convert to use MediaPipeline\n\n include/libcamera/internal/media_device.h   |   2 +\n include/libcamera/internal/media_pipeline.h |  60 ++++\n include/libcamera/internal/meson.build      |   1 +\n src/libcamera/media_device.cpp              |  24 +-\n src/libcamera/media_pipeline.cpp            | 301 ++++++++++++++++++++\n src/libcamera/meson.build                   |   1 +\n src/libcamera/pipeline/rkisp1/rkisp1.cpp    |  67 +++--\n 7 files changed, 421 insertions(+), 35 deletions(-)\n create mode 100644 include/libcamera/internal/media_pipeline.h\n create mode 100644 src/libcamera/media_pipeline.cpp"
}