Cover Letter Detail
Show a cover letter.
GET /api/1.1/covers/19102/?format=api
{ "id": 19102, "url": "https://patchwork.libcamera.org/api/1.1/covers/19102/?format=api", "web_url": "https://patchwork.libcamera.org/cover/19102/", "project": { "id": 1, "url": "https://patchwork.libcamera.org/api/1.1/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": "<20231006132000.23504-1-naush@raspberrypi.com>", "date": "2023-10-06T13:19:40", "name": "[libcamera-devel,00/20] Raspberry Pi: Preliminary PiSP support", "submitter": { "id": 34, "url": "https://patchwork.libcamera.org/api/1.1/people/34/?format=api", "name": "Naushir Patuck", "email": "naush@raspberrypi.com" }, "mbox": "https://patchwork.libcamera.org/cover/19102/mbox/", "series": [ { "id": 4047, "url": "https://patchwork.libcamera.org/api/1.1/series/4047/?format=api", "web_url": "https://patchwork.libcamera.org/project/libcamera/list/?series=4047", "date": "2023-10-06T13:19:40", "name": "Raspberry Pi: Preliminary PiSP support", "version": 1, "mbox": "https://patchwork.libcamera.org/series/4047/mbox/" } ], "comments": "https://patchwork.libcamera.org/api/covers/19102/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 88566BD808\n\tfor <parsemail@patchwork.libcamera.org>;\n\tFri, 6 Oct 2023 13:19:59 +0000 (UTC)", "from lancelot.ideasonboard.com (localhost [IPv6:::1])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTP id D3B0B62964;\n\tFri, 6 Oct 2023 15:19:58 +0200 (CEST)", "from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com\n\t[IPv6:2a00:1450:4864:20::12b])\n\tby lancelot.ideasonboard.com (Postfix) with ESMTPS id 6431461DDD\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 6 Oct 2023 15:19:57 +0200 (CEST)", "by mail-lf1-x12b.google.com with SMTP id\n\t2adb3069b0e04-50444e756deso2844605e87.0\n\tfor <libcamera-devel@lists.libcamera.org>;\n\tFri, 06 Oct 2023 06:19:57 -0700 (PDT)", "from localhost.localdomain ([93.93.133.154])\n\tby smtp.gmail.com with ESMTPSA id\n\tm8-20020a056000180800b00321773bb933sm1639478wrh.77.2023.10.06.06.19.54\n\t(version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n\tFri, 06 Oct 2023 06:19:54 -0700 (PDT)" ], "DKIM-Signature": [ "v=1; a=rsa-sha256; c=relaxed/simple; d=libcamera.org;\n\ts=mail; t=1696598398;\n\tbh=VLRzHOlz2Ny46BIb5FdGt+jSvwVsQtapTFi8+l2A7EI=;\n\th=To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post:\n\tList-Help:List-Subscribe:From:Reply-To:From;\n\tb=DVKkOUkaRLbypWSNmjtFtDXpN8Yolhgq/hzH+lZq+TVTqplGX4khSbmScz7MxUkSI\n\t2LHj5vQ+NbxQXEo37/UMTqtrcNQX8llQ2xW+xIEeUkm0QqCyjbbYVleDPnXjAD/qiE\n\t1dcKJss/Tw80/yisHZ55hGpH55rLEaM1ZhmZZEh/r/9bMJE18Y6pwfLtU8vNyp/agU\n\tijGC9L+ZSPzFyNz1v0+a8rOaE7FRBnCmLo5qIcH2o7R2De7J9xb+mQSzq4yV2zFQ7P\n\tFmYAZ3RKa2tmuMWAWMGrCKcOnQpOlyoamvNmVDX9K/G196YALTHcEfmlZ1CIvsu3bC\n\t8jm/azbR910ww==", "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=raspberrypi.com; s=google; t=1696598396; x=1697203196;\n\tdarn=lists.libcamera.org; \n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:from:to:cc:subject:date:message-id:reply-to;\n\tbh=1D3IeVpd08j2pEvDXTnftGKQQYQVfL9G1jiiGdqAzG4=;\n\tb=NwPss1PITDKSRe0WaGLB3sUEHCgphNZj0K6q7Zr27wB9KaOnfF5ZU95OXESITDvavb\n\t1xifD3BM/lSQJ9TG71ZYKefIIV3+9+uF79jOYnresOA9l08mkwcMJMoq7VxxTr+odB7N\n\t5/gzu9YndckH7zjzZa/l+Dk9e/PDVZlpnO9o3WZi5RkGh9GGeFP4jyX7jBDHoLLgBRPU\n\tIfGH+hBoQpVJOlWUfBbaXzD/YCYSaMks2qb/VfER/du3MTYXyZm/H7O0RcL+tvZMmzjy\n\tP3899K7qjQNXyjvJpeEtkukUZWTiKJbWxnJqTaiE6nGzyDPQN1eYUDbEdxEyQ+gdwFdY\n\tQHVQ==" ], "Authentication-Results": "lancelot.ideasonboard.com; dkim=pass (2048-bit key; \n\tunprotected) header.d=raspberrypi.com\n\theader.i=@raspberrypi.com\n\theader.b=\"NwPss1PI\"; dkim-atps=neutral", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20230601; t=1696598396; x=1697203196;\n\th=content-transfer-encoding:mime-version:message-id:date:subject:cc\n\t:to:from:x-gm-message-state:from:to:cc:subject:date:message-id\n\t:reply-to;\n\tbh=1D3IeVpd08j2pEvDXTnftGKQQYQVfL9G1jiiGdqAzG4=;\n\tb=RNfnEWVBqlW6KsPbOFrel0nn8isAWaTA7E47lWKO6/2mqtekdAMBOmCY/S3V4JjCsz\n\toCCmNeVqzTL3urftO/UiQAkQAi24GHQTrpDnC65BEcLgisVa2BwlPMfjMT52SxY6YLpL\n\tfyHFPxIaTez6KyGSmQBZYckE7VwQJrIah0v01yJ7IlRyVay14Y8mkP6BI2FI3PYHpD1r\n\t4N819vLZJAAiv9LaeUaidPdjQFSJTEP8MoH8zYoMBwPgPTermF0hekDtiqjfu7fV7zyw\n\t4HVJw1crts7f6qj5YcgO31+Prgxwih3LOIRD4GFruJv+rBHgcE2Qw88vkZ7Ji4r7HKw2\n\tRaYQ==", "X-Gm-Message-State": "AOJu0YwDWuk0nbtAe9ujOCb2RAFkT6O9obeFkzbo2E21CUaGBWRehI49\n\tJ8+JrdwJTEp7tnavNWKM5hTsc3eNyZLnGGqDlGgM2Q==", "X-Google-Smtp-Source": "AGHT+IHhiv+FbQDdcsMBrdTwjuxMspx6XSeSsVTbuLMACtmijXjyRQTV2Bk+QawHcqFmNOTPRr6srA==", "X-Received": "by 2002:a05:6512:3f18:b0:503:35bb:1e74 with SMTP id\n\ty24-20020a0565123f1800b0050335bb1e74mr7056712lfa.61.1696598395800; \n\tFri, 06 Oct 2023 06:19:55 -0700 (PDT)", "To": "libcamera-devel@lists.libcamera.org", "Date": "Fri, 6 Oct 2023 14:19:40 +0100", "Message-Id": "<20231006132000.23504-1-naush@raspberrypi.com>", "X-Mailer": "git-send-email 2.34.1", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "Subject": "[libcamera-devel] [PATCH 00/20] Raspberry Pi: Preliminary PiSP\n\tsupport", "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": "Naushir Patuck via libcamera-devel\n\t<libcamera-devel@lists.libcamera.org>", "Reply-To": "Naushir Patuck <naush@raspberrypi.com>", "Errors-To": "libcamera-devel-bounces@lists.libcamera.org", "Sender": "\"libcamera-devel\" <libcamera-devel-bounces@lists.libcamera.org>" }, "content": "Hi,\n\nThis (rather large) series introduces infrastructure needed for adding Raspberry\nPi 5 support into libcamera. As some of you may be aware, Raspberry Pi 5 has\nnew in-house designed ISP (named PiSP) and Camera Front End (CFE) hardware\npipelines to handle camera and imaging tasks.\n\nThe patches in this series add some necessary functionality and algorithms\nneeded for the new PISP pipeline handler and IPA to function correctly. The\nactual pipeline handler and IPA code is not included in this series. We are\nwaiting for the associated kernel drivers to be upstreamed before sending them\nto this mailing list. However, the code is available to inspect (particularly\nto understand the context of some of these changes) at\nhttps://github.com/raspberrypi/libcamera.\n\nFinally, even though my name is listed as the author on most of the commits, the\nfollowing people also share authorship for this work:\n\nDavid Plowman\nNick Hollinghurst\nWilliam Vinnicombe\n\nThanks,\nNaush\n\nDavid Plowman (4):\n ipa: rpi: agc: Add an AGC stable region\n ipa: rpi: contrast: Allow adaptive contrast enhancement to be disabled\n ipa: rpi: denoise: Support different denoise configurations\n ipa: rpi: agc: Avoid overwriting caller's statistics pointer\n\nNaushir Patuck (16):\n pipeline: rpi: Add RequiresMmap flag to RPi::Stream\n pipeline: rpi: Add Recurrent and Needs32bitConv flags to RPi::Stream\n pipeline: rpi: Add SharedMemObject class\n ipa: rpi: Add IpaBase::platformStart() member function\n mojom: pipeline: ipa: rpi: Add fields for PiSP objects\n ipa: rpi: Add try_lock() to RPiController::Metadata\n ipa: rpi: Add statsInline to the Controller hardware description\n ipa: rpi: Add PiSP definitions to the Controller hardware description\n ipa: rpi: Prepare ALSC for PiSP support\n ipa: rpi: Prepare AWB for PiSP support\n ipa: rpi: Add new algorithms for PiSP\n pipeline: rpi: Add SW downscale status to RPi::Stream\n build: ipa: Fix bug in building multiple IPA interfaces with the same\n mojom file\n pipeline: rpi: Move flip handling validation code\n pipeline: rpi: Make color space members in RPiCameraConfiguration\n public\n ipa: rpi: agc: When AGC channels are changed, start with the 1st\n channel\n\n include/libcamera/ipa/meson.build | 19 +-\n include/libcamera/ipa/raspberrypi.mojom | 6 +-\n src/ipa/rpi/common/ipa_base.cpp | 23 +-\n src/ipa/rpi/common/ipa_base.h | 1 +\n src/ipa/rpi/controller/agc_status.h | 3 +\n src/ipa/rpi/controller/cac_status.h | 16 ++\n src/ipa/rpi/controller/contrast_algorithm.h | 2 +\n src/ipa/rpi/controller/controller.cpp | 18 +-\n src/ipa/rpi/controller/controller.h | 2 +\n src/ipa/rpi/controller/denoise_algorithm.h | 4 +\n src/ipa/rpi/controller/denoise_status.h | 19 ++\n src/ipa/rpi/controller/hdr_algorithm.h | 25 ++\n src/ipa/rpi/controller/hdr_status.h | 19 ++\n src/ipa/rpi/controller/meson.build | 5 +\n src/ipa/rpi/controller/metadata.h | 1 +\n src/ipa/rpi/controller/rpi/agc.cpp | 6 +-\n src/ipa/rpi/controller/rpi/agc_channel.cpp | 7 +\n src/ipa/rpi/controller/rpi/agc_channel.h | 1 +\n src/ipa/rpi/controller/rpi/alsc.cpp | 16 +-\n src/ipa/rpi/controller/rpi/awb.cpp | 29 +-\n src/ipa/rpi/controller/rpi/cac.cpp | 81 ++++++\n src/ipa/rpi/controller/rpi/cac.h | 38 +++\n src/ipa/rpi/controller/rpi/contrast.cpp | 13 +-\n src/ipa/rpi/controller/rpi/contrast.h | 3 +\n src/ipa/rpi/controller/rpi/denoise.cpp | 198 +++++++++++++\n src/ipa/rpi/controller/rpi/denoise.h | 59 ++++\n src/ipa/rpi/controller/rpi/hdr.cpp | 270 ++++++++++++++++++\n src/ipa/rpi/controller/rpi/hdr.h | 72 +++++\n src/ipa/rpi/controller/rpi/saturation.cpp | 57 ++++\n src/ipa/rpi/controller/rpi/saturation.h | 32 +++\n src/ipa/rpi/controller/rpi/sdn.cpp | 2 +\n src/ipa/rpi/controller/rpi/tonemap.cpp | 61 ++++\n src/ipa/rpi/controller/rpi/tonemap.h | 35 +++\n src/ipa/rpi/controller/saturation_status.h | 13 +\n src/ipa/rpi/controller/stitch_status.h | 17 ++\n src/ipa/rpi/controller/tonemap_status.h | 17 ++\n src/ipa/rpi/vc4/vc4.cpp | 7 +\n .../pipeline/rpi/common/pipeline_base.cpp | 16 +-\n .../pipeline/rpi/common/pipeline_base.h | 6 +-\n .../pipeline/rpi/common/rpi_stream.cpp | 64 ++++-\n .../pipeline/rpi/common/rpi_stream.h | 54 +++-\n .../pipeline/rpi/common/shared_mem_object.h | 118 ++++++++\n src/libcamera/pipeline/rpi/vc4/vc4.cpp | 23 +-\n 43 files changed, 1413 insertions(+), 65 deletions(-)\n create mode 100644 src/ipa/rpi/controller/cac_status.h\n create mode 100644 src/ipa/rpi/controller/hdr_algorithm.h\n create mode 100644 src/ipa/rpi/controller/hdr_status.h\n create mode 100644 src/ipa/rpi/controller/rpi/cac.cpp\n create mode 100644 src/ipa/rpi/controller/rpi/cac.h\n create mode 100644 src/ipa/rpi/controller/rpi/denoise.cpp\n create mode 100644 src/ipa/rpi/controller/rpi/denoise.h\n create mode 100644 src/ipa/rpi/controller/rpi/hdr.cpp\n create mode 100644 src/ipa/rpi/controller/rpi/hdr.h\n create mode 100644 src/ipa/rpi/controller/rpi/saturation.cpp\n create mode 100644 src/ipa/rpi/controller/rpi/saturation.h\n create mode 100644 src/ipa/rpi/controller/rpi/tonemap.cpp\n create mode 100644 src/ipa/rpi/controller/rpi/tonemap.h\n create mode 100644 src/ipa/rpi/controller/saturation_status.h\n create mode 100644 src/ipa/rpi/controller/stitch_status.h\n create mode 100644 src/ipa/rpi/controller/tonemap_status.h\n create mode 100644 src/libcamera/pipeline/rpi/common/shared_mem_object.h" }