Back to home page

OSCL-LXR

 
 

    


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.