From patchwork Thu Aug 28 13:09:37 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthias Fend X-Patchwork-Id: 24252 Return-Path: X-Original-To: parsemail@patchwork.libcamera.org Delivered-To: parsemail@patchwork.libcamera.org Received: from lancelot.ideasonboard.com (lancelot.ideasonboard.com [92.243.16.209]) by patchwork.libcamera.org (Postfix) with ESMTPS id 6614FBD87C for ; Thu, 28 Aug 2025 13:09:46 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id E6CDD692FC; Thu, 28 Aug 2025 15:09:44 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=emfend.at header.i=@emfend.at header.b="d9852wWg"; dkim-atps=neutral Received: from lx20.hoststar.hosting (lx20.hoststar.hosting [168.119.41.54]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id D65B7613B8 for ; Thu, 28 Aug 2025 15:09:42 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=emfend.at; s=mail; h=Cc:To:Content-Transfer-Encoding:Content-Type:MIME-Version: Message-Id:Date:Subject:From:Sender:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=NYk9/IYD4CpkiO7mYnIAMxCFnNxnzkStNM0/x6PPAJA=; b=d9852wWg+b6Yit9onvKZDAaSXc BeHkZWBc8sexP1I1iteht/SAZgYBJQSmh8HL/d+dRMEOjsfxA3YNfJXp7xRpxgKetgR91XLmILIH5 d3aghqbCut8dnwu5bs1w2yXVOg0MQx0R1bDglIE8eh8t3auRsRMVjHH+FW+xfV/zIC78=; Received: from 194-208-208-245.tele.net ([194.208.208.245]:56023 helo=[127.0.1.1]) by lx20.hoststar.hosting with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from ) id 1urcNp-00BORr-ND; Thu, 28 Aug 2025 15:09:42 +0200 From: Matthias Fend Subject: [PATCH 0/5] Support for v4l2 flash devices Date: Thu, 28 Aug 2025 15:09:37 +0200 Message-Id: <20250828-flash-support-v1-0-4c5dc674a05b@emfend.at> MIME-Version: 1.0 X-B4-Tracking: v=1; b=H4sIABFVsGgC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDI1MDCyNz3bScxOIM3eLSgoL8ohLdlBQz8yQTw0QLoyRLJaCegqLUtMwKsHn RsbW1AJDyEmBfAAAA X-Change-ID: 20250827-flash-support-dd67b41a82b9 To: libcamera-devel@lists.libcamera.org Cc: Matthias Fend X-Mailer: b4 0.14.2 X-Spam-Score: X-Spam-Bar: X-Spam-Report: X-BeenThere: libcamera-devel@lists.libcamera.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libcamera-devel-bounces@lists.libcamera.org Sender: "libcamera-devel" This series brings initial support for v4l2 flash devices. With these patches, v4l2 flash devices can be controlled by applications via libcamera controls. Applications therefore only require one API and do not have to worry about details such as finding the appropriate v4l2 flash device. The controls are currently quite transparent and no advanced flash sequences (pre-flash, AGC precorrection, etc.) are supported. This functionality should be easy to integrate into the various pipeline handlers and is implemented as an example for the RKSIP1 pipeline. Signed-off-by: Matthias Fend Signed-off-by: Richard Leitner --- Matthias Fend (5): libcamera: control_ids_draft: Add flash controls libcamera: Add support for camera flash devices Documentation: Add flash driver requirements libcamera: Add flash helpers for pipeline handlers rkisp1: Add support for camera flash devices Documentation/documentation-contents.rst | 1 + Documentation/flash_driver_requirements.rst | 40 +++++ Documentation/index.rst | 1 + Documentation/meson.build | 1 + include/libcamera/internal/camera_flash.h | 75 ++++++++ include/libcamera/internal/camera_sensor.h | 2 + include/libcamera/internal/flash_control.h | 23 +++ src/libcamera/camera_flash.cpp | 248 ++++++++++++++++++++++++++ src/libcamera/control_ids_draft.yaml | 69 +++++++ src/libcamera/flash_control.cpp | 103 +++++++++++ src/libcamera/meson.build | 2 + src/libcamera/pipeline/rkisp1/rkisp1.cpp | 5 + src/libcamera/sensor/camera_sensor_legacy.cpp | 13 ++ src/libcamera/sensor/camera_sensor_raw.cpp | 13 ++ 14 files changed, 596 insertions(+) --- base-commit: d54e5537ca0909339bb6950f3a565c9077406a3c change-id: 20250827-flash-support-dd67b41a82b9 Best regards,