0001 .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
0002
0003 ========
0004 Glossary
0005 ========
0006
0007 .. note::
0008
0009 The goal of this section is to standardize the terms used within the media
0010 userspace API documentation. This is Work In Progress.
0011
0012 .. Please keep the glossary entries in alphabetical order
0013
0014 .. glossary::
0015
0016 Bridge Driver
0017 A :term:`Device Driver` that implements the main logic to talk with
0018 media hardware.
0019
0020 CEC API
0021 **Consumer Electronics Control API**
0022
0023 An API designed to receive and transmit data via an HDMI
0024 CEC interface.
0025
0026 See :ref:`cec`.
0027
0028 Device Driver
0029 Part of the Linux Kernel that implements support for a hardware
0030 component.
0031
0032 Device Node
0033 A character device node in the file system used to control and
0034 transfer data in and out of a Kernel driver.
0035
0036 Digital TV API
0037 **Previously known as DVB API**
0038
0039 An API designed to control a subset of the :term:`Media Hardware`
0040 that implements digital TV (e. g. DVB, ATSC, ISDB, etc).
0041
0042 See :ref:`dvbapi`.
0043
0044 DSP
0045 **Digital Signal Processor**
0046
0047 A specialized :term:`Microprocessor`, with its architecture
0048 optimized for the operational needs of digital signal processing.
0049
0050 FPGA
0051 **Field-programmable Gate Array**
0052
0053 An :term:`IC` circuit designed to be configured by a customer or
0054 a designer after manufacturing.
0055
0056 See https://en.wikipedia.org/wiki/Field-programmable_gate_array.
0057
0058 Hardware Component
0059 A subset of the :term:`Media Hardware`. For example an :term:`I²C` or
0060 :term:`SPI` device, or an :term:`IP Block` inside an
0061 :term:`SoC` or :term:`FPGA`.
0062
0063 Hardware Peripheral
0064 A group of :term:`hardware components <Hardware Component>` that
0065 together make a larger user-facing functional peripheral. For
0066 instance, the :term:`SoC` :term:`ISP` :term:`IP Block`
0067 and the external camera sensors together make a camera hardware
0068 peripheral.
0069
0070 Also known as :term:`Peripheral`.
0071
0072 I²C
0073 **Inter-Integrated Circuit**
0074
0075 A multi-master, multi-slave, packet switched, single-ended,
0076 serial computer bus used to control some hardware components
0077 like sub-device hardware components.
0078
0079 See http://www.nxp.com/docs/en/user-guide/UM10204.pdf.
0080
0081 IC
0082 **Integrated circuit**
0083
0084 A set of electronic circuits on one small flat piece of
0085 semiconductor material, normally silicon.
0086
0087 Also known as chip.
0088
0089 IP Block
0090 **Intellectual property core**
0091
0092 In electronic design a semiconductor intellectual property core,
0093 is a reusable unit of logic, cell, or integrated circuit layout
0094 design that is the intellectual property of one party.
0095 IP Blocks may be licensed to another party or can be owned
0096 and used by a single party alone.
0097
0098 See https://en.wikipedia.org/wiki/Semiconductor_intellectual_property_core).
0099
0100 ISP
0101 **Image Signal Processor**
0102
0103 A specialized processor that implements a set of algorithms for
0104 processing image data. ISPs may implement algorithms for lens
0105 shading correction, demosaicing, scaling and pixel format conversion
0106 as well as produce statistics for the use of the control
0107 algorithms (e.g. automatic exposure, white balance and focus).
0108
0109 Media API
0110 A set of userspace APIs used to control the media hardware. It is
0111 composed by:
0112
0113 - :term:`CEC API`;
0114 - :term:`Digital TV API`;
0115 - :term:`MC API`;
0116 - :term:`RC API`; and
0117 - :term:`V4L2 API`.
0118
0119 See Documentation/userspace-api/media/index.rst.
0120
0121 MC API
0122 **Media Controller API**
0123
0124 An API designed to expose and control the relationships between
0125 multimedia devices and sub-devices.
0126
0127 See :ref:`media_controller`.
0128
0129 MC-centric
0130 :term:`V4L2 Hardware` device driver that requires :term:`MC API`.
0131
0132 Such drivers have ``V4L2_CAP_IO_MC`` device_caps field set
0133 (see :ref:`VIDIOC_QUERYCAP`).
0134
0135 See :ref:`v4l2_hardware_control` for more details.
0136
0137 Media Hardware
0138 Subset of the hardware that is supported by the Linux Media API.
0139
0140 This includes audio and video capture and playback hardware,
0141 digital and analog TV, camera sensors, ISPs, remote controllers,
0142 codecs, HDMI Consumer Electronics Control, HDMI capture, etc.
0143
0144 Microprocessor
0145 Electronic circuitry that carries out the instructions of a
0146 computer program by performing the basic arithmetic, logical,
0147 control and input/output (I/O) operations specified by the
0148 instructions on a single integrated circuit.
0149
0150 Peripheral
0151 The same as :term:`Hardware Peripheral`.
0152
0153 RC API
0154 **Remote Controller API**
0155
0156 An API designed to receive and transmit data from remote
0157 controllers.
0158
0159 See :ref:`remote_controllers`.
0160
0161 SMBus
0162 A subset of I²C, which defines a stricter usage of the bus.
0163
0164 SPI
0165 **Serial Peripheral Interface Bus**
0166
0167 Synchronous serial communication interface specification used for
0168 short distance communication, primarily in embedded systems.
0169
0170 SoC
0171 **System on a Chip**
0172
0173 An integrated circuit that integrates all components of a computer
0174 or other electronic systems.
0175
0176 V4L2 API
0177 **V4L2 userspace API**
0178
0179 The userspace API defined in :ref:`v4l2spec`, which is used to
0180 control a V4L2 hardware.
0181
0182 V4L2 Device Node
0183 A :term:`Device Node` that is associated to a V4L driver.
0184
0185 The V4L2 device node naming is specified at :ref:`v4l2_device_naming`.
0186
0187 V4L2 Hardware
0188 Part of the media hardware which is supported by the :term:`V4L2 API`.
0189
0190 V4L2 Sub-device
0191 V4L2 hardware components that aren't controlled by a
0192 :term:`Bridge Driver`. See :ref:`subdev`.
0193
0194 Video-node-centric
0195 V4L2 device driver that doesn't require a media controller to be used.
0196
0197 Such drivers have the ``V4L2_CAP_IO_MC`` device_caps field unset
0198 (see :ref:`VIDIOC_QUERYCAP`).
0199
0200 V4L2 Sub-device API
0201 Part of the :term:`V4L2 API` which control
0202 :term:`V4L2 sub-devices <V4L2 Sub-device>`, like sensors,
0203 HDMI receivers, scalers, deinterlacers.
0204
0205 See :ref:`v4l2_hardware_control` for more details.