Patch Detail
Show a patch.
GET /api/1.1/patches/24257/?format=api
{ "id": 24257, "url": "https://patchwork.libcamera.org/api/1.1/patches/24257/?format=api", "web_url": "https://patchwork.libcamera.org/patch/24257/", "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": "<20250828-flash-support-v1-5-4c5dc674a05b@emfend.at>", "date": "2025-08-28T13:09:42", "name": "[5/5] rkisp1: Add support for camera flash devices", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "f9b4b36c995d3e23c3ed6bf7a8859ad8c7db171a", "submitter": { "id": 134, "url": "https://patchwork.libcamera.org/api/1.1/people/134/?format=api", "name": "Matthias Fend", "email": "matthias.fend@emfend.at" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/24257/mbox/", "series": [ { "id": 5410, "url": "https://patchwork.libcamera.org/api/1.1/series/5410/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5410", "date": "2025-08-28T13:09:37", "name": "Support for v4l2 flash devices", "version": 1, "mbox": "https://patchwork.libcamera.org/series/5410/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/24257/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/24257/checks/", "tags": {}, "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 A08ACC332A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 28 Aug 2025 13:09:55 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 125EC69305;\n\tThu, 28 Aug 2025 15:09:54 +0200 (CEST)", "from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 105C869301\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 28 Aug 2025 15:09:46 +0200 (CEST)", "from 194-208-208-245.tele.net ([194.208.208.245]:56023\n\thelo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls\n\tTLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93)\n\t(envelope-from <matthias.fend@emfend.at>)\n\tid 1urcNt-00BORr-04; Thu, 28 Aug 2025 15:09:45 +0200" ], "Authentication-Results": "lancelot.ideasonboard.com;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=emfend.at header.i=@emfend.at\n\theader.b=\"FcR4zIai\"; dkim-atps=neutral", "DKIM-Signature": "v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at;\n\ts=mail;\n\th=Cc:To:In-Reply-To:References:Message-Id:Content-Transfer-Encoding:\n\tContent-Type:MIME-Version:Subject:Date:From:Sender:Reply-To:Content-ID:\n\tContent-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc\n\t:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:\n\tList-Post:List-Owner:List-Archive;\n\tbh=d9LOX1DvwYOxhjRSOQ0loAX/jgTazITi85JZDtouFbY=;\n\tb=FcR4zIainyGO6qQKvC8IvlKVEX\n\tKqOZtNdn6j5pwdLcm/CE1e1h1e5IyPPyIANgLlwzEdsqq1o4RdLQirth5NzB3sDI+sgJRNCYhjNDB\n\tIDzU1KOmygv6IB2HGV98QqK//RCUVF9VIFCsgG/M2/4Ynt/Xx/S7Pxw+Hpan2gs6Ub6w=;", "From": "Matthias Fend <matthias.fend@emfend.at>", "Date": "Thu, 28 Aug 2025 15:09:42 +0200", "Subject": "[PATCH 5/5] rkisp1: Add support for camera flash devices", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "7bit", "Message-Id": "<20250828-flash-support-v1-5-4c5dc674a05b@emfend.at>", "References": "<20250828-flash-support-v1-0-4c5dc674a05b@emfend.at>", "In-Reply-To": "<20250828-flash-support-v1-0-4c5dc674a05b@emfend.at>", "To": "libcamera-devel@lists.libcamera.org", "Cc": "Matthias Fend <matthias.fend@emfend.at>", "X-Mailer": "b4 0.14.2", "X-Spam-Score": "-0.7", "X-Spam-Bar": "/", "X-Spam-Report": "Spam detection software,\n\trunning on the system \"lx20.hoststar.hosting\", \n\thas NOT identified this incoming email as spam. The original\n\tmessage has been attached to this so you can view it or label\n\tsimilar future email. If you have any questions, see\n\tthe administrator of that system for details.\n\tContent preview: Add a set of helpers that pipeline handlers can use\n\tto deal\n\twith camera flash devices. This mainly involves mapping controls to\n\tthe flash device and vice versa. Signed-off-by: Matthias Fend\n\t<matthias.fend@emfend.at>\n\t--- include/libcamera/internal/flash_control.h | 23 +++++++\n\tsrc/libcamera/flash_control.cpp\n\t| 103 +++++++++++++++++++++++++++++ src/libcamera/mes [...] \n\tContent analysis details: (-0.7 points, 5.0 required)\n\tpts rule name description\n\t---- ----------------------\n\t--------------------------------------------------\n\t0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was\n\tblocked. See\n\thttp://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block\n\tfor more information. [URIs: meson.build]\n\t0.0 URIBL_DBL_BLOCKED_OPENDNS ADMINISTRATOR NOTICE: The query to\n\tdbl.spamhaus.org was blocked due to usage\n\tof an open resolver. See https://www.spamhaus.org/returnc/pub/\n\t[URIs: meson.build]\n\t0.0 URIBL_ZEN_BLOCKED_OPENDNS ADMINISTRATOR NOTICE: The query to\n\tzen.spamhaus.org was blocked due to usage\n\tof an open resolver. See https://www.spamhaus.org/returnc/pub/\n\t[URIs: meson.build]\n\t-1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP\n\t0.0 TVD_RCVD_IP Message was received from an IP address\n\t0.0 Local_hs1_NotHoststar Sender is not from hoststar.ch|de|com\n\t0.0 KAM_DMARC_STATUS Test Rule for DKIM or SPF Failure with Strict\n\tAlignment\n\t0.2 KAM_LOTSOFHASH Emails with lots of hash-like gibberish", "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": "Use the flash device pipeline helpers to bring flash support to the\nRKISP1 pipeline.\n\nSigned-off-by: Matthias Fend <matthias.fend@emfend.at>\n---\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 5 +++++\n 1 file changed, 5 insertions(+)", "diff": "diff --git a/src/libcamera/pipeline/rkisp1/rkisp1.cpp b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\nindex 55d7d4442caf25c3e56880136986f48c1447c433..585bb2f0b51a2fe76cc84fa1a62cf66ef43c5723 100644\n--- a/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n+++ b/src/libcamera/pipeline/rkisp1/rkisp1.cpp\n@@ -39,6 +39,7 @@\n #include \"libcamera/internal/converter/converter_v4l2_m2m.h\"\n #include \"libcamera/internal/delayed_controls.h\"\n #include \"libcamera/internal/device_enumerator.h\"\n+#include \"libcamera/internal/flash_control.h\"\n #include \"libcamera/internal/framebuffer.h\"\n #include \"libcamera/internal/ipa_manager.h\"\n #include \"libcamera/internal/media_device.h\"\n@@ -1294,6 +1295,8 @@ int PipelineHandlerRkISP1::updateControls(RkISP1CameraData *data)\n \t\tactiveCrop_ = scalerMaxCrop_;\n \t}\n \n+\tFlashControl::updateFlashControls(data->sensor_->flash(), controls);\n+\n \t/* Add the IPA registered controls to list of camera controls. */\n \tfor (const auto &ipaControl : data->ipaControls_)\n \t\tcontrols[ipaControl.first] = ipaControl.second;\n@@ -1501,6 +1504,8 @@ void PipelineHandlerRkISP1::imageBufferReady(FrameBuffer *buffer)\n \t\t\tinfo->metadataProcessed = true;\n \t}\n \n+\tFlashControl::handleFlashControls(data->sensor_->flash(), request->controls(), request->metadata());\n+\n \tif (!useDewarper_) {\n \t\tcompleteBuffer(request, buffer);\n \t\ttryCompleteRequest(info);\n", "prefixes": [ "5/5" ] }