From patchwork Fri Nov 6 15:13:36 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: 28791 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 11336C3304 for ; Fri, 6 Nov 2026 15:13:59 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 459C16A7DF; Fri, 6 Nov 2026 16:13:56 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.b="jqA2c50D"; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="B7mr4X6H"; dkim-atps=neutral Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B367E6A7CE for ; Fri, 6 Nov 2026 16:13:53 +0100 (CET) Received: from pps.filterd (m0279863.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6A6Exs98044150 for ; Fri, 6 Nov 2026 15:13:52 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=EJeHoEk6HAM HrU+Nj1H9vN5Yo7pEoQ9CMxnSmnnW0VY=; b=jqA2c50DYRrvNuv4PmKm+gqpVqR CJSjTZEM9d6TF/SfsEkDPMCq+tsGhEsZ5rk3aGXrkywmiZxIgSYQ0Mq52pf+ugjs NTwrnEphCOFCcVvqbuHScHKF06HNMZWjPUkwCrOGqgvDzaZMenuzF4ZLFDTp4YtO Lx3AhSbvN2Ze+2r+MwJDXwZan4ZoH+DECgE9IJP2jv9S5JcW5XRzaEn8DgUPiesT 8liX6QyoMTFRRIL1eSRPSnmVL4FAx8yV3EOfBWjCLUH9HdCshMQhRH4StbOmln8G DXvsbJQS3HFhfdJGSXmLKmvRyJXp4QL32lZxiET6/q+lBGo0yUczEqc1QHA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4hs3pa39e3-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 06 Nov 2026 15:13:51 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-93f26dd2165so254093085a.3 for ; Fri, 06 Nov 2026 07:13:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1793978031; x=1794582831; 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=EJeHoEk6HAMHrU+Nj1H9vN5Yo7pEoQ9CMxnSmnnW0VY=; b=B7mr4X6HK2axJKvzFWlTZ5bSuDag8pQXkM5AmS+q42JiTXkBwC6lqTQR+CGRZ5DizF C5E87I6f7vZjcUaTiW/JkFHsh/lorUIkMHp/9hZbdu32fXQvZMuKyFkivj+TEElSbBim XVHBUvU/05cVI4InTnDqql/N+yU32UeRuy7+YxDZataAtijuZvEFOONmnLyqiMZflDl1 ratPySRPnI+r2201ANv5DG1Rl0aJOix90eF/EguqMxh0MKvWo3V4MpFNXCkYr9efyQFZ uPm9bQZIMmu4ctCZ9vI/EcD6PMGm3IZ1aqxj3fxyqm+JiIhmqAKXt4BcRTgLYN8FbmzC 05zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1793978031; x=1794582831; 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=EJeHoEk6HAMHrU+Nj1H9vN5Yo7pEoQ9CMxnSmnnW0VY=; b=Z5IwRvrOKf9FRdaSQBoDYGxoOyCdX1ijRrR1JKObFD2jUPrMv36nLVAA1b45baipQL sQxt1UpIuTm99Io8l+Qy+viWIAWrCXga+4upSWiJ7gk9j87McJkKTEgWGUbewRGYBmtQ SM78GQWWHaYSgNYWI2lSm/SkpbyufD/0LzCQK72TrrAXA7Hb3Lq8eJvK+44JFK7YMwbj MKh3wrTWVf1MfmZ2dXOCCm1iRlcd69LaNJnHM6FyCo59mYzBzzVvJRUZGEig1xal6p/5 XdkCkDsTohxFJ5MEhpKa5sGx3nZlAPob5x4cbX4uW/r7sdMlDAAsQSPv7YZ7HuuJ/gR1 3l+A== X-Gm-Message-State: APuU4Z+Muy8uBPZ5sIpRTdyIUh6/fkd3iNjWTysw4oE3svqVO/wLLE7+ F0cLEU04rSvWcF192YfSIoJGF0SXorsMybeJcSbc9gqOeZtRGwrMymtw30idb2oG9MdyrcLKssT gcyx2vQcd+DmNb61Py01N9j70OxcW9QJ+ffwAwJCrT8btLGmhyEUGs3HmbleGsK49VKHbb/+Vdb 8DxtIsEoZd X-Gm-Gg: AYBFou2TS32CXceqqCKQtPgiD2Cg3bLtXtWjaH3cXZoz1pyd82NHsE6ZzfHnKjcUPtD +MrWRuON/w/wdxueLu73hn7jN2BhYS5mJEjiiyUWeMMmvIqrSdu7jXqQwNqF4I2a7wugZUWGaiK esnPu6MnSHJc1j6A7YE3kNsQjh5so6NN1NhXuCKnJWfiIdOqAblm3AhM7O/HaKRKY9qjiyG8Eze 2820ik4Ju6lUMNTNs3Ccz6uCszXCwuNJD8Ds+pZCpTgIk8DFrKg8mFuC6nJ5d8DeoXRbIuInVRd CF7b/fUXJWdM/2BwawLZzR4lqOV7rmibFAeqvi34fma0ZCodunevoFpYmNQ2c1ysEsA9oI/tv7v ckLxMoDSClksBjn/rMI/ae6b/BrM+h1Iiw4HNa2gnpHG6iCKkA1yRr1u2l42bK9bMfkDZMgzW4p +bH3/FgbmzRISJ0KnbFIXgmI2RbZtKIWq9so89AtBlqU4/MpeZ6zBuEkYamCRaKZPX X-Received: by 2002:a05:620a:84c9:b0:945:d1ed:5d83 with SMTP id af79cd13be357-945f3562e34mr418647985a.54.1793978030859; Fri, 06 Nov 2026 07:13:50 -0800 (PST) X-Received: by 2002:a05:620a:84c9:b0:945:d1ed:5d83 with SMTP id af79cd13be357-945f3562e34mr418641785a.54.1793978030270; Fri, 06 Nov 2026 07:13:50 -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.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Nov 2026 07:13:49 -0800 (PST) From: Hans de Goede To: libcamera-devel@lists.libcamera.org Cc: Gjorgji Rosikopulos , Loic Poulain , Hans de Goede Subject: [PATCH v3 2/7] camss: Add camss utility functions Date: Fri, 6 Nov 2026 16:13:36 +0100 Message-ID: <20261106151345.32491-3-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-Authority-Analysis: v=2.4 cv=PLeaavqC c=1 sm=1 tr=0 ts=6aedeeaf cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=zJRp6_cAMcgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yOCtJkima9RkubShWh1s:22 a=EUspDBNiAAAA:8 a=Z-vQv52y2RNpiqyDFZQA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Spam-Info: AW1haW4tMjYxMTA2MDA1OSBTYWx0ZWRfX0FAGgodlfxp0 fYfwSwDjhirZz9UwIQl3tduXoLWIK4evipLB0wmKANWTP/iw1aj9uAZf9VmnU2drPm2Fh4hZmpw uO5mhRDUrP0iC7W/ynYxqteOia11tis= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYxMTA2MDA1OSBTYWx0ZWRfX7gAPJSh/lUf3 CYX4Nt4LLTNX0G1j2fwvrYHoIJf2gF2f+a0xgrN327l8ZnRfpXbKvY/K/9Lk82Qg3KgyorLsNKS hMDYCaMdK2Z7TyyEfW0JdP6KChSfFX5SHwHOinTglTJVqkXCVfqURCNljRmQENdJ+fVG65gIMJH 9ymi/nxp8UuMxyTUxOuimwYONDIzKGcbkx1w9JRzoNsfHLjyxAcnCIOUY+mDDGi685JHnCiwk/+ sZkhjPOqFFXyT3zFFwpjy1UgfsF+HWjgLnnSVA+tN/yQ8WwjkxX5CGAaUVdxzjXKsji9Wrm2ReZ NXa94qdRFuNR3O7C6tFEAV1irTUXujCydhUW/9d7hMHRCcydl8DjNw8UcZsZOId/wtCKB0or6fP 5PMCV5bkldrQzt1+UOK+Dxf8s1bsfug90tK+/wdtOXMkQB0Tdpzo7tc35io8MqTGTwPHpB9cY4y Te/6cV3vKC16CkXZn3g== X-Proofpoint-GUID: ekZ0WRMZkYXvx02AHTpmmq0LLaXH1H4B X-Proofpoint-ORIG-GUID: ekZ0WRMZkYXvx02AHTpmmq0LLaXH1H4B 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 lowpriorityscore=0 impostorscore=0 malwarescore=0 clxscore=1015 bulkscore=0 priorityscore=1501 spamscore=0 phishscore=0 adultscore=0 suspectscore=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 camss_util.[h|cpp] files with some small helper functions shared between Camss* classes. Signed-off-by: Hans de Goede --- src/libcamera/pipeline/camss/camss_util.cpp | 39 +++++++++++++++++++++ src/libcamera/pipeline/camss/camss_util.h | 19 ++++++++++ 2 files changed, 58 insertions(+) create mode 100644 src/libcamera/pipeline/camss/camss_util.cpp create mode 100644 src/libcamera/pipeline/camss/camss_util.h diff --git a/src/libcamera/pipeline/camss/camss_util.cpp b/src/libcamera/pipeline/camss/camss_util.cpp new file mode 100644 index 000000000..96b1bbc72 --- /dev/null +++ b/src/libcamera/pipeline/camss/camss_util.cpp @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Qualcomm CAMSS utility functions + * + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#include "camss_util.h" + +#include + +#include + +#include "libcamera/internal/v4l2_videodevice.h" + +namespace libcamera { + +LOG_DECLARE_CATEGORY(Camss) + +bool camssV4L2DeviceFormatMatchesStreamConfig(const V4L2DeviceFormat &fmt, + const StreamConfiguration &cfg, + const char *msgPrefix) +{ + if (cfg.pixelFormat != fmt.fourcc.toPixelFormat(false) || cfg.size != fmt.size || + cfg.stride != fmt.planes[0].bpl) { + LOG(Camss, Error) + << msgPrefix + << " StreamConfiguration vs V4L2DeviceFormat mismatch" + << " pixelFormat " << cfg.pixelFormat << ", " << fmt.fourcc.toPixelFormat(false) + << " size " << cfg.size << ", " << fmt.size + << " stride " << cfg.stride << ", " << fmt.planes[0].bpl + << " frameSize " << cfg.frameSize << ", " << fmt.planes[0].size; + return false; + } + + return true; +} + +} /* namespace libcamera */ diff --git a/src/libcamera/pipeline/camss/camss_util.h b/src/libcamera/pipeline/camss/camss_util.h new file mode 100644 index 000000000..111c305aa --- /dev/null +++ b/src/libcamera/pipeline/camss/camss_util.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: LGPL-2.1-or-later */ +/* + * Qualcomm CAMSS utility functions + * + * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. + */ + +#pragma once + +namespace libcamera { + +struct StreamConfiguration; +class V4L2DeviceFormat; + +bool camssV4L2DeviceFormatMatchesStreamConfig(const V4L2DeviceFormat &fmt, + const StreamConfiguration &cfg, + const char *msgPrefix); + +} /* namespace libcamera */