{"id":19020,"url":"https://patchwork.libcamera.org/api/covers/19020/?format=json","web_url":"https://patchwork.libcamera.org/cover/19020/","project":{"id":1,"url":"https://patchwork.libcamera.org/api/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":"<20230915130650.35691-1-jacopo.mondi@ideasonboard.com>","date":"2023-09-15T13:06:38","name":"[libcamera-devel,v3,00/12] libcamera: Introduce SensorConfiguration","submitter":{"id":143,"url":"https://patchwork.libcamera.org/api/people/143/?format=json","name":"Jacopo Mondi","email":"jacopo.mondi@ideasonboard.com"},"mbox":"https://patchwork.libcamera.org/cover/19020/mbox/","series":[{"id":4025,"url":"https://patchwork.libcamera.org/api/series/4025/?format=json","web_url":"https://patchwork.libcamera.org/project/libcamera/list/?series=4025","date":"2023-09-15T13:06:38","name":"libcamera: Introduce SensorConfiguration","version":3,"mbox":"https://patchwork.libcamera.org/series/4025/mbox/"}],"comments":"https://patchwork.libcamera.org/api/covers/19020/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 61C91BD160\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 15 Sep 2023 13:07:10 +0000 (UTC)","from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id 691B16291C;\n\tFri, 15 Sep 2023 15:07:09 +0200 (CEST)","from perceval.ideasonboard.com (perceval.ideasonboard.com\n\t[IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id E1C64628EC\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 15 Sep 2023 15:07:07 +0200 (CEST)","from uno.LocalDomain (93-61-96-190.ip145.fastwebnet.it\n\t[93.61.96.190])\n\tby perceval.ideasonboard.com (Postfix) with ESMTPSA id 5799A9A8;\n\tFri, 15 Sep 2023 15:05:34 +0200 (CEST)"],"DKIM-Signature":["v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1694783229;\n\tbh=meeieWl6UvM16hQkFsZv8kayWO9VinmZorsdw5/qHUE=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:Cc:From;\n\tb=VyKZq/fQHr6uBpDyT1BZB27fm6Dmyxzg8zArScU8Pat8CTacUcY+I1BMM5e1+l6uS\n\tx1Y++CpWv43aZICUBIdKGNijPGXxgXrmk5VAqo4cfWWaLJgte4eZEMklsp/n3TiZy9\n\tbgtqcXKsDjd1pZgcS2sybaElORiGv6qSFw7nqOc2KnKThtG6+TE5RLY/QyMNPZZW2O\n\tvRk4rj41U0z6+/gaySrVOEL7+UfZ/Wq4hyVYfSAAC++hEYWMB6APe5MBLGssgf/Vy8\n\t0moB2TgQz07CA/Q3fckBw7FVAVu+RkzEgc+60hRDNrPUYOilx4QHmKsrxoUECIUi82\n\tjEHUKRBPYeK+g==","v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com;\n\ts=mail; t=1694783134;\n\tbh=meeieWl6UvM16hQkFsZv8kayWO9VinmZorsdw5/qHUE=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=dO3uHjEByJcHArAtaylF7A3jbiyOaiZVnXVyostKTnAXQwnYN5bHKaURNYXjWWapY\n\ty2MXaBMJikzJn09KOWTdEevZBdJnKqYc8i8aGeMJWYfYlNxyKr2oDFZqguWaeN5yaq\n\tUaJNJTmBsijSLnFbpiDFqvbIfjnq3Dykpi+Tsihc="],"Authentication-Results":"lancelot.ideasonboard.com; dkim=pass (1024-bit key; \n\tunprotected) header.d=ideasonboard.com\n\theader.i=@ideasonboard.com\n\theader.b=\"dO3uHjEB\"; dkim-atps=neutral","To":"libcamera-devel@lists.libcamera.org","Date":"Fri, 15 Sep 2023 15:06:38 +0200","Message-ID":"<20230915130650.35691-1-jacopo.mondi@ideasonboard.com>","X-Mailer":"git-send-email 2.42.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Subject":"[libcamera-devel] [PATCH v3 00/12] libcamera: Introduce\n\tSensorConfiguration","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>","From":"Jacopo Mondi via libcamera-devel <libcamera-devel@lists.libcamera.org>","Reply-To":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Cc":"Jacopo Mondi <jacopo.mondi@ideasonboard.com>","Errors-To":"libcamera-devel-bounces@lists.libcamera.org","Sender":"\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>"},"content":"Hello,\n  the series introduces a slightly more formally defined camera sensor model\nused to model a SensorConfiguration class, an instance of which is added to\nthe CameraConfiguration class. The newly introduced class allows to control the\nsensor configuration without abusing the RAW stream configuration, reason\nbeing some platforms do not allow to capture RAW frames as they get produced\nby the sensor.\n\nIntroduce a model for the SensorConfiguration class and implement its handling\non the RaspberryPi pipeline handler as a proof of concept.\n\nTested with an imx219, configured to capture frames with different sensor\nconfigurations, without using any RAW stream.\n\nOn top of the previously sent patches a series from Naush that simplifies the\nRaspberryPi validatation and configuration code.\n\nv2->v3:\n- Address Kieran's comments on documentation\n- Add Naush's patches on top\n\nv1->v2:\n- Fix spelling in 2/4 as suggested by Naush\n- Add Naush's tags\n\nJacopo Mondi (5):\n  documentation: Introduce Camera Sensor Model\n  libcamera: camera: Introduce SensorConfiguration\n  libcamera: camera_sensor: Support SensorConfiguration\n  libcamera: rpi: Handle SensorConfiguration\n  libcamera: rpi: Fix wrong comment indentation\n\nNaushir Patuck (7):\n  libcamera: rpi: Allow platformValidate() to adjust format strides\n  libcamera: rpi: Make isRaw/isYuv/isRgb static functions\n  libcamera: rpi: Cache rawStreams and outStreams\n  libcamera: rpi: Add some helpers to PipelineHandlerBase\n  libcamera: rpi: Simplify validate() and configure() for RAW streams\n  libcamera: rpi: Change default stream formats\n  libcamera: rpi: Simplify validate() and configure() for YUV/RGB\n    streams\n\n Documentation/binning.png                     | Bin 0 -> 66004 bytes\n Documentation/camera-sensor-model.png         | Bin 0 -> 74270 bytes\n Documentation/camera-sensor-model.rst         | 198 ++++++++++++\n Documentation/index.rst                       |   1 +\n Documentation/meson.build                     |   1 +\n Documentation/skipping.png                    | Bin 0 -> 67218 bytes\n include/libcamera/camera.h                    |  43 +++\n include/libcamera/internal/camera_sensor.h    |   5 +\n src/libcamera/camera.cpp                      | 185 ++++++++++++\n src/libcamera/camera_sensor.cpp               |  86 ++++++\n .../pipeline/rpi/common/pipeline_base.cpp     | 281 ++++++++++--------\n .../pipeline/rpi/common/pipeline_base.h       |  55 ++--\n src/libcamera/pipeline/rpi/vc4/vc4.cpp        |  86 +++---\n 13 files changed, 758 insertions(+), 183 deletions(-)\n create mode 100644 Documentation/binning.png\n create mode 100644 Documentation/camera-sensor-model.png\n create mode 100644 Documentation/camera-sensor-model.rst\n create mode 100644 Documentation/skipping.png\n\n--\n2.42.0"}