From patchwork Tue Jul 21 14:59:56 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hans de Goede X-Patchwork-Id: 27430 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 C8C0CBE080 for ; Tue, 21 Jul 2026 15:00:15 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 8434367E79; Tue, 21 Jul 2026 17:00:15 +0200 (CEST) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.b="GN/Z2Fyc"; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="UF8gf35T"; dkim-atps=neutral Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 0BB4667E69 for ; Tue, 21 Jul 2026 17:00:12 +0200 (CEST) Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66LDg7mG1958770 for ; Tue, 21 Jul 2026 15:00:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=lt5eIUJH5xj I6MnIwob+2vA6v5a0okvKVlguBHiiFfc=; b=GN/Z2FycXFFlfRapZEahKRtJLzb /nJehQ/9jFkhuULwWIg3OaY6To9vMCaXP/61s02JgIIOkfC0bVAqtA6WBTEi10xu DVkjEB9YvuUTJHfSzAXAikAkDPESxm2BuM0OHxTUz/LSWZFcNLcFbfIY+HCVUTSk LBNh3kp5ICh7kbqzocTY1bOJ5o/gEwpXhMd5d6YJLM642XsxyPSGxXUZ8oRhNcTX TJIkHUBmPuAs9eOuxF6Zq0ah03GTAKgOk6SKdiEexxQdhipy+ngyQ1GsKc0FYB1D /0Hzj1i22/amBN9+kw1agulwUjGj9LahX6pWhExIelbT39IIVtjHnfTtK6Q== Received: from mail-qt1-f199.google.com (mail-qt1-f199.google.com [209.85.160.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fj1bvu2r4-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 21 Jul 2026 15:00:11 +0000 (GMT) Received: by mail-qt1-f199.google.com with SMTP id d75a77b69052e-51c20762d21so111087501cf.0 for ; Tue, 21 Jul 2026 08:00:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1784646011; x=1785250811; darn=lists.libcamera.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=lt5eIUJH5xjI6MnIwob+2vA6v5a0okvKVlguBHiiFfc=; b=UF8gf35TcDGfRfDxvCuIoccHVieLEQRGdBTTctfhu62hbXr0sHv7fhdsFTcg0CDroc JgpU9PrBL0GuRkASefKw6YG1HQKxQwsJ6NX4m3vVcABmaYC3Q3tUqdRy+RI5BB6+Sf+1 4v595br+UPcSlDsLj4Xag/+J/f4S7jx4MUfsvpXs7dbkpgWJ8BzRZHrROVQEu2/naKYb oe9geCyi6vcZUxfdeiSVb52yLh3csvYZ1CgtLRKaOq2xSpy13AoMWf/yOwjjuf3GhF3i BqRbkNFdXD/URgmUFOo0R12flyJps0mXt2b5AoMAnu9x2wlOkXk/7iSSXSNukFMTnm0j aKkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784646011; x=1785250811; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=lt5eIUJH5xjI6MnIwob+2vA6v5a0okvKVlguBHiiFfc=; b=jGhMLJ9UIrJwxr4BkneSoVx0IInSTK+qPbTK8+Xx3Gf6CbehwQrqRqhH03bCLL/7zJ K8cx8UXhAhcZn3HbeGG7J1Cm2rhXEJ/3JZ/64JbrcwqxgSOL2XCRfpxEqtRbjNiPX6PV HaMpcWIc5tx46J3y/+kOroTLTIY/foCXP1OU4epqcKtoyGsHpI8eG1pjRLpokvtyRraL 988kdxp70mQuEmag7xNF3/LBgesNZsueryRylP/0Amce7wT8oQ/YN1CYL22/DpIlnpaE /pEPqjhQ5qJd/V7fhYd6VC894qsUyBEkRsVWDX+GMgA2mERzumaFZUQwE2Xel99Inbq7 D/fg== X-Gm-Message-State: AOJu0Ywr8sxnYqk3MgtNP8By3drb76Y0pJCCVwyhMf6CWQ14hkkKeJS1 a/PW2NSHQ7TgSMVuvXgKC2wa5o+UwKVge022Up65Fcz+V2HmBg70LFblljPGnmOIWZjEMTS5Nr9 ojK8fgc/JpP0nniRfe9UNbXa4ZGhojfiODN1E6T+B3ACBbsTN7I8uUYhCtwJwR9Xnjdau8UeO5C ku2Co6p4dh X-Gm-Gg: AfdE7ckQroNWpR2FUdEtzFiQC57ZiE/S20FTAaoguBJLpOFmGI/ZGFTzg5BuBA1SF2K He2feCTmioOfHPieSlDDMAkLGFBz6CVNb7JYSJFixIFzD5cOQaMjzAMezRoO2mxpTgJ6gogaSvC f9S9WM3wk9ii0ZFfwju9vE48OptCs6Z6nGr5nuEQb4pUQfwtRj54VYBV8+LRvtpHz3Fn+DdWyXK 8wt33z8SVArmVLzE2WuJ0aIVZ3+1q+yh2Qd6oorQTixtQifM4PDjgmYegecV2PFAWyXkIc7byi+ ZZGwrs+bZ7Ul4Rma4/qdxbPfWAUuwsp61HsNJzHjDfi749TsvMU9ZLOMTeWG1xrS4ALNovcsfac EyJ6ewO0bV18dwGwpJTjYafV3xNdMRxpAFM+CZbnx3Lx6ow6n7oFBBjTJ12Sc4dezUbuKGljfX7 3ccpg+MN9ZZh3e5Qo= X-Received: by 2002:a05:622a:1353:b0:51c:af4a:9d50 with SMTP id d75a77b69052e-5213eb800a4mr187525691cf.68.1784646009782; Tue, 21 Jul 2026 08:00:09 -0700 (PDT) X-Received: by 2002:a05:622a:1353:b0:51c:af4a:9d50 with SMTP id d75a77b69052e-5213eb800a4mr187524541cf.68.1784646008855; Tue, 21 Jul 2026 08:00:08 -0700 (PDT) Received: from shalem (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c1712a5f837sm615968066b.32.2026.07.21.08.00.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 08:00:07 -0700 (PDT) From: Hans de Goede To: libcamera-devel@lists.libcamera.org Cc: Loic Poulain , Hans de Goede Subject: [PATCH v2 6/7] camss: Add camss_params.h Date: Tue, 21 Jul 2026 16:59:56 +0200 Message-ID: <20260721145958.68489-7-johannes.goede@oss.qualcomm.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260721145958.68489-1-johannes.goede@oss.qualcomm.com> References: <20260721145958.68489-1-johannes.goede@oss.qualcomm.com> MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: DWrrIqA5MzfVzlnzcfrSpNad9VJBSTO0 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzIxMDE1OCBTYWx0ZWRfXy21S14ok3lMj 1EnYqhqO+SSvo4T4Lm/jNpO/f6B7HhA2woT7PZGTEYopzGAACFwhurn+qb+bnDZIvFEfwzFw42Q 04AV2o5ztffBbozhG/3ZmnzcmrwXx1U= X-Proofpoint-GUID: DWrrIqA5MzfVzlnzcfrSpNad9VJBSTO0 X-Authority-Analysis: v=2.4 cv=Sb7HsPRu c=1 sm=1 tr=0 ts=6a5f897b cx=c_pps a=WeENfcodrlLV9YRTxbY/uA==:117 a=xqWC_Br6kY4A:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=EZgyBINV0eAsl0jEDIsA:9 a=kacYvNCVWA4VmyqE58fU:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzIxMDE1OCBTYWx0ZWRfXyhYpLovqVf+x 9JdmOz9l9aDhbDQSeQ19x39NaH6FgbUwvbsHOEatmC6G6pbT2UrURRDffJHlzp3JG/4OnUBoxn5 3z7UynqDeK8Ji8jFF9xPIqTIbfMRWCM7bjaKdwF3dcGg34iyytk8Q9Q9o62NCzQoh/BlAohWe+r hi+1hr1ABBarziXeHU9pPY9Ut4j54YEKGS2XwGPY5yw44rwk0bmtTJts5E7pRmfmFbRZSWl3U2/ acKvgLEsdqqFuBxIQnRGQloD6F5HiJXDGZdtEuHikfp6mEcawNIKDjBd4IxD76WY9E3Zga+lSPO U5hzojinICnnYw4+mh5OU6PA/sX4h6eslbk/T153CS8T5sxjkmu6CDVdas4kS/xEXojM0luQtbB 0FHrG9XOmq9Eomb3SC2OE9vTvV2vKifHIKSvdahI2s4uYrerX/jPbwHIlqL90COyDFW8eHDlIBX JN/XRALO8yMFKbH2KCw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293, Aquarius:18.0.1143, Hydra:6.1.134, FMLib:17.12.100.49 definitions=2026-07-21_03,2026-07-20_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607210158 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" Add header file definging the V4L2Params derived CamssParams class for OPE extensible ISP parameters support. Signed-off-by: Hans de Goede --- src/libcamera/pipeline/camss/camss_params.h | 67 +++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 src/libcamera/pipeline/camss/camss_params.h diff --git a/src/libcamera/pipeline/camss/camss_params.h b/src/libcamera/pipeline/camss/camss_params.h new file mode 100644 index 000000000..6dec85fbc --- /dev/null +++ b/src/libcamera/pipeline/camss/camss_params.h @@ -0,0 +1,67 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Qualcomm CAMSS ISP Parameters + * + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#pragma once + +#include +#include + +/* + * FIXME must be moved to a to-be-written camss IPA and then this should be: + * #include + */ +#include "../../../ipa/libipa/v4l2_params.h" + +namespace libcamera { + +namespace ipa::camss { + +enum class CamssBlocks { + AwbGains, + ChromaEnh, + ColorCorrect, +}; + +namespace details { + +template +struct block_type { +}; + +#define CAMSS_DEFINE_BLOCK_TYPE(id, cfgType, blkType) \ + template<> \ + struct block_type { \ + using type = struct camss_params_##cfgType; \ + static constexpr camss_params_block_type blockType = \ + camss_params_block_type::CAMSS_PARAMS_##blkType; \ + } + +CAMSS_DEFINE_BLOCK_TYPE(AwbGains, wb_gain, WB_GAIN); +CAMSS_DEFINE_BLOCK_TYPE(ChromaEnh, chroma_enhan, CHROMA_ENHAN); +CAMSS_DEFINE_BLOCK_TYPE(ColorCorrect, color_correct, COLOR_CORRECT); + +struct param_traits { + using id_type = CamssBlocks; + + template + using id_to_details = block_type; +}; + +} /* namespace details */ + +class CamssParams : public V4L2Params +{ +public: + CamssParams(Span data) + : V4L2Params(data, V4L2_ISP_PARAMS_VERSION_V1) + { + } +}; + +} /* namespace ipa::camss */ + +} /* namespace libcamera */