xref: /linux/Documentation/userspace-api/media/glossary.rst (revision f28bdda2f87aa0c299ad3ddef3e1fa5134ae8e47)
1.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
2
3========
4Glossary
5========
6
7.. note::
8
9   The goal of this section is to standardize the terms used within the media
10   userspace API documentation. This is Work In Progress.
11
12.. Please keep the glossary entries in alphabetical order
13
14.. glossary::
15
16    Bridge Driver
17	A :term:`Device Driver` that implements the main logic to talk with
18	media hardware.
19
20    CEC API
21	**Consumer Electronics Control API**
22
23	An API designed to receive and transmit data via an HDMI
24	CEC interface.
25
26	See :ref:`cec`.
27
28    Data Unit
29
30	Unit of data transported by a bus. On parallel buses, the data unit
31	consists of one or more related samples while on serial buses the data
32	unit is logical. If the data unit is image data, it may also be called a
33	pixel.
34
35    Device Driver
36	Part of the Linux Kernel that implements support for a hardware
37	component.
38
39    Device Node
40	A character device node in the file system used to control and
41	transfer data in and out of a Kernel driver.
42
43    Digital TV API
44	**Previously known as DVB API**
45
46	An API designed to control a subset of the :term:`Media Hardware`
47	that implements	digital TV (e. g. DVB, ATSC, ISDB, etc).
48
49	See :ref:`dvbapi`.
50
51    DSP
52        **Digital Signal Processor**
53
54	A specialized :term:`Microprocessor`, with its architecture
55	optimized for the operational needs of digital signal processing.
56
57    FPGA
58	**Field-programmable Gate Array**
59
60	An :term:`IC` circuit designed to be configured by a customer or
61	a designer after manufacturing.
62
63	See https://en.wikipedia.org/wiki/Field-programmable_gate_array.
64
65    Hardware Component
66	A subset of the :term:`Media Hardware`. For example an :term:`I²C` or
67	:term:`SPI` device, or an :term:`IP Block` inside an
68	:term:`SoC` or :term:`FPGA`.
69
70    Hardware Peripheral
71	A group of :term:`hardware components <Hardware Component>` that
72	together make a larger user-facing functional peripheral. For
73	instance, the :term:`SoC` :term:`ISP` :term:`IP Block`
74	and the external camera sensors together make a camera hardware
75	peripheral.
76
77	Also known as :term:`Peripheral`.
78
79    I²C
80	**Inter-Integrated Circuit**
81
82	A  multi-master, multi-slave, packet switched, single-ended,
83	serial computer bus used to control some hardware components
84	like sub-device hardware components.
85
86	See http://www.nxp.com/docs/en/user-guide/UM10204.pdf.
87
88    IC
89	**Integrated circuit**
90
91	A set of electronic circuits on one small flat piece of
92	semiconductor material, normally silicon.
93
94	Also known as chip.
95
96    IP Block
97	**Intellectual property core**
98
99	In electronic design a semiconductor intellectual property core,
100	is a reusable unit of logic, cell, or integrated circuit layout
101	design that is the intellectual property of one party.
102	IP Blocks may be licensed to another party or can be owned
103	and used by a single party alone.
104
105	See https://en.wikipedia.org/wiki/Semiconductor_intellectual_property_core).
106
107    ISP
108	**Image Signal Processor**
109
110	A specialized processor that implements a set of algorithms for
111	processing image data. ISPs may implement algorithms for lens
112	shading correction, demosaicing, scaling and pixel format conversion
113	as well as produce statistics for the use of the control
114	algorithms (e.g. automatic exposure, white balance and focus).
115
116    Media API
117	A set of userspace APIs used to control the media hardware. It is
118	composed by:
119
120	  - :term:`CEC API`;
121	  - :term:`Digital TV API`;
122	  - :term:`MC API`;
123	  - :term:`RC API`; and
124	  - :term:`V4L2 API`.
125
126	See Documentation/userspace-api/media/index.rst.
127
128    MC API
129	**Media Controller API**
130
131	An API designed to expose and control the relationships between
132	multimedia devices and sub-devices.
133
134	See :ref:`media_controller`.
135
136    MC-centric
137	:term:`V4L2 Hardware` device driver that requires :term:`MC API`.
138
139	Such drivers have ``V4L2_CAP_IO_MC`` device_caps field set
140	(see :ref:`VIDIOC_QUERYCAP`).
141
142	See :ref:`v4l2_hardware_control` for more details.
143
144    Media Hardware
145	Subset of the hardware that is supported by the Linux Media API.
146
147	This includes audio and video capture and playback hardware,
148	digital and analog TV, camera sensors, ISPs, remote controllers,
149	codecs, HDMI Consumer Electronics Control, HDMI capture, etc.
150
151    Microprocessor
152	Electronic circuitry that carries out the instructions of a
153	computer program by performing the basic arithmetic, logical,
154	control and input/output (I/O) operations specified by the
155	instructions on a single integrated circuit.
156
157    Peripheral
158	The same as :term:`Hardware Peripheral`.
159
160    RC API
161	**Remote Controller API**
162
163	An API designed to receive and transmit data from remote
164	controllers.
165
166	See :ref:`remote_controllers`.
167
168    SMBus
169	A subset of I²C, which defines a stricter usage of the bus.
170
171    SPI
172	**Serial Peripheral Interface Bus**
173
174	Synchronous serial communication interface specification used for
175	short distance communication, primarily in embedded systems.
176
177    SoC
178	**System on a Chip**
179
180	An integrated circuit that integrates all components of a computer
181	or other electronic systems.
182
183    Stream
184	A distinct flow of data (image data or metadata) from an initial source
185	to a final sink. The initial source may be e.g. an image sensor and the
186	final sink e.g. a memory buffer.
187
188    V4L2 API
189	**V4L2 userspace API**
190
191	The userspace API defined in :ref:`v4l2spec`, which is used to
192	control a V4L2 hardware.
193
194    V4L2 Device Node
195	A :term:`Device Node` that is associated to a V4L driver.
196
197	The V4L2 device node naming is specified at :ref:`v4l2_device_naming`.
198
199    V4L2 Hardware
200	Part of the media hardware which is supported by the :term:`V4L2 API`.
201
202    V4L2 Sub-device
203	V4L2 hardware components that aren't controlled by a
204	:term:`Bridge Driver`. See :ref:`subdev`.
205
206    Video-node-centric
207	V4L2 device driver that doesn't require a media controller to be used.
208
209	Such drivers have the ``V4L2_CAP_IO_MC`` device_caps field unset
210	(see :ref:`VIDIOC_QUERYCAP`).
211
212    V4L2 Sub-device API
213	Part of the :term:`V4L2 API` which control
214	:term:`V4L2 sub-devices <V4L2 Sub-device>`, like sensors,
215	HDMI receivers, scalers, deinterlacers.
216
217	See :ref:`v4l2_hardware_control` for more details.
218