18c2ecf20Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ci======== 48c2ecf20Sopenharmony_ciGlossary 58c2ecf20Sopenharmony_ci======== 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci.. note:: 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci The goal of this section is to standardize the terms used within the media 108c2ecf20Sopenharmony_ci userspace API documentation. This is Work In Progress. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci.. Please keep the glossary entries in alphabetical order 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci.. glossary:: 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci Bridge Driver 178c2ecf20Sopenharmony_ci A :term:`Device Driver` that implements the main logic to talk with 188c2ecf20Sopenharmony_ci media hardware. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci CEC API 218c2ecf20Sopenharmony_ci **Consumer Electronics Control API** 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci An API designed to receive and transmit data via an HDMI 248c2ecf20Sopenharmony_ci CEC interface. 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ci See :ref:`cec`. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci Device Driver 298c2ecf20Sopenharmony_ci Part of the Linux Kernel that implements support for a hardware 308c2ecf20Sopenharmony_ci component. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci Device Node 338c2ecf20Sopenharmony_ci A character device node in the file system used to control and 348c2ecf20Sopenharmony_ci transfer data in and out of a Kernel driver. 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ci Digital TV API 378c2ecf20Sopenharmony_ci **Previously known as DVB API** 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci An API designed to control a subset of the :term:`Media Hardware` 408c2ecf20Sopenharmony_ci that implements digital TV (e. g. DVB, ATSC, ISDB, etc). 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci See :ref:`dvbapi`. 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ci DSP 458c2ecf20Sopenharmony_ci **Digital Signal Processor** 468c2ecf20Sopenharmony_ci 478c2ecf20Sopenharmony_ci A specialized :term:`Microprocessor`, with its architecture 488c2ecf20Sopenharmony_ci optimized for the operational needs of digital signal processing. 498c2ecf20Sopenharmony_ci 508c2ecf20Sopenharmony_ci FPGA 518c2ecf20Sopenharmony_ci **Field-programmable Gate Array** 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ci An :term:`IC` circuit designed to be configured by a customer or 548c2ecf20Sopenharmony_ci a designer after manufacturing. 558c2ecf20Sopenharmony_ci 568c2ecf20Sopenharmony_ci See https://en.wikipedia.org/wiki/Field-programmable_gate_array. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci Hardware Component 598c2ecf20Sopenharmony_ci A subset of the :term:`Media Hardware`. For example an :term:`I²C` or 608c2ecf20Sopenharmony_ci :term:`SPI` device, or an :term:`IP Block` inside an 618c2ecf20Sopenharmony_ci :term:`SoC` or :term:`FPGA`. 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci Hardware Peripheral 648c2ecf20Sopenharmony_ci A group of :term:`hardware components <Hardware Component>` that 658c2ecf20Sopenharmony_ci together make a larger user-facing functional peripheral. For 668c2ecf20Sopenharmony_ci instance, the :term:`SoC` :term:`ISP` :term:`IP Block` 678c2ecf20Sopenharmony_ci and the external camera sensors together make a camera hardware 688c2ecf20Sopenharmony_ci peripheral. 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci Also known as :term:`Peripheral`. 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci I²C 738c2ecf20Sopenharmony_ci **Inter-Integrated Circuit** 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci A multi-master, multi-slave, packet switched, single-ended, 768c2ecf20Sopenharmony_ci serial computer bus used to control some hardware components 778c2ecf20Sopenharmony_ci like sub-device hardware components. 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci See http://www.nxp.com/docs/en/user-guide/UM10204.pdf. 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci IC 828c2ecf20Sopenharmony_ci **Integrated circuit** 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci A set of electronic circuits on one small flat piece of 858c2ecf20Sopenharmony_ci semiconductor material, normally silicon. 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci Also known as chip. 888c2ecf20Sopenharmony_ci 898c2ecf20Sopenharmony_ci IP Block 908c2ecf20Sopenharmony_ci **Intellectual property core** 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci In electronic design a semiconductor intellectual property core, 938c2ecf20Sopenharmony_ci is a reusable unit of logic, cell, or integrated circuit layout 948c2ecf20Sopenharmony_ci design that is the intellectual property of one party. 958c2ecf20Sopenharmony_ci IP Blocks may be licensed to another party or can be owned 968c2ecf20Sopenharmony_ci and used by a single party alone. 978c2ecf20Sopenharmony_ci 988c2ecf20Sopenharmony_ci See https://en.wikipedia.org/wiki/Semiconductor_intellectual_property_core). 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ci ISP 1018c2ecf20Sopenharmony_ci **Image Signal Processor** 1028c2ecf20Sopenharmony_ci 1038c2ecf20Sopenharmony_ci A specialized processor that implements a set of algorithms for 1048c2ecf20Sopenharmony_ci processing image data. ISPs may implement algorithms for lens 1058c2ecf20Sopenharmony_ci shading correction, demosaicing, scaling and pixel format conversion 1068c2ecf20Sopenharmony_ci as well as produce statistics for the use of the control 1078c2ecf20Sopenharmony_ci algorithms (e.g. automatic exposure, white balance and focus). 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci Media API 1108c2ecf20Sopenharmony_ci A set of userspace APIs used to control the media hardware. It is 1118c2ecf20Sopenharmony_ci composed by: 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ci - :term:`CEC API`; 1148c2ecf20Sopenharmony_ci - :term:`Digital TV API`; 1158c2ecf20Sopenharmony_ci - :term:`MC API`; 1168c2ecf20Sopenharmony_ci - :term:`RC API`; and 1178c2ecf20Sopenharmony_ci - :term:`V4L2 API`. 1188c2ecf20Sopenharmony_ci 1198c2ecf20Sopenharmony_ci See :doc:`index`. 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ci MC API 1228c2ecf20Sopenharmony_ci **Media Controller API** 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci An API designed to expose and control the relationships between 1258c2ecf20Sopenharmony_ci multimedia devices and sub-devices. 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci See :ref:`media_controller`. 1288c2ecf20Sopenharmony_ci 1298c2ecf20Sopenharmony_ci MC-centric 1308c2ecf20Sopenharmony_ci :term:`V4L2 Hardware` device driver that requires :term:`MC API`. 1318c2ecf20Sopenharmony_ci 1328c2ecf20Sopenharmony_ci Such drivers have ``V4L2_CAP_IO_MC`` device_caps field set 1338c2ecf20Sopenharmony_ci (see :ref:`VIDIOC_QUERYCAP`). 1348c2ecf20Sopenharmony_ci 1358c2ecf20Sopenharmony_ci See :ref:`v4l2_hardware_control` for more details. 1368c2ecf20Sopenharmony_ci 1378c2ecf20Sopenharmony_ci Media Hardware 1388c2ecf20Sopenharmony_ci Subset of the hardware that is supported by the Linux Media API. 1398c2ecf20Sopenharmony_ci 1408c2ecf20Sopenharmony_ci This includes audio and video capture and playback hardware, 1418c2ecf20Sopenharmony_ci digital and analog TV, camera sensors, ISPs, remote controllers, 1428c2ecf20Sopenharmony_ci codecs, HDMI Consumer Electronics Control, HDMI capture, etc. 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ci Microprocessor 1458c2ecf20Sopenharmony_ci Electronic circuitry that carries out the instructions of a 1468c2ecf20Sopenharmony_ci computer program by performing the basic arithmetic, logical, 1478c2ecf20Sopenharmony_ci control and input/output (I/O) operations specified by the 1488c2ecf20Sopenharmony_ci instructions on a single integrated circuit. 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ci Peripheral 1518c2ecf20Sopenharmony_ci The same as :term:`Hardware Peripheral`. 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci RC API 1548c2ecf20Sopenharmony_ci **Remote Controller API** 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci An API designed to receive and transmit data from remote 1578c2ecf20Sopenharmony_ci controllers. 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ci See :ref:`remote_controllers`. 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ci SMBus 1628c2ecf20Sopenharmony_ci A subset of I²C, which defines a stricter usage of the bus. 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ci SPI 1658c2ecf20Sopenharmony_ci **Serial Peripheral Interface Bus** 1668c2ecf20Sopenharmony_ci 1678c2ecf20Sopenharmony_ci Synchronous serial communication interface specification used for 1688c2ecf20Sopenharmony_ci short distance communication, primarily in embedded systems. 1698c2ecf20Sopenharmony_ci 1708c2ecf20Sopenharmony_ci SoC 1718c2ecf20Sopenharmony_ci **System on a Chip** 1728c2ecf20Sopenharmony_ci 1738c2ecf20Sopenharmony_ci An integrated circuit that integrates all components of a computer 1748c2ecf20Sopenharmony_ci or other electronic systems. 1758c2ecf20Sopenharmony_ci 1768c2ecf20Sopenharmony_ci V4L2 API 1778c2ecf20Sopenharmony_ci **V4L2 userspace API** 1788c2ecf20Sopenharmony_ci 1798c2ecf20Sopenharmony_ci The userspace API defined in :ref:`v4l2spec`, which is used to 1808c2ecf20Sopenharmony_ci control a V4L2 hardware. 1818c2ecf20Sopenharmony_ci 1828c2ecf20Sopenharmony_ci V4L2 Device Node 1838c2ecf20Sopenharmony_ci A :term:`Device Node` that is associated to a V4L driver. 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ci The V4L2 device node naming is specified at :ref:`v4l2_device_naming`. 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ci V4L2 Hardware 1888c2ecf20Sopenharmony_ci Part of the media hardware which is supported by the :term:`V4L2 API`. 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ci V4L2 Sub-device 1918c2ecf20Sopenharmony_ci V4L2 hardware components that aren't controlled by a 1928c2ecf20Sopenharmony_ci :term:`Bridge Driver`. See :ref:`subdev`. 1938c2ecf20Sopenharmony_ci 1948c2ecf20Sopenharmony_ci Video-node-centric 1958c2ecf20Sopenharmony_ci V4L2 device driver that doesn't require a media controller to be used. 1968c2ecf20Sopenharmony_ci 1978c2ecf20Sopenharmony_ci Such drivers have the ``V4L2_CAP_IO_MC`` device_caps field unset 1988c2ecf20Sopenharmony_ci (see :ref:`VIDIOC_QUERYCAP`). 1998c2ecf20Sopenharmony_ci 2008c2ecf20Sopenharmony_ci V4L2 Sub-device API 2018c2ecf20Sopenharmony_ci Part of the :term:`V4L2 API` which control 2028c2ecf20Sopenharmony_ci :term:`V4L2 sub-devices <V4L2 Sub-device>`, like sensors, 2038c2ecf20Sopenharmony_ci HDMI receivers, scalers, deinterlacers. 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ci See :ref:`v4l2_hardware_control` for more details. 206