Show a cover letter.

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

{
    "id": 588,
    "url": "https://patchwork.libcamera.org/api/covers/588/?format=api",
    "web_url": "https://patchwork.libcamera.org/cover/588/",
    "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": "<20190220131757.14004-1-jacopo@jmondi.org>",
    "date": "2019-02-20T13:17:52",
    "name": "[libcamera-devel,0/5] libcamera: IPU3: create CIO2 and IMGU devices",
    "submitter": {
        "id": 3,
        "url": "https://patchwork.libcamera.org/api/people/3/?format=api",
        "name": "Jacopo Mondi",
        "email": "jacopo@jmondi.org"
    },
    "mbox": "https://patchwork.libcamera.org/cover/588/mbox/",
    "series": [
        {
            "id": 186,
            "url": "https://patchwork.libcamera.org/api/series/186/?format=api",
            "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=186",
            "date": "2019-02-20T13:17:52",
            "name": "libcamera: IPU3: create CIO2 and IMGU devices",
            "version": 1,
            "mbox": "https://patchwork.libcamera.org/series/186/mbox/"
        }
    ],
    "comments": "https://patchwork.libcamera.org/api/covers/588/comments/",
    "headers": {
        "Return-Path": "<jacopo@jmondi.org>",
        "Received": [
            "from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net\n\t[217.70.183.194])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E2D36600FF\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tWed, 20 Feb 2019 14:17:39 +0100 (CET)",
            "from uno.lan (2-224-242-101.ip172.fastwebnet.it [2.224.242.101])\n\t(Authenticated sender: jacopo@jmondi.org)\n\tby relay2-d.mail.gandi.net (Postfix) with ESMTPSA id 618F240010;\n\tWed, 20 Feb 2019 13:17:39 +0000 (UTC)"
        ],
        "X-Originating-IP": "2.224.242.101",
        "From": "Jacopo Mondi <jacopo@jmondi.org>",
        "To": "libcamera-devel@lists.libcamera.org",
        "Date": "Wed, 20 Feb 2019 14:17:52 +0100",
        "Message-Id": "<20190220131757.14004-1-jacopo@jmondi.org>",
        "X-Mailer": "git-send-email 2.20.1",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[libcamera-devel] [PATCH 0/5] libcamera: IPU3: create CIO2 and IMGU\n\tdevices",
        "X-BeenThere": "libcamera-devel@lists.libcamera.org",
        "X-Mailman-Version": "2.1.23",
        "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>",
        "X-List-Received-Date": "Wed, 20 Feb 2019 13:17:40 -0000"
    },
    "content": "Hello,\n   sending out this first part of the IPU3 pipeline rework to fully support\ncapturing from the imgu unit.\n\nThe series breaks out from the original ipu3.cpp file two new classes that\nrepresents CIO2 units (one per each camera) and the two IMGU units.\n\nThe current implementation configures the cio2 and imgu media graph in the\nconfiguration ready for image capture, with support for configurable capture\nsizes.\n\nOn top of this, buffer sharing between CIO2 and IMGU will be implemented.\n\nThanks\n  j\n\n--------------------------------------------------------------------------------\nmedia graphs dumps for capture operations on ov5670 sensor through IMGU0 unit.\n\nroot@libcamera:/home/cam/capture# ./media-ctl -p -d /dev/media0\nMedia controller API version 5.0.0\n\nMedia device information\n------------------------\ndriver          ipu3-cio2\nmodel           Intel IPU3 CIO2\nserial\nbus info        PCI:0000:00:14.3\nhw revision     0x0\ndriver version  5.0.0\n\nDevice topology\n- entity 1: ipu3-csi2 0 (2 pads, 2 links)\n            type V4L2 subdev subtype Unknown flags 0\n            device node name /dev/v4l-subdev0\n\tpad0: Sink\n\t\t[fmt:SGRBG10_1X10/1936x1096 field:none]\n\t\t<- \"ov13858 2-0010\":0 [ENABLED]\n\tpad1: Source\n\t\t[fmt:SGRBG10_1X10/1936x1096 field:none]\n\t\t-> \"ipu3-cio2 0\":0 [ENABLED,IMMUTABLE]\n\n- entity 4: ipu3-cio2 0 (1 pad, 1 link)\n            type Node subtype V4L flags 0\n            device node name /dev/video0\n\tpad0: Sink\n\t\t<- \"ipu3-csi2 0\":1 [ENABLED,IMMUTABLE]\n\n- entity 10: ipu3-csi2 1 (2 pads, 2 links)\n             type V4L2 subdev subtype Unknown flags 0\n             device node name /dev/v4l-subdev1\n\tpad0: Sink\n\t\t[fmt:SGRBG10_1X10/2592x1944 field:none]\n\t\t<- \"ov5670 4-0036\":0 [ENABLED]\n\tpad1: Source\n\t\t[fmt:SGRBG10_1X10/2592x1944 field:none]\n\t\t-> \"ipu3-cio2 1\":0 [ENABLED,IMMUTABLE]\n\n- entity 13: ipu3-cio2 1 (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video1\n\tpad0: Sink\n\t\t<- \"ipu3-csi2 1\":1 [ENABLED,IMMUTABLE]\n\n- entity 19: ipu3-csi2 2 (2 pads, 1 link)\n             type V4L2 subdev subtype Unknown flags 0\n             device node name /dev/v4l-subdev2\n\tpad0: Sink\n\t\t[fmt:SGRBG10_1X10/1936x1096 field:none]\n\tpad1: Source\n\t\t[fmt:SGRBG10_1X10/1936x1096 field:none]\n\t\t-> \"ipu3-cio2 2\":0 [ENABLED,IMMUTABLE]\n\n- entity 22: ipu3-cio2 2 (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video2\n\tpad0: Sink\n\t\t<- \"ipu3-csi2 2\":1 [ENABLED,IMMUTABLE]\n\n- entity 28: ipu3-csi2 3 (2 pads, 1 link)\n             type V4L2 subdev subtype Unknown flags 0\n             device node name /dev/v4l-subdev3\n\tpad0: Sink\n\t\t[fmt:SGRBG10_1X10/1936x1096 field:none]\n\tpad1: Source\n\t\t[fmt:SGRBG10_1X10/1936x1096 field:none]\n\t\t-> \"ipu3-cio2 3\":0 [ENABLED,IMMUTABLE]\n\n- entity 31: ipu3-cio2 3 (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video3\n\tpad0: Sink\n\t\t<- \"ipu3-csi2 3\":1 [ENABLED,IMMUTABLE]\n\n- entity 37: ov13858 2-0010 (1 pad, 1 link)\n             type V4L2 subdev subtype Sensor flags 0\n             device node name /dev/v4l-subdev4\n\tpad0: Source\n\t\t[fmt:SGRBG10_1X10/4224x3136 field:none]\n\t\t-> \"ipu3-csi2 0\":0 [ENABLED]\n\n- entity 39: ov5670 4-0036 (1 pad, 1 link)\n             type V4L2 subdev subtype Sensor flags 0\n             device node name /dev/v4l-subdev5\n\tpad0: Source\n\t\t[fmt:SGRBG10_1X10/2592x1944 field:none]\n\t\t-> \"ipu3-csi2 1\":0 [ENABLED]\n\nroot@libcamera:/home/cam/capture# ./media-ctl -p -d /dev/media1\nMedia controller API version 5.0.0\n\nMedia device information\n------------------------\ndriver          ipu3-imgu\nmodel           ipu3-imgu\nserial\nbus info        PCI:0000:00:05.0\nhw revision     0x80862015\ndriver version  5.0.0\n\nDevice topology\n- entity 1: ipu3-imgu 0 (5 pads, 5 links)\n            type V4L2 subdev subtype Unknown flags 0\n            device node name /dev/v4l-subdev6\n\tpad0: Sink\n\t\t[fmt:FIXED/2560x1920\n\t\t crop:(0,0)/2592x1944\n\t\t compose:(0,0)/2592x1944]\n\t\t<- \"ipu3-imgu 0 input\":0 [ENABLED]\n\tpad1: Sink\n\t\t[fmt:FIXED/1920x1080 field:none colorspace:raw]\n\t\t<- \"ipu3-imgu 0 parameters\":0 []\n\tpad2: Source\n\t\t[fmt:FIXED/2560x1920]\n\t\t-> \"ipu3-imgu 0 output\":0 [ENABLED]\n\tpad3: Source\n\t\t[fmt:FIXED/1280x960]\n\t\t-> \"ipu3-imgu 0 viewfinder\":0 [ENABLED]\n\tpad4: Source\n\t\t[fmt:FIXED/2560x1920]\n\t\t-> \"ipu3-imgu 0 3a stat\":0 [ENABLED]\n\n- entity 7: ipu3-imgu 0 input (1 pad, 1 link)\n            type Node subtype V4L flags 0\n            device node name /dev/video4\n\tpad0: Source\n\t\t-> \"ipu3-imgu 0\":0 [ENABLED]\n\n- entity 13: ipu3-imgu 0 parameters (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video5\n\tpad0: Source\n\t\t-> \"ipu3-imgu 0\":1 []\n\n- entity 19: ipu3-imgu 0 output (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video20\n\tpad0: Sink\n\t\t<- \"ipu3-imgu 0\":2 [ENABLED]\n\n- entity 25: ipu3-imgu 0 viewfinder (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video21\n\tpad0: Sink\n\t\t<- \"ipu3-imgu 0\":3 [ENABLED]\n\n- entity 31: ipu3-imgu 0 3a stat (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video22\n\tpad0: Sink\n\t\t<- \"ipu3-imgu 0\":4 [ENABLED]\n\n- entity 37: ipu3-imgu 1 (5 pads, 5 links)\n             type V4L2 subdev subtype Unknown flags 0\n             device node name /dev/v4l-subdev7\n\tpad0: Sink\n\t\t[fmt:FIXED/1920x1080 field:none colorspace:raw\n\t\t crop:(0,0)/1920x1080\n\t\t compose:(0,0)/1920x1080]\n\t\t<- \"ipu3-imgu 1 input\":0 [ENABLED]\n\tpad1: Sink\n\t\t[fmt:FIXED/1920x1080 field:none colorspace:raw]\n\t\t<- \"ipu3-imgu 1 parameters\":0 []\n\tpad2: Source\n\t\t[fmt:FIXED/1920x1080 field:none colorspace:raw]\n\t\t-> \"ipu3-imgu 1 output\":0 [ENABLED]\n\tpad3: Source\n\t\t[fmt:FIXED/1920x1080 field:none colorspace:raw]\n\t\t-> \"ipu3-imgu 1 viewfinder\":0 [ENABLED]\n\tpad4: Source\n\t\t[fmt:FIXED/1920x1080 field:none colorspace:raw]\n\t\t-> \"ipu3-imgu 1 3a stat\":0 [ENABLED]\n\n- entity 43: ipu3-imgu 1 input (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video23\n\tpad0: Source\n\t\t-> \"ipu3-imgu 1\":0 [ENABLED]\n\n- entity 49: ipu3-imgu 1 parameters (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video24\n\tpad0: Source\n\t\t-> \"ipu3-imgu 1\":1 []\n\n- entity 55: ipu3-imgu 1 output (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video25\n\tpad0: Sink\n\t\t<- \"ipu3-imgu 1\":2 [ENABLED]\n\n- entity 61: ipu3-imgu 1 viewfinder (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video26\n\tpad0: Sink\n\t\t<- \"ipu3-imgu 1\":3 [ENABLED]\n\n- entity 67: ipu3-imgu 1 3a stat (1 pad, 1 link)\n             type Node subtype V4L flags 0\n             device node name /dev/video27\n\tpad0: Sink\n\t\t<- \"ipu3-imgu 1\":4 [ENABLED]\n\n\n\nJacopo Mondi (5):\n  libcamera: v4l2_subdevice: Make crop/compose rectangle a reference\n  libcamera: ipu3: Return video output default configuration\n  libcamera: ipu3: Break-out ipu3 header file\n  libcamera: ipu3: Add CIO2Device class\n  libcamera: ipu3: Add IMGUDevice class\n\n src/libcamera/include/v4l2_subdevice.h  |   6 +-\n src/libcamera/pipeline/ipu3/cio2.cpp    | 266 +++++++++++++++++++\n src/libcamera/pipeline/ipu3/imgu.cpp    | 338 ++++++++++++++++++++++++\n src/libcamera/pipeline/ipu3/ipu3.cpp    | 291 +++++++-------------\n src/libcamera/pipeline/ipu3/ipu3.h      | 141 ++++++++++\n src/libcamera/pipeline/ipu3/meson.build |   2 +\n src/libcamera/v4l2_subdevice.cpp        |  18 +-\n 7 files changed, 861 insertions(+), 201 deletions(-)\n create mode 100644 src/libcamera/pipeline/ipu3/cio2.cpp\n create mode 100644 src/libcamera/pipeline/ipu3/imgu.cpp\n create mode 100644 src/libcamera/pipeline/ipu3/ipu3.h\n\n--\n2.20.1"
}