Cover Letter Detail
Show a cover letter.
GET /api/covers/3344/?format=api
{ "id": 3344, "url": "https://patchwork.libcamera.org/api/covers/3344/?format=api", "web_url": "https://patchwork.libcamera.org/cover/3344/", "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": "<20200326225844.4117712-1-niklas.soderlund@ragnatech.se>", "date": "2020-03-26T22:58:37", "name": "[libcamera-devel,v2,0/7] libcamera: Add support for a RAW still capture", "submitter": { "id": 5, "url": "https://patchwork.libcamera.org/api/people/5/?format=api", "name": "Niklas Söderlund", "email": "niklas.soderlund@ragnatech.se" }, "mbox": "https://patchwork.libcamera.org/cover/3344/mbox/", "series": [ { "id": 785, "url": "https://patchwork.libcamera.org/api/series/785/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=785", "date": "2020-03-26T22:58:37", "name": "libcamera: Add support for a RAW still capture", "version": 2, "mbox": "https://patchwork.libcamera.org/series/785/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/3344/comments/", "headers": { "Return-Path": "<niklas.soderlund@ragnatech.se>", "Received": [ "from bin-mail-out-05.binero.net (bin-mail-out-05.binero.net\n\t[195.74.38.228])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 0C45D60412\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 26 Mar 2020 23:58:57 +0100 (CET)", "from bismarck.berto.se (p4fca2392.dip0.t-ipconnect.de\n\t[79.202.35.146]) by bin-vsp-out-02.atm.binero.net (Halon) with ESMTPA\n\tid 57e1b053-6fb5-11ea-aeed-005056917f90;\n\tThu, 26 Mar 2020 23:58:54 +0100 (CET)" ], "X-Halon-ID": "57e1b053-6fb5-11ea-aeed-005056917f90", "Authorized-sender": "niklas@soderlund.pp.se", "From": "=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@ragnatech.se>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Thu, 26 Mar 2020 23:58:37 +0100", "Message-Id": "<20200326225844.4117712-1-niklas.soderlund@ragnatech.se>", "X-Mailer": "git-send-email 2.25.1", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=UTF-8", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v2 0/7] libcamera: Add support for a RAW\n\tstill capture", "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>", "X-List-Received-Date": "Thu, 26 Mar 2020 22:58:58 -0000" }, "content": "Hi,\n\nThis series adds RAW capture support. It implements a RAW stream in the\nIPU3 pipeline handler as an example. It targets RAW still image captures\nand uses a memcpy to copy out the buffer with the RAW data as soon as\nit's dequeued from the CIO2. The copy is needed as the buffer might need\nto be used in further processing by the IMGU.\n\nPatch 1/7 Defines a new StillCaptureRaw role which can be used to\napplications to generate configurations for raw capture. Patch 2/7 makes\nuse of this new role in the cam utility.\n\nPatch 3/7 adds the preliminary DRM formats for IPU3 RAW pixel formats.\n\nPatch 4/7 adds a helper to do the actual memcpy of FrameBuffers. Patch\n5/7 adds a way for pipelines to set a FrameBuffer Request *. Patch 6/7\nand 7/7 deals with implementing the RAW stream into the IPU3 pipeline\nhandler.\n\nI have tested this on IPU3 and I can capture both a single RAW stream or\na mix of RAW and video, example with both and writing to disk.\n\n$ ./cam -c1 -s role=video -s role=stillraw -C -F\n...\nfps: 0.00 stream0 seq: 002055 bytesused: 1382400 stream1 seq: 000001 bytesused: 3269376\nfps: 30.30 stream0 seq: 002056 bytesused: 1382400 stream1 seq: 000002 bytesused: 3269376\nfps: 30.30 stream0 seq: 002057 bytesused: 1382400 stream1 seq: 000003 bytesused: 3269376\nfps: 30.30 stream0 seq: 002058 bytesused: 1382400 stream1 seq: 000004 bytesused: 3269376\n...\n\nI have also verified the content of the captured RAW frames have the\nexpected content.\n\nNiklas Söderlund (7):\n libcamera: stream: Add StillCaptureRaw role\n cam: Add option to capture StillCaptureRaw stream\n include: drm_fourcc: Add Bayer FourCC and modifiers\n libcamera: FrameBuffer: Add a method to copy buffer content\n libcamera: FrameBuffer: Add a setRequest() interface\n libcamera: ipu3: Do not unconditionally queue buffers to CIO2\n libcamera: ipu3: Add support for a RAW still capture stream\n\n include/libcamera/buffer.h | 4 +-\n include/libcamera/stream.h | 1 +\n include/linux/drm_fourcc.h | 94 +++++++++++++++\n src/cam/main.cpp | 4 +-\n src/libcamera/buffer.cpp | 79 +++++++++++++\n src/libcamera/pipeline/ipu3/ipu3.cpp | 164 +++++++++++++++++++++++----\n src/libcamera/stream.cpp | 3 +\n 7 files changed, 326 insertions(+), 23 deletions(-)" }