Cover Letter Detail
Show a cover letter.
GET /api/covers/17886/?format=api
{ "id": 17886, "url": "https://patchwork.libcamera.org/api/covers/17886/?format=api", "web_url": "https://patchwork.libcamera.org/cover/17886/", "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": "<20221124121220.47000-1-jacopo@jmondi.org>", "date": "2022-11-24T12:12:11", "name": "[libcamera-devel,0/9] libcamera: camera_sensor: Centralize flips handling", "submitter": { "id": 3, "url": "https://patchwork.libcamera.org/api/people/3/?format=api", "name": "Jacopo Mondi", "email": "jacopo@jmondi.org" }, "mbox": "https://patchwork.libcamera.org/cover/17886/mbox/", "series": [ { "id": 3638, "url": "https://patchwork.libcamera.org/api/series/3638/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=3638", "date": "2022-11-24T12:12:11", "name": "libcamera: camera_sensor: Centralize flips handling", "version": 1, "mbox": "https://patchwork.libcamera.org/series/3638/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/17886/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 32FC4BDE6B\n\tfor <parsemail@patchwork.libcamera.org>;\n\tThu, 24 Nov 2022 12:12:28 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id C95396331A;\n\tThu, 24 Nov 2022 13:12:27 +0100 (CET)", "from relay2-d.mail.gandi.net (relay2-d.mail.gandi.net\n\t[IPv6:2001:4b98:dc4:8::222])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 61079632EA\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tThu, 24 Nov 2022 13:12:26 +0100 (CET)", "(Authenticated sender: jacopo@jmondi.org)\n\tby mail.gandi.net (Postfix) with ESMTPSA id 5861440003;\n\tThu, 24 Nov 2022 12:12:25 +0000 (UTC)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1669291947;\n\tbh=UohL0RuGjd6bRHTP3N1W2zN400T6UIjDLjNrGlJWAC4=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=4VKC0AtUdmGs/V//WwJGYzXVR85elCnrsjzG5TUyDKVFIQXXk5gZmafFYwPfVsS6Z\n\twAtwbTmEe3ZhDk47hgn0Qci7Rz2PMXQmx/DZ+zwDEh57lCv4FciH8v5sclbeJhZrSf\n\tn5JMywHrcHqxS3BzRUZzWGCPrVanCGgf81o/P7pk8K7RAGwHuG5PBSnHAoGPFIFheA\n\thJb0SxTg5yMnEZktgeBltH3EJZMGBNCLc8/zZvtSQBI+1BIkC4JO8wGpfDsSxvgFxW\n\tnJzfab34F/wpUD36XV+YbjOjelzzFuYfmpFt8TzHnLyiZGuJqaGEB+3w0Wd5fArEHC\n\t3jRQKlmnj2czg==", "To": "libcamera-devel@lists.libcamera.org", "Date": "Thu, 24 Nov 2022 13:12:11 +0100", "Message-Id": "<20221124121220.47000-1-jacopo@jmondi.org>", "X-Mailer": "git-send-email 2.38.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH 0/9] libcamera: camera_sensor: Centralize\n\tflips handling", "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@jmondi.org>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Hello,\n this series takes in two patches from David and on top of them plumbs\nflips handling in the CameraSensor class.\n\nThe discussion on how to handle flip reset/defaut configuration on David's\npatches highlighted the need to centrlize their handling as the only two\nplatforms that support rotation do so by applying flips on the sensor, and the\ncode was copied from RPi pipeline handler to IPU3. As the RkISP1 platform needs\nto support Transform as well, it is desirable to collect all the boilerplate\ncode in a central location in the CameraSensor class.\n\nThe series start with the two patches from David, on top of which the\nCameraSensor class is extended to\n\n1) Validate Transform:\n The same logic as implemented in the IPU3/RPi PH is moved in the CameraSensor\n class. The requested Transform is adjusted against the sensor's rotation and\n the sensor's capabilities. In example, if a sensor is 180 degrees rotated (as\n reported by V4L2_CID_ROTATION) and the Identity transform is requested, the\n resulting combined Transform is Rot180, to automatically correct the image\n rotation.\n\n2) Apply flips at CameraSensor::setFormat() time\n Before applying a format, flips are operated according to the requested\n Transform. Applying flips before setting a format is crucial to obtain an\n up to data Bayer pattern order. In order to simplify setting a Transform\n on the camera sensor, a new \"transform\" member is added to\n V4L2SubdeviceFormat.\n\nOn top, after a few minor patches, Transform support is added to the RkISP1\npipeline handler.\n\nTested on i.MX8MP with a sensor that\n- does not support flips\n- support flips - no V4L2_CID_ROTATION\n- support flips with V4L2_CID_ROTATION\n\nOnly compile tested on IPU3 and RPi.\n\nThanks\n j\n\nDavid Plowman (2):\n libcamera: bayer_format: Add toMbusCode method\n libcamera: camera_sensor: Do not clear camera flips when listing\n formats\n\nJacopo Mondi (7):\n libcamera: bayer_format: Expand documentation\n libcamera: camera_sensor: Verify flips support\n libcamera: camera_sensor: Validate Transform\n libcamera: camera_sensor: Apply flips at setFormat()\n libcamera: rkisp1: Re-sort includes\n libcamera: rkisp1: Add support for Transform\n documentation: sensor_drivers: Document H/V flip\n\n Documentation/sensor_driver_requirements.rst | 13 ++\n include/libcamera/internal/bayer_format.h | 1 +\n include/libcamera/internal/camera_sensor.h | 5 +\n include/libcamera/internal/v4l2_subdevice.h | 2 +\n src/libcamera/bayer_format.cpp | 31 +++-\n src/libcamera/camera_sensor.cpp | 149 ++++++++++++++++--\n src/libcamera/pipeline/ipu3/cio2.cpp | 6 +-\n src/libcamera/pipeline/ipu3/cio2.h | 4 +-\n src/libcamera/pipeline/ipu3/ipu3.cpp | 73 +--------\n .../pipeline/raspberrypi/raspberrypi.cpp | 86 ++--------\n src/libcamera/pipeline/rkisp1/rkisp1.cpp | 19 ++-\n src/libcamera/v4l2_subdevice.cpp | 10 ++\n 12 files changed, 235 insertions(+), 164 deletions(-)\n\n--\n2.38.1" }