glossary.rst 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. .. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
  2. ========
  3. Glossary
  4. ========
  5. .. note::
  6. The goal of this section is to standardize the terms used within the media
  7. userspace API documentation. This is Work In Progress.
  8. .. Please keep the glossary entries in alphabetical order
  9. .. glossary::
  10. Bridge Driver
  11. A :term:`Device Driver` that implements the main logic to talk with
  12. media hardware.
  13. CEC API
  14. **Consumer Electronics Control API**
  15. An API designed to receive and transmit data via an HDMI
  16. CEC interface.
  17. See :ref:`cec`.
  18. Data Unit
  19. Unit of data transported by a bus. On parallel buses, the data unit
  20. consists of one or more related samples while on serial buses the data
  21. unit is logical. If the data unit is image data, it may also be called a
  22. pixel.
  23. Device Driver
  24. Part of the Linux Kernel that implements support for a hardware
  25. component.
  26. Device Node
  27. A character device node in the file system used to control and
  28. transfer data in and out of a Kernel driver.
  29. Digital TV API
  30. **Previously known as DVB API**
  31. An API designed to control a subset of the :term:`Media Hardware`
  32. that implements digital TV (e. g. DVB, ATSC, ISDB, etc).
  33. See :ref:`dvbapi`.
  34. DSP
  35. **Digital Signal Processor**
  36. A specialized :term:`Microprocessor`, with its architecture
  37. optimized for the operational needs of digital signal processing.
  38. FPGA
  39. **Field-programmable Gate Array**
  40. An :term:`IC` circuit designed to be configured by a customer or
  41. a designer after manufacturing.
  42. See https://en.wikipedia.org/wiki/Field-programmable_gate_array.
  43. Hardware Component
  44. A subset of the :term:`Media Hardware`. For example an :term:`I²C` or
  45. :term:`SPI` device, or an :term:`IP Block` inside an
  46. :term:`SoC` or :term:`FPGA`.
  47. Hardware Peripheral
  48. A group of :term:`hardware components <Hardware Component>` that
  49. together make a larger user-facing functional peripheral. For
  50. instance, the :term:`SoC` :term:`ISP` :term:`IP Block`
  51. and the external camera sensors together make a camera hardware
  52. peripheral.
  53. Also known as :term:`Peripheral`.
  54. I²C
  55. **Inter-Integrated Circuit**
  56. A multi-master, multi-slave, packet switched, single-ended,
  57. serial computer bus used to control some hardware components
  58. like sub-device hardware components.
  59. See http://www.nxp.com/docs/en/user-guide/UM10204.pdf.
  60. IC
  61. **Integrated circuit**
  62. A set of electronic circuits on one small flat piece of
  63. semiconductor material, normally silicon.
  64. Also known as chip.
  65. IP Block
  66. **Intellectual property core**
  67. In electronic design a semiconductor intellectual property core,
  68. is a reusable unit of logic, cell, or integrated circuit layout
  69. design that is the intellectual property of one party.
  70. IP Blocks may be licensed to another party or can be owned
  71. and used by a single party alone.
  72. See https://en.wikipedia.org/wiki/Semiconductor_intellectual_property_core).
  73. ISP
  74. **Image Signal Processor**
  75. A specialized processor that implements a set of algorithms for
  76. processing image data. ISPs may implement algorithms for lens
  77. shading correction, demosaicing, scaling and pixel format conversion
  78. as well as produce statistics for the use of the control
  79. algorithms (e.g. automatic exposure, white balance and focus).
  80. Media API
  81. A set of userspace APIs used to control the media hardware. It is
  82. composed by:
  83. - :term:`CEC API`;
  84. - :term:`Digital TV API`;
  85. - :term:`MC API`;
  86. - :term:`RC API`; and
  87. - :term:`V4L2 API`.
  88. See Documentation/userspace-api/media/index.rst.
  89. MC API
  90. **Media Controller API**
  91. An API designed to expose and control the relationships between
  92. multimedia devices and sub-devices.
  93. See :ref:`media_controller`.
  94. MC-centric
  95. :term:`V4L2 Hardware` device driver that requires :term:`MC API`.
  96. Such drivers have ``V4L2_CAP_IO_MC`` device_caps field set
  97. (see :ref:`VIDIOC_QUERYCAP`).
  98. See :ref:`v4l2_hardware_control` for more details.
  99. Media Hardware
  100. Subset of the hardware that is supported by the Linux Media API.
  101. This includes audio and video capture and playback hardware,
  102. digital and analog TV, camera sensors, ISPs, remote controllers,
  103. codecs, HDMI Consumer Electronics Control, HDMI capture, etc.
  104. Microprocessor
  105. Electronic circuitry that carries out the instructions of a
  106. computer program by performing the basic arithmetic, logical,
  107. control and input/output (I/O) operations specified by the
  108. instructions on a single integrated circuit.
  109. Peripheral
  110. The same as :term:`Hardware Peripheral`.
  111. RC API
  112. **Remote Controller API**
  113. An API designed to receive and transmit data from remote
  114. controllers.
  115. See :ref:`remote_controllers`.
  116. SMBus
  117. A subset of I²C, which defines a stricter usage of the bus.
  118. SPI
  119. **Serial Peripheral Interface Bus**
  120. Synchronous serial communication interface specification used for
  121. short distance communication, primarily in embedded systems.
  122. SoC
  123. **System on a Chip**
  124. An integrated circuit that integrates all components of a computer
  125. or other electronic systems.
  126. Stream
  127. A distinct flow of data (image data or metadata) from an initial source
  128. to a final sink. The initial source may be e.g. an image sensor and the
  129. final sink e.g. a memory buffer.
  130. V4L2 API
  131. **V4L2 userspace API**
  132. The userspace API defined in :ref:`v4l2spec`, which is used to
  133. control a V4L2 hardware.
  134. V4L2 Device Node
  135. A :term:`Device Node` that is associated to a V4L driver.
  136. The V4L2 device node naming is specified at :ref:`v4l2_device_naming`.
  137. V4L2 Hardware
  138. Part of the media hardware which is supported by the :term:`V4L2 API`.
  139. V4L2 Sub-device
  140. V4L2 hardware components that aren't controlled by a
  141. :term:`Bridge Driver`. See :ref:`subdev`.
  142. Video-node-centric
  143. V4L2 device driver that doesn't require a media controller to be used.
  144. Such drivers have the ``V4L2_CAP_IO_MC`` device_caps field unset
  145. (see :ref:`VIDIOC_QUERYCAP`).
  146. V4L2 Sub-device API
  147. Part of the :term:`V4L2 API` which control
  148. :term:`V4L2 sub-devices <V4L2 Sub-device>`, like sensors,
  149. HDMI receivers, scalers, deinterlacers.
  150. See :ref:`v4l2_hardware_control` for more details.