From patchwork Tue Feb 27 14:09:44 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Laurent Pinchart X-Patchwork-Id: 19551 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 3A84EBD80A for ; Tue, 27 Feb 2024 14:09:54 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 588256285F; Tue, 27 Feb 2024 15:09:53 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (1024-bit key; unprotected) header.d=ideasonboard.com header.i=@ideasonboard.com header.b="k0jonepm"; dkim-atps=neutral Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 40A2662806 for ; Tue, 27 Feb 2024 15:09:51 +0100 (CET) Received: from pendragon.ideasonboard.com (89-27-53-110.bb.dnainternet.fi [89.27.53.110]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id E4FC38C for ; Tue, 27 Feb 2024 15:09:38 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1709042979; bh=+0HT8Klnz+xJ6nP3ixLsmEA3MrIt++DzbWUsOqj1w0c=; h=From:To:Subject:Date:From; b=k0jonepm/yOeCcVYZpBY7nXWjTV27E5vvMjRNknrLeZHDFEal3q9UpiIDFfO4ErrZ CS4c5pZm4LrZ+Xa0PmerNfdD2yM8KOFDSm7rU6XlNqd3yl9PiClS6TYK40hLVEnp6C iuVQU3uv+DRm6ei71SecEp7znc7jF/wbswXMmv+Y= From: Laurent Pinchart To: libcamera-devel@lists.libcamera.org Subject: [PATCH 0/9] libcamera: v4l2_subdevice: Prepare for embedded data support Date: Tue, 27 Feb 2024 16:09:44 +0200 Message-ID: <20240227140953.26093-1-laurent.pinchart@ideasonboard.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 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" Hello, This patch series prepares the V4L2Subdevice class for embedded data support. It is part of my ongoing CameraSensor rework to support embedded data. I decided to send it separately to get early reviews of the design, as changes will impact the rest of the work that I'm building on top. The most important new features are exposing MediaBusFormatInfo internally (3/9), extending it with a format type (4/9) and adding stream support to the format and selection rectangle get/set handlers (7/9). Please see individual patches for details. Laurent Pinchart (9): libcamera: v4l2_subdevice: Rename V4L2SubdeviceFormatInfo libcamera: v4l2_subdevice: Add code member to MediaBusFormatInfo libcamera: v4l2_subdevice: Expose media bus format info as internal API libcamera: v4l2_subdevice: Extend MediaBusFormatInfo with metadata formats libcamera: v4l2_subdevice: Drop V4L2SubdeviceFormat::bitsPerPixel() libcamera: v4l2_subdevice: Rename V4L2SubdeviceFormat::mbus_code to code libcamera: v4l2_subdevice: Add stream support to get/set functions libcamera: v4l2_subdevice: Replace Routing::toString() with operator<<() libcamera: v4l2_subdevice: Add V4L2Subdevice::Route structure include/libcamera/internal/v4l2_subdevice.h | 76 +- src/libcamera/camera_sensor.cpp | 9 +- src/libcamera/pipeline/imx8-isi/imx8-isi.cpp | 10 +- src/libcamera/pipeline/ipu3/cio2.cpp | 8 +- src/libcamera/pipeline/ipu3/imgu.cpp | 4 +- src/libcamera/pipeline/rkisp1/rkisp1.cpp | 2 +- src/libcamera/pipeline/rkisp1/rkisp1_path.cpp | 2 +- .../pipeline/rpi/common/pipeline_base.cpp | 16 +- src/libcamera/pipeline/rpi/vc4/vc4.cpp | 2 +- src/libcamera/pipeline/simple/simple.cpp | 20 +- src/libcamera/pipeline/vimc/vimc.cpp | 4 +- src/libcamera/v4l2_subdevice.cpp | 1095 ++++++++++++++--- test/camera-sensor.cpp | 2 +- .../v4l2_videodevice_test.cpp | 2 +- 14 files changed, 997 insertions(+), 255 deletions(-) base-commit: 26d9e36d3e057b91b5b1b161a38f23f19a0590e5