From patchwork Fri Nov 6 15:13:40 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: 28794 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 4076FC335D for ; Fri, 6 Nov 2026 15:14:03 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id D71656A7ED; Fri, 6 Nov 2026 16:14:02 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.b="iGOi48ji"; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="GMkT4vyf"; 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 63FC36A7CD for ; Fri, 6 Nov 2026 16:13:58 +0100 (CET) Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6A6F09bl3185114 for ; Fri, 6 Nov 2026 15:13:57 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=84llMaYkBgA 8YNzqL5iJy5ES6nGOrnVbUi9M7p0W0pU=; b=iGOi48jiDvv7IaMrH1hp32xYUg3 0oAJHKidzQLqG8TcQW7qdHVaLhADkUU68M8MNGt1iBMBdXU77lBOmwQj4bf8M1xy c9U39hobrVwnT3QmVoSPh79ok1/JWEippRyftSn5AB8mifoF6q+VyjZKLaJMxVVW QhifUSkexDhMOKE7PS6bLtQgcrka390PBT/qHBztWDa+NOB4Rnw2v6+1guOfG/Qp EkHt6FVLzj8aOwv/bl4Qp0XLab2vtimJEqbYzy3iD3qU/S9RLeZWJD8aOwe9IWz0 Dk+6v99LUUpqSDt4S6Q02GHHYXDud81ucKKPv8hIDDZ5JACPbYxDUmZLEkQ== Received: from mail-qk1-f197.google.com (mail-qk1-f197.google.com [209.85.222.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4hs3pab8ub-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 06 Nov 2026 15:13:57 +0000 (GMT) Received: by mail-qk1-f197.google.com with SMTP id af79cd13be357-93ecdc701a2so106774685a.3 for ; Fri, 06 Nov 2026 07:13:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1793978036; x=1794582836; 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=84llMaYkBgA8YNzqL5iJy5ES6nGOrnVbUi9M7p0W0pU=; b=GMkT4vyfGO1vFEp26zzZNN/7Rrpzo+zaj2z/Wq6oXO6HeWfvlrYkAgIutDk6MD0NHH fHISTTIg+PJodWE5xkgJKOOnVeUDFkpCZZmk2Rw6S1skMvxpss7YxdKjEAJheepCf2Dz nd3t+ir6sFCGQHDtpmu381tCSxtmILPBuh/1u6DBbmknPFVD3UpV/4BGbchOqsCns995 ZjnP1ZB931wiyJLk2doHbnBSd/j63Pcrx/NZgD0XyD68Jzh58Kp+pQiQKG1zZvdpVQzv WsbKZ/F0wZejpGaWtpXPdp2PSL6EJ9AefFQf+J77hknUei/znrA3KrTFy3jhmHd+rdc8 fhLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793978036; x=1794582836; 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=84llMaYkBgA8YNzqL5iJy5ES6nGOrnVbUi9M7p0W0pU=; b=pc/Qsj0cAU1y5qI7qQtbfSNQ1I5BWN+tzsbb63Py7mcx9YHGmLOXIN8V3QH/8q1Iv7 MrQm8q9Q/TDR+7gQQD6aGAErC+rOKQaFF7gYA1mEGnia1Sv5M5uHm+X7YrQMd0G/2wzt HeyPFMDEVQeT3F6P286mt/ryrMo399dUE3mgbQK02O0sVI7ZqPY9kSu/YKc37+2OMeaf 6lKBmluUy629WqOFDTnmvZDNWXsTH2FHYIteZwJufk1SzFv4c0xnRjM6CQKo6Peck3Xk 0I6TUn6O+Wl7/WYpSzFBBIjtNSXOsoIh2ztiGVLwMERVxlO5Up1HbvFwD25m+vLXGU2U iHXw== X-Gm-Message-State: APuU4Z+Z4xRq80kVewfEq+61IhMQgWMYR5VdQN0sQX/FL8QBN47H+o0m 3DXDY9oxgOUOVL7ndGVEPR6FmswIY+v7e2v7022wtFWvL01hRcdcqJaqYPkARj7cEEdzRqgLO19 wqutb/AnZc7MQG5m/Dve8yrXFdYGRD6hBWjmTMIu+4nOtVTR9eJXBHhVZExtN6jHoJjrnaxzRkS /zpyRqxvsI X-Gm-Gg: AYBFou17JWkz9wXncrq2Lb2nbRqD7802S2riB34Es081X34KbtK8CMdElR7e59t/y/W 7UwpBV3TCtOK+GrAjqH+9O2urmu3UzulRdS7iWKWPDJVQG83PEDXlhWFXGkN3RH+MFwX/ZfW09/ kRiPvQSUYTxJO/EML3VdDI+2S5s0Do1WFyJZLSgA9O7cUQdtAGTY7HYNFsqSM3wdCEtmKnMskGg 0joxx7skJ8/JB4hzyYivS6+dn+aUpmTHzI3NIVdh4O+fTOaGUuf3Bt4Wqetfbm1xbkge1ycuuQF mBt2roBUCOVjPFkxl7396UIpMU/q+D8SBAAotBmGDpCuwwdyysoyT38vLgi3uH0sG5NrKg5+IQk Y5y1HIAYl4w5bcj+yJcjgNc2YfLiguy5LCnXIoF7I7RH6BVy++u+AF5ouPp/TRwoZhcxAcIx5Ll qaOOW37dslBTRfJQilSgrns2b/jgAI1B5cNHOYRYNO3on2bm5zfTiNcD84eNq0etky X-Received: by 2002:a05:620a:4387:b0:93f:34c9:9252 with SMTP id af79cd13be357-945f355b906mr400106485a.55.1793978036533; Fri, 06 Nov 2026 07:13:56 -0800 (PST) X-Received: by 2002:a05:620a:4387:b0:93f:34c9:9252 with SMTP id af79cd13be357-945f355b906mr400101085a.55.1793978035928; Fri, 06 Nov 2026 07:13:55 -0800 (PST) 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-c4d3569b856sm86042466b.46.2026.11.06.07.13.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Nov 2026 07:13:55 -0800 (PST) From: Hans de Goede To: libcamera-devel@lists.libcamera.org Cc: Gjorgji Rosikopulos , Loic Poulain , Hans de Goede Subject: [PATCH v3 6/7] camss: Add camss_params.h Date: Fri, 6 Nov 2026 16:13:40 +0100 Message-ID: <20261106151345.32491-7-johannes.goede@oss.qualcomm.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261106151345.32491-1-johannes.goede@oss.qualcomm.com> References: <20261106151345.32491-1-johannes.goede@oss.qualcomm.com> MIME-Version: 1.0 X-Proofpoint-GUID: O9PQlxt5sicKhPQ_3SVcduKxI2VCvlDD X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYxMTA2MDA1OSBTYWx0ZWRfX7uYHMn1kj16F 6na82pu7wU+3G8JND5J+bzQhwePrcyAhiPb0MqYhml45PAORLFm42U3/5Hzuu7uHjZb9IpoqLwN L8ESFukpKks7ltUM9l6LL+UjCbOMVj0YM0ZoG85uBBHTiPTL4V+9/AcGs0u4JhBjpydfs1q06C0 FaHWSm8U6jQlAT1UaEYEZSbnDPrlwvF+R4OXeC+1KpUKnIMpkVi0pQOP+4wO8TsACVoVO80sxqt EXNtZsRJKbpGihWHwTRGFUkj+cCFF+W6VwzA9TWDvGPyhpj/O5b4vJngAtVifMnizq1HC+Guwx7 hpS9je2ZU0sAPfMR8PJhgR8ZcXdtolOkQdaBWtr2QP6YKKSv0QQEsu/2j2Edcu9KCAqGfOUR2jz tSqti6IYHubyCm/kOK361O4xq6aUpShIIdJlxuit0TjduumSQ4marRkY/ky2pYnjhLhpE1mj4eQ c/7fbzP5OxcM386wmDw== X-Proofpoint-ORIG-GUID: O9PQlxt5sicKhPQ_3SVcduKxI2VCvlDD X-Authority-Analysis: v=2.4 cv=X7rHu2Te c=1 sm=1 tr=0 ts=6aedeeb5 cx=c_pps a=50t2pK5VMbmlHzFWWp8p/g==:117 a=xqWC_Br6kY4A:10 a=zJRp6_cAMcgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=9Q4bkKXLEDaXOvrWDlIA:9 a=IoWCM6iH3mJn3m4BftBB:22 X-Proofpoint-Spam-Info: AW1haW4tMjYxMTA2MDA1OSBTYWx0ZWRfXwZIDq/qL/UaQ PGG9Z8e9XaGeEkxkVxbbooEKyeFhKVVT1RqLh3W/21ozM6EjklJ+L0qfzZenGEjTFpzQ0Q1/c/2 SfkdDsAljpfK9grWRxgU41rk7NeTQ/k= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293, Aquarius:18.0.1176, Hydra:6.1.138, FMLib:17.12.100.49 definitions=2026-11-06_05,2026-11-06_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1015 impostorscore=0 phishscore=0 malwarescore=0 bulkscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2611040001 definitions=main-2611060059 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 | 71 +++++++++++++++++++++ 1 file changed, 71 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..51e6e639c --- /dev/null +++ b/src/libcamera/pipeline/camss/camss_params.h @@ -0,0 +1,71 @@ +/* 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 +#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, + Gamma, +}; + +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); +CAMSS_DEFINE_BLOCK_TYPE(Gamma, gamma, GAMMA); + +struct param_traits { + using id_type = CamssBlocks; + + template + using id_to_details = block_type; +}; + +} /* namespace details */ + +class CamssParams : public V4L2Params +{ +public: + CamssParams(std::span data) + : V4L2Params(data, V4L2_ISP_PARAMS_VERSION_V1) + { + } +}; + +} /* namespace ipa::camss */ + +} /* namespace libcamera */