Patch Detail
Show a patch.
GET /api/patches/24346/?format=api
{ "id": 24346, "url": "https://patchwork.libcamera.org/api/patches/24346/?format=api", "web_url": "https://patchwork.libcamera.org/patch/24346/", "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": "<20250912-flash_reco-v2-5-d5bb80a2e619@emfend.at>", "date": "2025-09-12T07:13:24", "name": "[v2,5/5] rkisp1: Add support for camera flash devices", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "f9b4b36c995d3e23c3ed6bf7a8859ad8c7db171a", "submitter": { "id": 134, "url": "https://patchwork.libcamera.org/api/people/134/?format=api", "name": "Matthias Fend", "email": "matthias.fend@emfend.at" }, "delegate": null, "mbox": "https://patchwork.libcamera.org/patch/24346/mbox/", "series": [ { "id": 5437, "url": "https://patchwork.libcamera.org/api/series/5437/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=5437", "date": "2025-09-12T07:13:19", "name": "Support for v4l2 flash devices", "version": 2, "mbox": "https://patchwork.libcamera.org/series/5437/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/patches/24346/comments/", "check": "pending", "checks": "https://patchwork.libcamera.org/api/patches/24346/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 2AF25C332A\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 12 Sep 2025 07:13:40 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 78D0169370;\n\tFri, 12 Sep 2025 09:13:37 +0200 (CEST)", "from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 90A666937A\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 12 Sep 2025 09:13:30 +0200 (CEST)", "from 194-208-208-245.tele.net ([194.208.208.245]:58477\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 1uwxyL-008cBW-OX; Fri, 12 Sep 2025 09:13:30 +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=\"Gq2NxlTE\"; 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=dqFRRY77dDi7ond7BaScNXXoUR2h3wlU8GqtWgqWltU=;\n\tb=Gq2NxlTELUCFXcnpPtbvFKjnf/\n\t2FdNM6sKfoPsVSAZes2Rtz0KOfvpBZTvGvMfRnoCWjKF3s0k89NPNDFlSc+Vj5soWSBKOhcOakrLP\n\tisH7lAN7pMVqK12pM0eMLJDqSJabi3DxqTLJDcmBK6vcecuTDuB2EuGHceNDBPg3zpro=;", "From": "Matthias Fend <matthias.fend@emfend.at>", "Date": "Fri, 12 Sep 2025 09:13:24 +0200", "Subject": "[PATCH v2 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": "<20250912-flash_reco-v2-5-d5bb80a2e619@emfend.at>", "References": "<20250912-flash_reco-v2-0-d5bb80a2e619@emfend.at>", "In-Reply-To": "<20250912-flash_reco-v2-0-d5bb80a2e619@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| 148 +++++++++++++++++++++++++++++ src/libcamera/meson [...] \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 Local_hs1_NotHoststar Sender is not from hoststar.ch|de|com\n\t0.0 TVD_RCVD_IP Message was received from an IP address\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 cfcbb3b2590a293106cb4d1a5c5c6adb504a61af..44ffc9b68d17f271fbab5867cc72b4d4f9330381 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@@ -1296,6 +1297,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@@ -1503,6 +1506,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": [ "v2", "5/5" ] }