| .. 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. |