Documentation / userspace-api / media / glossary.rst


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later

========
Glossary
========

.. note::

   The goal of this section is to standardize the terms used within the media
   userspace API documentation. This is Work In Progress.

.. Please keep the glossary entries in alphabetical order

.. glossary::

    Bridge Driver
	A :term:`Device Driver` that implements the main logic to talk with
	media hardware.

    CEC API
	**Consumer Electronics Control API**

	An API designed to receive and transmit data via an HDMI
	CEC interface.

	See :ref:`cec`.

    Device Driver
	Part of the Linux Kernel that implements support for a hardware
	component.

    Device Node
	A character device node in the file system used to control and
	transfer data in and out of a Kernel driver.

    Digital TV API
	**Previously known as DVB API**

	An API designed to control a subset of the :term:`Media Hardware`
	that implements	digital TV (e. g. DVB, ATSC, ISDB, etc).

	See :ref:`dvbapi`.

    DSP
        **Digital Signal Processor**

	A specialized :term:`Microprocessor`, with its architecture
	optimized for the operational needs of digital signal processing.

    FPGA
	**Field-programmable Gate Array**

	An :term:`IC` circuit designed to be configured by a customer or
	a designer after manufacturing.

	See https://en.wikipedia.org/wiki/Field-programmable_gate_array.

    Hardware Component
	A subset of the :term:`Media Hardware`. For example an :term:`I²C` or
	:term:`SPI` device, or an :term:`IP Block` inside an
	:term:`SoC` or :term:`FPGA`.

    Hardware Peripheral
	A group of :term:`hardware components <Hardware Component>` that
	together make a larger user-facing functional peripheral. For
	instance, the :term:`SoC` :term:`ISP` :term:`IP Block`
	and the external camera sensors together make a camera hardware
	peripheral.

	Also known as :term:`Peripheral`.

    I²C
	**Inter-Integrated Circuit**

	A  multi-master, multi-slave, packet switched, single-ended,
	serial computer bus used to control some hardware components
	like sub-device hardware components.

	See http://www.nxp.com/docs/en/user-guide/UM10204.pdf.

    IC
	**Integrated circuit**

	A set of electronic circuits on one small flat piece of
	semiconductor material, normally silicon.

	Also known as chip.

    IP Block
	**Intellectual property core**

	In electronic design a semiconductor intellectual property core,
	is a reusable unit of logic, cell, or integrated circuit layout
	design that is the intellectual property of one party.
	IP Blocks may be licensed to another party or can be owned
	and used by a single party alone.

	See https://en.wikipedia.org/wiki/Semiconductor_intellectual_property_core).

    ISP
	**Image Signal Processor**

	A specialized processor that implements a set of algorithms for
	processing image data. ISPs may implement algorithms for lens
	shading correction, demosaicing, scaling and pixel format conversion
	as well as produce statistics for the use of the control
	algorithms (e.g. automatic exposure, white balance and focus).

    Media API
	A set of userspace APIs used to control the media hardware. It is
	composed by:

	  - :term:`CEC API`;
	  - :term:`Digital TV API`;
	  - :term:`MC API`;
	  - :term:`RC API`; and
	  - :term:`V4L2 API`.

	See Documentation/userspace-api/media/index.rst.

    MC API
	**Media Controller API**

	An API designed to expose and control the relationships between
	multimedia devices and sub-devices.

	See :ref:`media_controller`.

    MC-centric
	:term:`V4L2 Hardware` device driver that requires :term:`MC API`.

	Such drivers have ``V4L2_CAP_IO_MC`` device_caps field set
	(see :ref:`VIDIOC_QUERYCAP`).

	See :ref:`v4l2_hardware_control` for more details.

    Media Hardware
	Subset of the hardware that is supported by the Linux Media API.

	This includes audio and video capture and playback hardware,
	digital and analog TV, camera sensors, ISPs, remote controllers,
	codecs, HDMI Consumer Electronics Control, HDMI capture, etc.

    Microprocessor
	Electronic circuitry that carries out the instructions of a
	computer program by performing the basic arithmetic, logical,
	control and input/output (I/O) operations specified by the
	instructions on a single integrated circuit.

    Peripheral
	The same as :term:`Hardware Peripheral`.

    RC API
	**Remote Controller API**

	An API designed to receive and transmit data from remote
	controllers.

	See :ref:`remote_controllers`.

    SMBus
	A subset of I²C, which defines a stricter usage of the bus.

    SPI
	**Serial Peripheral Interface Bus**

	Synchronous serial communication interface specification used for
	short distance communication, primarily in embedded systems.

    SoC
	**System on a Chip**

	An integrated circuit that integrates all components of a computer
	or other electronic systems.

    V4L2 API
	**V4L2 userspace API**

	The userspace API defined in :ref:`v4l2spec`, which is used to
	control a V4L2 hardware.

    V4L2 Device Node
	A :term:`Device Node` that is associated to a V4L driver.

	The V4L2 device node naming is specified at :ref:`v4l2_device_naming`.

    V4L2 Hardware
	Part of the media hardware which is supported by the :term:`V4L2 API`.

    V4L2 Sub-device
	V4L2 hardware components that aren't controlled by a
	:term:`Bridge Driver`. See :ref:`subdev`.

    Video-node-centric
	V4L2 device driver that doesn't require a media controller to be used.

	Such drivers have the ``V4L2_CAP_IO_MC`` device_caps field unset
	(see :ref:`VIDIOC_QUERYCAP`).

    V4L2 Sub-device API
	Part of the :term:`V4L2 API` which control
	:term:`V4L2 sub-devices <V4L2 Sub-device>`, like sensors,
	HDMI receivers, scalers, deinterlacers.

	See :ref:`v4l2_hardware_control` for more details.