From patchwork Thu Oct 2 13:26:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Naushir Patuck X-Patchwork-Id: 24548 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 DF0E4C328C for ; Thu, 2 Oct 2025 13:35:33 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 6A4B46B5FE; Thu, 2 Oct 2025 15:35:32 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=raspberrypi.com header.i=@raspberrypi.com header.b="c4uzrDxl"; dkim-atps=neutral Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com [IPv6:2a00:1450:4864:20::333]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 48A016B5A2 for ; Thu, 2 Oct 2025 15:35:30 +0200 (CEST) Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-46e2f4167b9so696295e9.1 for ; Thu, 02 Oct 2025 06:35:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=raspberrypi.com; s=google; t=1759412129; x=1760016929; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=0IyT3Xgy/kZ2aAX7Y6cnlN+tKX1e0Y1iHNDaTZIG7KQ=; b=c4uzrDxlblalaGwx+qOYfRwMj4weRFOyuKqOLTOhm42DMmULn7Vh64z+6vZMSfN5eh IKYclAPaT375gsgMKZP0h3nTgHcnCH//wsTtea19WbqqnLkUUtNsYfin5vl8QpMCyNrz aX6A/RluiywffqlsmuLp+fijhnPqPsFUEgtjz8+UnTtqaQ8hhzVCcAemYcE2pE1ZrraE oYeFHEoT4uiGqY0w1olbMXjznMsgutH7T2hnwe6kQ1qaV2SKzlu+JRShKYYY6bc9Cu+4 t0b5j4ttgvdkhPowcbbcNK7YfdtBp40mXwHgRXn/uLGn+aM5u2ovzJ3z5bsDCr17D5ZH czdA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759412129; x=1760016929; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0IyT3Xgy/kZ2aAX7Y6cnlN+tKX1e0Y1iHNDaTZIG7KQ=; b=GAC58fg9VSFmnKDrpbFd93+po2aelYeRp4u4aaZg8GXv62o+p//i/+S+D1QJpXsOdt jmzbQjNlr/V7bjPZaquEHouYqfxqXUrq2FGbd5Bv4ieP6N/02SgSkqakJDf8KLonx6eO R9aWKXFqCJWvuMHgPcFEgpskWkZnNEh4paNBc06ThKnLLZUpVGZxPxdTyCNB/FfvurmF d0dtP5nrlwUQNFJdV3gvkhUvJYqt3qwkSfOTmPS1Z2N9GsDZDzAphnunwMVf1fVWUt7b 4iu0GJfOqZyGXXQx4QML5gtxpkpAmB4q5wEGaGyCxL3dBNUVjJPtRT5wvHIdqIJose29 34TA== X-Gm-Message-State: AOJu0YwXL4+k7zdG9/Uzq5nTdjkUVcz5xjsDqxnHVIyMzpeAqPkw2zAA rUEQg6KkJtptmAfcxcgo4j1bKMYjrK3fXU42FG3P8zYlyDrer5v8kZB7IrR6xckzUFjR+36Ed4V qtTRE X-Gm-Gg: ASbGncuicYywCA4f68GEyq1tH3QLz++KzxcGPQTHykV98jhkprrAm8D+rFDdDdgx7FI m47xZX3sMAd04GTNs58liCT7fCP/E4y9HohsZoLbt4oZYw3VJqR4MKgGTsROrsQIY4NBREmFCZI jD1TagZH3kNUJ6pQHn777UScfuhartJyfaiOQkv0zqbSHP96RDzW10xERM2fBxfTnfXFcPe0EMX XCoeI+dnd52n9zL/5Y0ttDCJB0kpp1k7rro+ZdBCo1GJuPsPzaCJBj3ANYDn5iu6jV7JGTejF02 dMfbUwadTag7XS+kqSMzPvCiPzX5VjgbleANxvQLOFguJN1NfH+mWpqspfzOUzNKtDeQpJVwHQ+ yQGqahk8tVASLEzmfkf2CQjCKZiKl5cH+ucqll5nYwdTynRITb1lqaMkfZPL+eNWYFA== X-Google-Smtp-Source: AGHT+IH4rp8s9J7jjqoiDojWSBwmFpJ7vMXElpzlVQA/4Cq/KWp7/3G5IopDwDLHecQh7FaHDaGsnQ== X-Received: by 2002:a05:600c:314a:b0:46d:364c:ce23 with SMTP id 5b1f17b1804b1-46e6119e703mr29649225e9.0.1759412129373; Thu, 02 Oct 2025 06:35:29 -0700 (PDT) Received: from NAUSH-P-DELL.pitowers.org ([93.93.133.154]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-46e6918bdebsm40396015e9.9.2025.10.02.06.35.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Oct 2025 06:35:28 -0700 (PDT) From: Naushir Patuck To: libcamera-devel@lists.libcamera.org Cc: David Plowman , Nick Hollinghurst , Naushir Patuck Subject: [PATCH v1 0/4] Raspberry Pi: Decompanding support Date: Thu, 2 Oct 2025 14:26:03 +0100 Message-ID: <20251002133523.293413-1-naush@raspberrypi.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" Hi, This series is a successor to [1] adding support for sensor data decompanding in the frontend. Patch 1 adds support for the algorithm in the IPA, and patches 2-4 update the code to provide initial values to the hardware before the sensor starts streaming. Without these patches, the first 1-2 frames would not have the decompanding enabled. Thanks, Naush [1]: https://patchwork.libcamera.org/patch/24540/ Naushir Patuck (3): ipa: rpi: Add FE globals as a parameter to applyDecompand() ipa: rpi: pisp: Add a DecompandAlgorithm class ipa: rpi: pisp: Allow an initial decompand curve to be set on the FE Sena Asotani (1): ipa: rpi: pisp: Add decompand support using PiSP hardware block src/ipa/rpi/controller/decompand_algorithm.h | 26 ++++++++ src/ipa/rpi/controller/decompand_status.h | 8 +++ src/ipa/rpi/controller/meson.build | 1 + src/ipa/rpi/controller/rpi/decompand.cpp | 66 ++++++++++++++++++++ src/ipa/rpi/controller/rpi/decompand.h | 31 +++++++++ src/ipa/rpi/pisp/pisp.cpp | 56 +++++++++++++++++ 6 files changed, 188 insertions(+) create mode 100644 src/ipa/rpi/controller/decompand_algorithm.h create mode 100644 src/ipa/rpi/controller/decompand_status.h create mode 100644 src/ipa/rpi/controller/rpi/decompand.cpp create mode 100644 src/ipa/rpi/controller/rpi/decompand.h Tested-by: Nick Hollinghurst