From patchwork Fri Dec 19 19:06:30 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Walter Werner Schneider X-Patchwork-Id: 25614 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 0B0A2BD7D8 for ; Fri, 19 Dec 2025 19:23:44 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 2C00561F9F; Fri, 19 Dec 2025 20:23:41 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=schnwalter.eu header.i=@schnwalter.eu header.b="g0GJ59bI"; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="RKMAteFB"; dkim-atps=neutral Received: from fhigh-b5-smtp.messagingengine.com (fhigh-b5-smtp.messagingengine.com [202.12.124.156]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id 7D83961F6C for ; Fri, 19 Dec 2025 20:06:49 +0100 (CET) Received: from phl-compute-03.internal (phl-compute-03.internal [10.202.2.43]) by mailfhigh.stl.internal (Postfix) with ESMTP id 65A8D7A0069; Fri, 19 Dec 2025 14:06:48 -0500 (EST) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-03.internal (MEProxy); Fri, 19 Dec 2025 14:06:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=schnwalter.eu; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm2; t=1766171208; x=1766257608; bh=tup+vGK60K10aDNQ6ApUDHJFxLz4Z4mb cuwjYgA8UsQ=; b=g0GJ59bInutwRrfZ6y+DJVa0DRS+A6DpldbcNg3xfr1VxtS4 30g9/8IiyzUsm3clAY1WKeNGN8Tywjx6CVkW+8w+1lohZGOYQYUFqvkfTAZcgTBX lA5KBe2OFExh+WD3OtEs+do74xnreQRKmcLvwQPuh7uOLOT6pG4tVWWdggWm+kqN sDFziQvy612Lu6VJsmXAiN/zvrHHm7jWfl3G0g+2lgDT77lrbfIXHhXplHfYiAfZ d4zgaX4c8ktdaepgfR415Rua754g+fl3D12VH7HIbJG+zjI8CT+GZrZs6VCkhL0a dId35mDAFNHrsLW1+I9poeDTCgWZ/uuBt/2Ssw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1766171208; x= 1766257608; bh=tup+vGK60K10aDNQ6ApUDHJFxLz4Z4mbcuwjYgA8UsQ=; b=R KMAteFBR7TCy7mJqSEUNuDaDbAXFxqpAPC8R3bEtHfI+e6mDONYoeY2jBLZLEBFb 69z/yi4g3nxR5Bk1B/IuwXfHvZ2XtVOX4J+CbDzifVWZNXH3Z2Vnh+dK8Kw3LaKD zUCc9vLUhCWU1oGoZtLxTNcIhbSytF+mgA2GHFetkUu3RFYCnEjTVu+V+WjUhud2 ha8PoCNjfCdWx95n3f08fPr56ZK49c+zplrMLcJblHH8h+DqcBzQAmDMSLLhpp/t ylvyKWZ8zXoF//KnIbU86ATIWwWe0U5HsBDCRWqiS7LYdLzdRzEgGaVJnUl6q4Dc uI5xkWnU7QzG0YDvJhAzQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdegledutdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecunecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertd ertdejnecuhfhrohhmpeghrghlthgvrhcuhggvrhhnvghrucfutghhnhgvihguvghruceo tghonhhtrggtthesshgthhhnfigrlhhtvghrrdgvuheqnecuggftrfgrthhtvghrnheptd evtdevuefhieevhfeuhfevleehuddvgefhfeffgefgudegkeetleevgedvveevnecuvehl uhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheptghonhhtrggtth esshgthhhnfigrlhhtvghrrdgvuhdpnhgspghrtghpthhtohepvddpmhhouggvpehsmhht phhouhhtpdhrtghpthhtoheplhhisggtrghmvghrrgdquggvvhgvlheslhhishhtshdrlh hisggtrghmvghrrgdrohhrghdprhgtphhtthhopegtohhnthgrtghtsehstghhnhifrghl thgvrhdrvghu X-ME-Proxy: Feedback-ID: i455149b6:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 19 Dec 2025 14:06:47 -0500 (EST) From: Walter Werner Schneider Date: Fri, 19 Dec 2025 21:06:30 +0200 Subject: [PATCH 1/2] Documentation: add glossary page MIME-Version: 1.0 Message-Id: <20251219-glossary-page-v1-1-971ba0ab4b2f@schnwalter.eu> References: <20251219-glossary-page-v1-0-971ba0ab4b2f@schnwalter.eu> In-Reply-To: <20251219-glossary-page-v1-0-971ba0ab4b2f@schnwalter.eu> To: libcamera-devel@lists.libcamera.org Cc: Walter Werner Schneider X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766171205; l=4133; i=contact@schnwalter.eu; s=20251106; h=from:subject:message-id; bh=sz6wovDgnLZUmIojqusgOGy+3vCgG0bOlAoUCU6Mr1Y=; b=xf2eVGKnRLFtT1bNWhqF110NeNhphGVXlS6Qa+/rCEHR6ASR1YFnVhIWrmpuy4JvjaHaxfLLQ l4YCrnS8BGsDF4oe32JQOyY36s6YNK3N6Ta8Hns2bGdaDTtrRGR9Ehk X-Developer-Key: i=contact@schnwalter.eu; a=ed25519; pk=OoafUGtB7zQJLYhKA7ALCjqddXAaem/uP/eb3GGNkTI= X-Mailman-Approved-At: Fri, 19 Dec 2025 20:23:39 +0100 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" The page currently contains acronyms and abbreviations commonly used troughout libcamera and related projects, but can be expanded to also explain technical terms. Signed-off-by: Walter Werner Schneider --- Documentation/glossary.rst | 158 +++++++++++++++++++++++++++++++++++++++++++++ Documentation/index.rst | 1 + Documentation/meson.build | 1 + 3 files changed, 160 insertions(+) diff --git a/Documentation/glossary.rst b/Documentation/glossary.rst new file mode 100644 index 0000000000000000000000000000000000000000..d8679a1148d2b520c301891745e78f5033b1235d --- /dev/null +++ b/Documentation/glossary.rst @@ -0,0 +1,158 @@ +.. SPDX-License-Identifier: CC-BY-SA-4.0 + +Glossary +======== + +This document contains a glossary of technical terms, acronyms and +abbreviations commonly used throughout the libcamera documentation and +codebase. + +.. Please keep the glossary entries in alphabetical order. + +.. glossary:: + :sorted: + + 3A + Refers to the :term:`AE`, :term:`AF` and :term:`AWB`. + + AE + Auto Exposure + + AEC + Auto Exposure Control + + AEGC + Refers to :term:`AEC` and :term:`AGC` + + AF + Auto Focus + + AFC + Auto Focus Control + + AGC + Auto Gain Control + + ALSC + Auto Lens Shading Correction + + AWB + Auto White Balance + + BLC + Black Level Correction + + BLS + Black Level Subtraction + + CAC + Chromatic Aberration Correction + + CC + Color Correction + + CCI + Camera Control Interface + + CCM + Color Correction Matrix + + CCS + Camera Command Set + + CDAF + Contrast Detection Auto Focus + + CDN + Color Denoise + + CIF + Camera Interface + + CPROC + Color Processing + + CSC + Color Space Conversion + + CSI + Camera Serial Interface + + CSI-2 + Camera Serial Interface 2 + + DMA + Direct Memory Access + + DPC + Defective Pixel Correction + + DPCC + Defective Pixel Cluster Correction + + DPF + Denoise Pre-Filter + + FB + Frame Buffer + + FourCC + Four Character Code, abstract identifier that uniquely defines + a :term:`FB` pixel format. + + GEQ + Green Equalisation + + GSL + Gamma Sensor Linearization + + GOC + Gamma Out Curve + + HAL + Hardware Abstraction Layer + + HDR + High Dynamic Range + + IPA + Image Processing Algorithm + + IPC + Inter-process communication + + IPU3 + Intel 3rd generation Image Processing Unit + + ISP + Image Signal Processor + + NLL + Noise Level Lookup + + LSC + Lens Shading Correction + + PDAF + Phase Detection Auto Focus + + SDN + Spatial Denoise + + TDN + Temporal Denoise + + UVC + USB Video Class + + V4L2 + Video for Linux 2 + + VIMC + Virtual Media Controller + + WBG + White Balance Gain + + WDR + Wide Dynamic Range diff --git a/Documentation/index.rst b/Documentation/index.rst index 8109b4295c92d722a2a215b97fd50af2f9babb9c..2eb0b894f1139d43389b2b450be003b054f6e335 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -21,6 +21,7 @@ Contribute Getting Started + Glossary Camera Sensor Model IPA Writer's guide libcamera Architecture diff --git a/Documentation/meson.build b/Documentation/meson.build index 51899c19c1667c8ac07c6e7776e1faaa14915e20..158825e398c48f41fbfebe4b4ac7afecb1a5b2a2 100644 --- a/Documentation/meson.build +++ b/Documentation/meson.build @@ -161,6 +161,7 @@ if sphinx.found() 'guides/ipa.rst', 'guides/pipeline-handler.rst', 'guides/tracing.rst', + 'glossary.rst', 'index.rst', 'internal-api/index.rst', 'introduction.rst', From patchwork Fri Dec 19 19:06:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Walter Werner Schneider X-Patchwork-Id: 25615 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 1C475C326C for ; Fri, 19 Dec 2025 19:23:45 +0000 (UTC) Received: from lancelot.ideasonboard.com (localhost [IPv6:::1]) by lancelot.ideasonboard.com (Postfix) with ESMTP id 7296061F9C; Fri, 19 Dec 2025 20:23:42 +0100 (CET) Authentication-Results: lancelot.ideasonboard.com; dkim=pass (2048-bit key; unprotected) header.d=schnwalter.eu header.i=@schnwalter.eu header.b="MYqmmvVj"; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="Yo/713wE"; dkim-atps=neutral Received: from fhigh-b5-smtp.messagingengine.com (fhigh-b5-smtp.messagingengine.com [202.12.124.156]) by lancelot.ideasonboard.com (Postfix) with ESMTPS id B019F61F85 for ; Fri, 19 Dec 2025 20:06:50 +0100 (CET) Received: from phl-compute-11.internal (phl-compute-11.internal [10.202.2.51]) by mailfhigh.stl.internal (Postfix) with ESMTP id C3C187A0069; Fri, 19 Dec 2025 14:06:49 -0500 (EST) Received: from phl-frontend-03 ([10.202.2.162]) by phl-compute-11.internal (MEProxy); Fri, 19 Dec 2025 14:06:49 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=schnwalter.eu; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm2; t=1766171209; x=1766257609; bh=Mq2NxLc729gYKc8CuFQimCXWuOnxfNJ+ uCujrakEu7o=; b=MYqmmvVjZmX7IJRCUiiBMCRH+L9IwxvQxiPN8/IcTJ4BAMs0 reGiI87Ar7d0eV9DH6f3wnKhrh5aDbC6dmiAdJKQn37Wnboe0YDUN+24BUmIkE20 cxiOltr9Npx7nvvwIK/BuudQBeLWrifyjkgWQpt/hRQ3cFh6/3laYBmgjXvNz1ef cK7ptxlarIwwIJk1jE2dnqZtBNijT8M9MD6/BMimLjtOlyP99qWWZerLxNXQ+gPo zlSXhBR3cgz9iUZTD2T9sB04DeCsJnc0TtNYTNJ5/Rhz8YlSlFUiBtNG1Ld19zV6 9H2dz5CMZ5aFmJuHfoL/YxJ731ObKtEq+6gJBA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1766171209; x= 1766257609; bh=Mq2NxLc729gYKc8CuFQimCXWuOnxfNJ+uCujrakEu7o=; b=Y o/713wEh3HGFCVmMS5/E8xDBWXqTp/NpDxW97W3QEvp1rVESDFwrnB0Rz5LKLmoY daIoWE6zYZ6ahXEVX4rM90xIjrCgxYXBgWcLDTIPhJGF9VKCgL+o+9kyoPE9NegQ 2U1Wdm8KOpkPdJ3AgSAv6T/SELOW4aquSmfEyreHbVDRfyCjpkKsfkrEpwiPBKDF DZK4AznqoFbuuzZONXywV43hGa8jKcr5toE8aE+YOPEiID/919MLuMXeZzPzHBvE M1Ck2DQ/lGyBDcyLWOD4RrmA+xacK3u8SiwEWk+Bdt2REYZOcFmldrym15Ej1Mcg EXT2Ekmk7T3otEuIrt91Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefgedrtddtgdegledutdcutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecunecujfgurhephfffufggtgfgkfhfjgfvvefosehtjeertd ertdejnecuhfhrohhmpeghrghlthgvrhcuhggvrhhnvghrucfutghhnhgvihguvghruceo tghonhhtrggtthesshgthhhnfigrlhhtvghrrdgvuheqnecuggftrfgrthhtvghrnhepve duteehgfdtfeevuedvgeeuffekieeuhfduudfffffgieffffduhfdvleehkeevnecuffho mhgrihhnpehlihhnuhigthhvrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrg hrrghmpehmrghilhhfrhhomheptghonhhtrggtthesshgthhhnfigrlhhtvghrrdgvuhdp nhgspghrtghpthhtohepvddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtoheplhhisg gtrghmvghrrgdquggvvhgvlheslhhishhtshdrlhhisggtrghmvghrrgdrohhrghdprhgt phhtthhopegtohhnthgrtghtsehstghhnhifrghlthgvrhdrvghu X-ME-Proxy: Feedback-ID: i455149b6:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 19 Dec 2025 14:06:48 -0500 (EST) From: Walter Werner Schneider Date: Fri, 19 Dec 2025 21:06:31 +0200 Subject: [PATCH 2/2] Documentation: Link to glossary terms from the introduction page MIME-Version: 1.0 Message-Id: <20251219-glossary-page-v1-2-971ba0ab4b2f@schnwalter.eu> References: <20251219-glossary-page-v1-0-971ba0ab4b2f@schnwalter.eu> In-Reply-To: <20251219-glossary-page-v1-0-971ba0ab4b2f@schnwalter.eu> To: libcamera-devel@lists.libcamera.org Cc: Walter Werner Schneider X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1766171205; l=2209; i=contact@schnwalter.eu; s=20251106; h=from:subject:message-id; bh=4Dnwsd7IeyMF8wwUsQPS7Lzy4QiZHBp4nMi9+ArbHXs=; b=CGicZr+aVITjiAEXhwZLcCiF0RKHn0q3HpdNM2NFi0pgkK/YgpjFtLyGOmAVn/AkwKyaPBElp 61USiePgDjCCxnJw8jCugzUBhxnbQ5hiasNsGz3a+r3LYylHWRYm8UB X-Developer-Key: i=contact@schnwalter.eu; a=ed25519; pk=OoafUGtB7zQJLYhKA7ALCjqddXAaem/uP/eb3GGNkTI= X-Mailman-Approved-At: Fri, 19 Dec 2025 20:23:39 +0100 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" Signed-off-by: Walter Werner Schneider --- Documentation/introduction.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Documentation/introduction.rst b/Documentation/introduction.rst index 07b3a27ed007b7ed700774107f2d7e6059c6fb21..190b4229da86d66bbf61e73477f2610dc661553b 100644 --- a/Documentation/introduction.rst +++ b/Documentation/introduction.rst @@ -29,8 +29,8 @@ interface to interact and control media devices. .. _Video for Linux 2: https://www.linuxtv.org/downloads/v4l-dvb-apis-new/userspace-api/v4l/v4l2.html .. _Media Controller: https://www.linuxtv.org/downloads/v4l-dvb-apis-new/userspace-api/mediactl/media-controller.html -Included in this subsystem are drivers for camera sensors, CSI2 (Camera -Serial Interface) receivers, and ISPs (Image Signal Processors). +Included in this subsystem are camera sensors, :term:`CSI-2` receivers, and +:term:`ISP` drivers. The usage of these drivers to provide a functioning camera stack is a responsibility that lies in userspace, and is commonly implemented separately @@ -67,7 +67,7 @@ The library handles the rest for you. These documentary pages give more information on the internal workings of libcamera (and the kernel camera stack that lies behind it) as well as guidance on using libcamera in an application or extending the library with support for your hardware (through the pipeline -handler and IPA module writer's guides). +handler and :term:`IPA` module writer's guides). How should I use it? ==================== @@ -153,8 +153,8 @@ The camera stack comprises four software layers. From bottom to top: * The libcamera adaptation is an umbrella term designating the components that interface to libcamera in other frameworks. Notable examples are a V4L2 compatibility layer, a gstreamer - libcamera element, and an Android camera HAL implementation based - on libcamera. + libcamera element, and an Android camera :term:`HAL` implementation + based on libcamera. Those components can live in the libcamera project source code in separate repositories, or move to their respective project's