{"id":25389,"url":"https://patchwork.libcamera.org/api/1.1/covers/25389/?format=json","web_url":"https://patchwork.libcamera.org/cover/25389/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/1.1/projects/1/?format=json","name":"libcamera","link_name":"libcamera","list_id":"libcamera_core","list_email":"libcamera-devel@lists.libcamera.org","web_url":"","scm_url":"","webscm_url":""},"msgid":"<20251209180954.332392-1-isaac.scott@ideasonboard.com>","date":"2025-12-09T18:09:48","name":"[RFC,0/6] rkisp1: Add support for YUV bypass","submitter":{"id":215,"url":"https://patchwork.libcamera.org/api/1.1/people/215/?format=json","name":"Isaac Scott","email":"isaac.scott@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/25389/mbox/","series":[{"id":5643,"url":"https://patchwork.libcamera.org/api/1.1/series/5643/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=5643","date":"2025-12-09T18:09:48","name":"rkisp1: Add support for YUV bypass","version":1,"mbox":"https://patchwork.libcamera.org/series/5643/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/25389/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 404C3BD1F1\n\tfor <parsemail@patchwork.libcamera.org>;\n\tTue,  9 Dec 2025 18:10:06 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 411C06140A;\n\tTue,  9 Dec 2025 19:10:05 +0100 (CET)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[213.167.242.64])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 89AB0606D5\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tTue,  9 Dec 2025 19:10:03 +0100 (CET)","from isaac-ThinkPad-T16-Gen-2.infra.iob\n\t(cpc90716-aztw32-2-0-cust408.18-1.cable.virginm.net [86.26.101.153])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 6E25963B;\n\tTue,  9 Dec 2025 19:10:02 +0100 (CET)"],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key;\n\tunprotected) header.d=ideasonboard.com header.i=@ideasonboard.com\n\theader.b=\"k458ay3T\"; dkim-atps=neutral","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1765303802;\n\tbh=7Ve6/hribadJhrswZrCrLPollqLzUEHdEZ8xy+eW0bU=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=k458ay3T9yCycy4aoEC3L1YySR4L7ZuoQ8G0OvS70v/xoBnfFgYCTEdSBTbKmMvml\n\thuAFXa2kRxSxmShMCB1eqFQIdTK4Acu9hNe4Nvs10Hwff9rcgcXpMZXwTItukszhLc\n\tLCKbUc5Vr4Hi5i4azaLdbi0727aL7o3Hwzb9MI70=","From":"Isaac Scott <isaac.scott@ideasonboard.com>","To":"libcamera-devel@lists.libcamera.org","Cc":"Isaac Scott <isaac.scott@ideasonboard.com>","Subject":"[RFC PATCH 0/6] rkisp1: Add support for YUV bypass ","Date":"Tue,  9 Dec 2025 18:09:48 +0000","Message-ID":"<20251209180954.332392-1-isaac.scott@ideasonboard.com>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","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":"Hi All,\n\nThe rkisp1 features the capability to use YUV bypass, which lets input\nYUV streams to bypass all ISP blocks, and be presented at the output of\nthe ISP without being modified. This functionality is unimplemented\ncurrently.\n\nThis series adds a new type of CameraSensor class, which can be used to\nrepresent cameras that do not support controls made mandatory by\nCameraSensorLegacy. Lots of this implementation is untested, such as\nFocusLens.\n\nThis series is tested and works on the Debix Model A iMX8 MPlus with a\nGC2145 camera sensor outputting UYVY8_1X16, on top of origin/master,\nalongside with these kernel patches:\n\nhttps://lore.kernel.org/linux-media/20251209123136.273938-1-isaac.scott@ideasonboard.com/T/#t\n\nI am marking this series as RFC because I am keen to know if any other\ndevelopers have any ideas on how to improve the series, or if there are\nother considerations / edge cases that I need to address.\n\nBest wishes,\nIsaac\n\nIsaac Scott (6):\n  camera_sensor: Add camera_sensor_basic\n  ipa: rkisp1: Let all controls be optional\n  pipeline: rkisp1: Add support for YUV passthrough\n  pipeline: rkisp1: Add YUV bypass formats to list of 'raw' formats\n  rkisp1_path: Determine if the ISP is bypassed for YUV and RAW formats\n  rkisp1: Add bypass configurations to ipa_context\n\n src/ipa/rkisp1/ipa_context.h                  |   2 +\n src/ipa/rkisp1/rkisp1.cpp                     |  45 +-\n src/libcamera/pipeline/rkisp1/rkisp1.cpp      |  75 +-\n src/libcamera/pipeline/rkisp1/rkisp1_path.cpp |  65 +-\n src/libcamera/sensor/camera_sensor_basic.cpp  | 965 ++++++++++++++++++\n src/libcamera/sensor/meson.build              |   1 +\n 6 files changed, 1098 insertions(+), 55 deletions(-)\n create mode 100644 src/libcamera/sensor/camera_sensor_basic.cpp"}