Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/13749/?format=api
{ "id": 13749, "url": "https://patchwork.libcamera.org/api/1.1/covers/13749/?format=api", "web_url": "https://patchwork.libcamera.org/cover/13749/", "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": "<20210907195704.338079-1-umang.jain@ideasonboard.com>", "date": "2021-09-07T19:56:58", "name": "[libcamera-devel,v1,0/6] Async post-processor", "submitter": { "id": 86, "url": "https://patchwork.libcamera.org/api/1.1/people/86/?format=api", "name": "Umang Jain", "email": "umang.jain@ideasonboard.com" }, "mbox": "https://patchwork.libcamera.org/cover/13749/mbox/", "series": [ { "id": 2493, "url": "https://patchwork.libcamera.org/api/1.1/series/2493/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=2493", "date": "2021-09-07T19:56:58", "name": "Async post-processor", "version": 1, "mbox": "https://patchwork.libcamera.org/series/2493/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/13749/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 A3624BDC71\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue, 7 Sep 2021 19:57:19 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 1FE426916C;\n\tTue, 7 Sep 2021 21:57:19 +0200 (CEST)", "from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 18B5160251\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue, 7 Sep 2021 21:57:18 +0200 (CEST)", "from perceval.ideasonboard.com (unknown [103.251.226.2])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id E1B22499;\n\tTue, 7 Sep 2021 21:57:16 +0200 (CEST)" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"lJmHIs2f\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1631044637;\n\tbh=rOaD/dBOfE8B71S3ZxxDEnUeY6LqIQ7vSRtzmVu8T00=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=lJmHIs2fmOIgsOnlmfsHKPptTHAmXZRnFaoLgtNPOIYIE32qRPkINqn1xOGqGZvAa\n\ti/lAgmq1csvpsuDeMaJiuxbCxVJtPQuuMGlZRInxFUtxA1ijRGr/eRKfzQZXaU2Pfk\n\tBS+QaFkGEMnYijvD5xsogV3MDCGMPeWTqA2tr7+g=", "From": "Umang Jain <umang.jain@ideasonboard.com>", "To": "libcamera-devel@lists.libcamera.org", "Date": "Wed, 8 Sep 2021 01:26:58 +0530", "Message-Id": "<20210907195704.338079-1-umang.jain@ideasonboard.com>", "X-Mailer": "git-send-email 2.31.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH v1 0/6] Async post-processor", "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": "This series aims to enable async post-processing of streams\nin the HAL layer.\n\nPatch (1,2,3)/6 introduces basic plumbing with respect to signals. The signals\nnotify about the post-processing status to upper layers, based on which\nslots in upper layers can send back results(or errors) to framework.\n\nPatch 4/6 adds a queue and slot to signal introduced in previous patches.\nSignals are emitted for post-processing completion and capture results\nare added to queue if there is a request for post-processing.\nThe queue ensures we send back capture results in order, to the framework.\nThis patch also saves the context(as part of Camera3RequestDescriptor) \nwhile queuing so that, we can ressurect all the context information again,\nwhen we actually send back capture results to the framework.\n\nUptill this point, the post-processing still runs synchrously i.e.\nstatus quo is maintained as per master.\n\nPatch 5/6 and 6/6 brings in a new Thread to run the post-processor, which\nactually makes the post-processor run async.\n\n---\nTesting:\npost-processor-jpeg runs in a separate thread and saves an image\non shutter-click. Streaming of image data continues as usual.\nMultiple shutter-click with reasonable gap(one-ish shutter-click per second)\nsaves image as expected.\n\nHowever, if you become a woodpecker with the shutter button, you might be able to\nsee https://paste.debian.net/1210728/. Kieran and I will be looking into it.\n\nThere seems a current breakage of camera service with CTS on master.\nI'll keep an eye and will try to get CTS results with this series, once fixed.\n--- \n\nUmang Jain (6):\n android: camera_stream: Pass FrameBuffer pointer instead of reference\n android: post_processor: Notify post processing completion status\n android: camera_stream: Notify process() status with a Signal\n android: camera_device: Add a queue for sending capture results\n android: camera_device: Move buffer mapping for post-processing\n android: camera_stream: Run post-processor in a separate thread\n\n src/android/camera_device.cpp | 149 +++++++++++++++++++++--\n src/android/camera_device.h | 28 +++++\n src/android/camera_stream.cpp | 39 +++---\n src/android/camera_stream.h | 43 ++++++-\n src/android/jpeg/encoder.h | 2 +-\n src/android/jpeg/encoder_libjpeg.cpp | 4 +-\n src/android/jpeg/encoder_libjpeg.h | 2 +-\n src/android/jpeg/post_processor_jpeg.cpp | 11 +-\n src/android/jpeg/post_processor_jpeg.h | 4 +-\n src/android/jpeg/thumbnailer.cpp | 4 +-\n src/android/jpeg/thumbnailer.h | 2 +-\n src/android/post_processor.h | 10 +-\n src/android/yuv/post_processor_yuv.cpp | 22 ++--\n src/android/yuv/post_processor_yuv.h | 4 +-\n 14 files changed, 272 insertions(+), 52 deletions(-)" }