summaryrefslogtreecommitdiff
path: root/Documentation/media/uapi/v4l/dev-rds.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/media/uapi/v4l/dev-rds.rst')
-rw-r--r--Documentation/media/uapi/v4l/dev-rds.rst215
1 files changed, 72 insertions, 143 deletions
diff --git a/Documentation/media/uapi/v4l/dev-rds.rst b/Documentation/media/uapi/v4l/dev-rds.rst
index cd6ad63cb90b..9c4e39dd66bd 100644
--- a/Documentation/media/uapi/v4l/dev-rds.rst
+++ b/Documentation/media/uapi/v4l/dev-rds.rst
@@ -14,7 +14,9 @@ at devices capable of receiving and/or transmitting RDS information.
For more information see the core RDS standard :ref:`iec62106` and the
RBDS standard :ref:`nrsc4`.
-.. note:: Note that the RBDS standard as is used in the USA is almost
+.. note::
+
+ Note that the RBDS standard as is used in the USA is almost
identical to the RDS standard. Any RDS decoder/encoder can also handle
RBDS. Only some of the fields have slightly different meanings. See the
RBDS standard for more information.
@@ -32,10 +34,10 @@ Querying Capabilities
Devices supporting the RDS capturing API set the
``V4L2_CAP_RDS_CAPTURE`` flag in the ``capabilities`` field of struct
-:ref:`v4l2_capability <v4l2-capability>` returned by the
+:c:type:`v4l2_capability` returned by the
:ref:`VIDIOC_QUERYCAP` ioctl. Any tuner that
supports RDS will set the ``V4L2_TUNER_CAP_RDS`` flag in the
-``capability`` field of struct :ref:`v4l2_tuner <v4l2-tuner>`. If the
+``capability`` field of struct :c:type:`v4l2_tuner`. If the
driver only passes RDS blocks without interpreting the data the
``V4L2_TUNER_CAP_RDS_BLOCK_IO`` flag has to be set, see
:ref:`Reading RDS data <reading-rds-data>`. For future use the flag
@@ -46,19 +48,19 @@ linux-media mailing list:
`https://linuxtv.org/lists.php <https://linuxtv.org/lists.php>`__.
Whether an RDS signal is present can be detected by looking at the
-``rxsubchans`` field of struct :ref:`v4l2_tuner <v4l2-tuner>`: the
+``rxsubchans`` field of struct :c:type:`v4l2_tuner`: the
``V4L2_TUNER_SUB_RDS`` will be set if RDS data was detected.
Devices supporting the RDS output API set the ``V4L2_CAP_RDS_OUTPUT``
flag in the ``capabilities`` field of struct
-:ref:`v4l2_capability <v4l2-capability>` returned by the
+:c:type:`v4l2_capability` returned by the
:ref:`VIDIOC_QUERYCAP` ioctl. Any modulator that
supports RDS will set the ``V4L2_TUNER_CAP_RDS`` flag in the
``capability`` field of struct
-:ref:`v4l2_modulator <v4l2-modulator>`. In order to enable the RDS
+:c:type:`v4l2_modulator`. In order to enable the RDS
transmission one must set the ``V4L2_TUNER_SUB_RDS`` bit in the
``txsubchans`` field of struct
-:ref:`v4l2_modulator <v4l2-modulator>`. If the driver only passes RDS
+:c:type:`v4l2_modulator`. If the driver only passes RDS
blocks without interpreting the data the ``V4L2_TUNER_CAP_RDS_BLOCK_IO``
flag has to be set. If the tuner is capable of handling RDS entities
like program identification codes and radio text, the flag
@@ -91,165 +93,92 @@ RDS datastructures
==================
-.. _v4l2-rds-data:
+.. c:type:: v4l2_rds_data
+
+.. tabularcolumns:: |p{2.5cm}|p{2.5cm}|p{12.5cm}|
.. flat-table:: struct v4l2_rds_data
:header-rows: 0
:stub-columns: 0
:widths: 1 1 5
-
- - .. row 1
-
- - __u8
-
- - ``lsb``
-
- - Least Significant Byte of RDS Block
-
- - .. row 2
-
- - __u8
-
- - ``msb``
-
- - Most Significant Byte of RDS Block
-
- - .. row 3
-
- - __u8
-
- - ``block``
-
- - Block description
+ * - __u8
+ - ``lsb``
+ - Least Significant Byte of RDS Block
+ * - __u8
+ - ``msb``
+ - Most Significant Byte of RDS Block
+ * - __u8
+ - ``block``
+ - Block description
.. _v4l2-rds-block:
+.. tabularcolumns:: |p{2.9cm}|p{14.6cm}|
+
.. flat-table:: Block description
:header-rows: 0
:stub-columns: 0
:widths: 1 5
-
- - .. row 1
-
- - Bits 0-2
-
- - Block (aka offset) of the received data.
-
- - .. row 2
-
- - Bits 3-5
-
- - Deprecated. Currently identical to bits 0-2. Do not use these
- bits.
-
- - .. row 3
-
- - Bit 6
-
- - Corrected bit. Indicates that an error was corrected for this data
- block.
-
- - .. row 4
-
- - Bit 7
-
- - Error bit. Indicates that an uncorrectable error occurred during
- reception of this block.
+ * - Bits 0-2
+ - Block (aka offset) of the received data.
+ * - Bits 3-5
+ - Deprecated. Currently identical to bits 0-2. Do not use these
+ bits.
+ * - Bit 6
+ - Corrected bit. Indicates that an error was corrected for this data
+ block.
+ * - Bit 7
+ - Error bit. Indicates that an uncorrectable error occurred during
+ reception of this block.
.. _v4l2-rds-block-codes:
+.. tabularcolumns:: |p{5.6cm}|p{2.0cm}|p{1.5cm}|p{7.0cm}|
+
.. flat-table:: Block defines
:header-rows: 0
:stub-columns: 0
:widths: 1 1 1 5
-
- - .. row 1
-
- - V4L2_RDS_BLOCK_MSK
-
- -
- - 7
-
- - Mask for bits 0-2 to get the block ID.
-
- - .. row 2
-
- - V4L2_RDS_BLOCK_A
-
- -
- - 0
-
- - Block A.
-
- - .. row 3
-
- - V4L2_RDS_BLOCK_B
-
- -
- - 1
-
- - Block B.
-
- - .. row 4
-
- - V4L2_RDS_BLOCK_C
-
- -
- - 2
-
- - Block C.
-
- - .. row 5
-
- - V4L2_RDS_BLOCK_D
-
- -
- - 3
-
- - Block D.
-
- - .. row 6
-
- - V4L2_RDS_BLOCK_C_ALT
-
- -
- - 4
-
- - Block C'.
-
- - .. row 7
-
- - V4L2_RDS_BLOCK_INVALID
-
- - read-only
-
- - 7
-
- - An invalid block.
-
- - .. row 8
-
- - V4L2_RDS_BLOCK_CORRECTED
-
- - read-only
-
- - 0x40
-
- - A bit error was detected but corrected.
-
- - .. row 9
-
- - V4L2_RDS_BLOCK_ERROR
-
- - read-only
-
- - 0x80
-
- - An uncorrectable error occurred.
+ * - V4L2_RDS_BLOCK_MSK
+ -
+ - 7
+ - Mask for bits 0-2 to get the block ID.
+ * - V4L2_RDS_BLOCK_A
+ -
+ - 0
+ - Block A.
+ * - V4L2_RDS_BLOCK_B
+ -
+ - 1
+ - Block B.
+ * - V4L2_RDS_BLOCK_C
+ -
+ - 2
+ - Block C.
+ * - V4L2_RDS_BLOCK_D
+ -
+ - 3
+ - Block D.
+ * - V4L2_RDS_BLOCK_C_ALT
+ -
+ - 4
+ - Block C'.
+ * - V4L2_RDS_BLOCK_INVALID
+ - read-only
+ - 7
+ - An invalid block.
+ * - V4L2_RDS_BLOCK_CORRECTED
+ - read-only
+ - 0x40
+ - A bit error was detected but corrected.
+ * - V4L2_RDS_BLOCK_ERROR
+ - read-only
+ - 0x80
+ - An uncorrectable error occurred.