Merge branch 'for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
[sfrench/cifs-2.6.git] / Documentation / media / uapi / dvb / fe_property_parameters.rst
index 7bb7559c450042f3adb17b46317406653a44fc95..6eef507fea5063d81eca50d737d8dbb3bd0ee632 100644 (file)
@@ -6,6 +6,11 @@
 Digital TV property parameters
 ******************************
 
+There are several different Digital TV parameters that can be used by
+:ref:`FE_SET_PROPERTY and FE_GET_PROPERTY ioctls<FE_GET_PROPERTY>`.
+This section describes each of them. Please notice, however, that only
+a subset of them are needed to setup a frontend.
+
 
 .. _DTV-UNDEFINED:
 
@@ -67,1711 +72,831 @@ DTV_MODULATION
 ==============
 
 Specifies the frontend modulation type for delivery systems that
-supports more than one modulation type. The modulation can be one of the
-types defined by enum :c:type:`fe_modulation`.
-
+supports more multiple modulations.
+
+The modulation can be one of the types defined by enum :c:type:`fe_modulation`.
+
+Most of the digital TV standards offers more than one possible
+modulation type.
+
+The table below presents a summary of the types of modulation types
+supported by each delivery system, as currently defined by specs.
+
+======================= =======================================================
+Standard               Modulation types
+======================= =======================================================
+ATSC (version 1)       8-VSB and 16-VSB.
+DMTB                   4-QAM, 16-QAM, 32-QAM, 64-QAM and 4-QAM-NR.
+DVB-C Annex A/C                16-QAM, 32-QAM, 64-QAM and 256-QAM.
+DVB-C Annex B          64-QAM.
+DVB-T                  QPSK, 16-QAM and 64-QAM.
+DVB-T2                 QPSK, 16-QAM, 64-QAM and 256-QAM.
+DVB-S                  No need to set. It supports only QPSK.
+DVB-S2                 QPSK, 8-PSK, 16-APSK and 32-APSK.
+ISDB-T                 QPSK, DQPSK, 16-QAM and 64-QAM.
+ISDB-S                 8-PSK, QPSK and BPSK.
+======================= =======================================================
 
-.. c:type:: fe_modulation
+.. note::
 
-Modulation property
--------------------
+   Please notice that some of the above modulation types may not be
+   defined currently at the Kernel. The reason is simple: no driver
+   needed such definition yet.
 
-Most of the digital TV standards currently offers more than one possible
-modulation (sometimes called as "constellation" on some standards). This
-enum contains the values used by the Kernel. Please note that not all
-modulations are supported by a given standard.
 
+.. _DTV-BANDWIDTH-HZ:
 
-.. flat-table:: enum fe_modulation
-    :header-rows:  1
-    :stub-columns: 0
+DTV_BANDWIDTH_HZ
+================
 
+Bandwidth for the channel, in HZ.
 
-    -  .. row 1
+Should be set only for terrestrial delivery systems.
 
-       -  ID
+Possible values: ``1712000``, ``5000000``, ``6000000``, ``7000000``,
+``8000000``, ``10000000``.
 
-       -  Description
+======================= =======================================================
+Terrestrial Standard   Possible values for bandwidth
+======================= =======================================================
+ATSC (version 1)       No need to set. It is always 6MHz.
+DMTB                   No need to set. It is always 8MHz.
+DVB-T                  6MHz, 7MHz and 8MHz.
+DVB-T2                 1.172 MHz, 5MHz, 6MHz, 7MHz, 8MHz and 10MHz
+ISDB-T                 5MHz, 6MHz, 7MHz and 8MHz, although most places
+                       use 6MHz.
+======================= =======================================================
 
-    -  .. row 2
 
-       -  .. _QPSK:
+.. note::
 
-         ``QPSK``
 
-       -  QPSK modulation
+  #. For ISDB-Tsb, the bandwidth can vary depending on the number of
+     connected segments.
 
-    -  .. row 3
+     It can be easily derived from other parameters
+     (DTV_ISDBT_SB_SEGMENT_IDX, DTV_ISDBT_SB_SEGMENT_COUNT).
 
-       -  .. _QAM-16:
+  #. On Satellite and Cable delivery systems, the bandwidth depends on
+     the symbol rate. So, the Kernel will silently ignore any setting
+     :ref:`DTV-BANDWIDTH-HZ`. I will however fill it back with a
+     bandwidth estimation.
 
-         ``QAM_16``
+     Such bandwidth estimation takes into account the symbol rate set with
+     :ref:`DTV-SYMBOL-RATE`, and the rolloff factor, with is fixed for
+     DVB-C and DVB-S.
 
-       -  16-QAM modulation
+     For DVB-S2, the rolloff should also be set via :ref:`DTV-ROLLOFF`.
 
-    -  .. row 4
 
-       -  .. _QAM-32:
+.. _DTV-INVERSION:
 
-         ``QAM_32``
+DTV_INVERSION
+=============
 
-       -  32-QAM modulation
+Specifies if the frontend should do spectral inversion or not.
 
-    -  .. row 5
+The acceptable values are defined by :c:type:`fe_spectral_inversion`.
 
-       -  .. _QAM-64:
 
-         ``QAM_64``
+.. _DTV-DISEQC-MASTER:
 
-       -  64-QAM modulation
+DTV_DISEQC_MASTER
+=================
 
-    -  .. row 6
+Currently not implemented.
 
-       -  .. _QAM-128:
 
-         ``QAM_128``
+.. _DTV-SYMBOL-RATE:
 
-       -  128-QAM modulation
+DTV_SYMBOL_RATE
+===============
 
-    -  .. row 7
+Used on cable and satellite delivery systems.
 
-       -  .. _QAM-256:
+Digital TV symbol rate, in bauds (symbols/second).
 
-         ``QAM_256``
 
-       -  256-QAM modulation
+.. _DTV-INNER-FEC:
 
-    -  .. row 8
+DTV_INNER_FEC
+=============
 
-       -  .. _QAM-AUTO:
+Used on cable and satellite delivery systems.
 
-         ``QAM_AUTO``
+The acceptable values are defined by :c:type:`fe_code_rate`.
 
-       -  Autodetect QAM modulation
 
-    -  .. row 9
+.. _DTV-VOLTAGE:
 
-       -  .. _VSB-8:
+DTV_VOLTAGE
+===========
 
-         ``VSB_8``
+Used on satellite delivery systems.
 
-       -  8-VSB modulation
+The voltage is usually used with non-DiSEqC capable LNBs to switch the
+polarzation (horizontal/vertical). When using DiSEqC epuipment this
+voltage has to be switched consistently to the DiSEqC commands as
+described in the DiSEqC spec.
 
-    -  .. row 10
+The acceptable values are defined by :c:type:`fe_sec_voltage`.
 
-       -  .. _VSB-16:
 
-         ``VSB_16``
+.. _DTV-TONE:
 
-       -  16-VSB modulation
+DTV_TONE
+========
 
-    -  .. row 11
+Currently not used.
 
-       -  .. _PSK-8:
 
-         ``PSK_8``
+.. _DTV-PILOT:
 
-       -  8-PSK modulation
+DTV_PILOT
+=========
 
-    -  .. row 12
+Used on DVB-S2.
 
-       -  .. _APSK-16:
+Sets DVB-S2 pilot.
 
-         ``APSK_16``
+The acceptable values are defined by :c:type:`fe_pilot`.
 
-       -  16-APSK modulation
 
-    -  .. row 13
+.. _DTV-ROLLOFF:
 
-       -  .. _APSK-32:
+DTV_ROLLOFF
+===========
 
-         ``APSK_32``
+Used on DVB-S2.
 
-       -  32-APSK modulation
+Sets DVB-S2 rolloff.
 
-    -  .. row 14
+The acceptable values are defined by :c:type:`fe_rolloff`.
 
-       -  .. _DQPSK:
 
-         ``DQPSK``
+.. _DTV-DISEQC-SLAVE-REPLY:
 
-       -  DQPSK modulation
+DTV_DISEQC_SLAVE_REPLY
+======================
 
-    -  .. row 15
+Currently not implemented.
 
-       -  .. _QAM-4-NR:
 
-         ``QAM_4_NR``
+.. _DTV-FE-CAPABILITY-COUNT:
 
-       -  4-QAM-NR modulation
+DTV_FE_CAPABILITY_COUNT
+=======================
 
+Currently not implemented.
 
 
-.. _DTV-BANDWIDTH-HZ:
+.. _DTV-FE-CAPABILITY:
 
-DTV_BANDWIDTH_HZ
-================
+DTV_FE_CAPABILITY
+=================
 
-Bandwidth for the channel, in HZ.
+Currently not implemented.
 
-Possible values: ``1712000``, ``5000000``, ``6000000``, ``7000000``,
-``8000000``, ``10000000``.
 
-.. note::
+.. _DTV-DELIVERY-SYSTEM:
 
-  #. DVB-T supports 6, 7 and 8MHz.
+DTV_DELIVERY_SYSTEM
+===================
 
-  #. DVB-T2 supports 1.172, 5, 6, 7, 8 and 10MHz.
+Specifies the type of the delivery system.
 
-  #. ISDB-T supports 5MHz, 6MHz, 7MHz and 8MHz, although most
-     places use 6MHz.
+The acceptable values are defined by :c:type:`fe_delivery_system`.
 
-  #. On DVB-C and DVB-S/S2, the bandwidth depends on the symbol rate.
-     So, the Kernel will silently ignore setting :ref:`DTV-BANDWIDTH-HZ`.
 
-  #. For DVB-C and DVB-S/S2, the Kernel will return an estimation of the
-     bandwidth, calculated from :ref:`DTV-SYMBOL-RATE` and from
-     the rolloff, with is fixed for DVB-C and DVB-S.
+.. _DTV-ISDBT-PARTIAL-RECEPTION:
 
-  #. For DVB-S2, the bandwidth estimation will use :ref:`DTV-ROLLOFF`.
+DTV_ISDBT_PARTIAL_RECEPTION
+===========================
 
-  #. For ISDB-Tsb, it can vary depending on the number of connected
-     segments.
+Used only on ISDB.
 
-  #. Bandwidth in ISDB-Tsb can be easily derived from other parameters
-     (DTV_ISDBT_SB_SEGMENT_IDX, DTV_ISDBT_SB_SEGMENT_COUNT).
+If ``DTV_ISDBT_SOUND_BROADCASTING`` is '0' this bit-field represents
+whether the channel is in partial reception mode or not.
 
+If '1' ``DTV_ISDBT_LAYERA_*`` values are assigned to the center segment
+and ``DTV_ISDBT_LAYERA_SEGMENT_COUNT`` has to be '1'.
 
-.. _DTV-INVERSION:
+If in addition ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'
+``DTV_ISDBT_PARTIAL_RECEPTION`` represents whether this ISDB-Tsb channel
+is consisting of one segment and layer or three segments and two layers.
 
-DTV_INVERSION
-=============
+Possible values: 0, 1, -1 (AUTO)
 
-Specifies if the frontend should do spectral inversion or not.
 
-.. c:type:: fe_spectral_inversion
+.. _DTV-ISDBT-SOUND-BROADCASTING:
 
-enum fe_modulation: Frontend spectral inversion
------------------------------------------------
+DTV_ISDBT_SOUND_BROADCASTING
+============================
 
-This parameter indicates if spectral inversion should be presumed or
-not. In the automatic setting (``INVERSION_AUTO``) the hardware will try
-to figure out the correct setting by itself. If the hardware doesn't
-support, the DVB core will try to lock at the carrier first with
-inversion off. If it fails, it will try to enable inversion.
+Used only on ISDB.
 
+This field represents whether the other DTV_ISDBT_*-parameters are
+referring to an ISDB-T and an ISDB-Tsb channel. (See also
+``DTV_ISDBT_PARTIAL_RECEPTION``).
 
-.. flat-table:: enum fe_modulation
-    :header-rows:  1
-    :stub-columns: 0
+Possible values: 0, 1, -1 (AUTO)
 
 
-    -  .. row 1
+.. _DTV-ISDBT-SB-SUBCHANNEL-ID:
 
-       -  ID
+DTV_ISDBT_SB_SUBCHANNEL_ID
+==========================
 
-       -  Description
+Used only on ISDB.
 
-    -  .. row 2
+This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
 
-       -  .. _INVERSION-OFF:
+(Note of the author: This might not be the correct description of the
+``SUBCHANNEL-ID`` in all details, but it is my understanding of the
+technical background needed to program a device)
 
-         ``INVERSION_OFF``
+An ISDB-Tsb channel (1 or 3 segments) can be broadcasted alone or in a
+set of connected ISDB-Tsb channels. In this set of channels every
+channel can be received independently. The number of connected ISDB-Tsb
+segment can vary, e.g. depending on the frequency spectrum bandwidth
+available.
 
-       -  Don't do spectral band inversion.
+Example: Assume 8 ISDB-Tsb connected segments are broadcasted. The
+broadcaster has several possibilities to put those channels in the air:
+Assuming a normal 13-segment ISDB-T spectrum he can align the 8 segments
+from position 1-8 to 5-13 or anything in between.
 
-    -  .. row 3
+The underlying layer of segments are subchannels: each segment is
+consisting of several subchannels with a predefined IDs. A sub-channel
+is used to help the demodulator to synchronize on the channel.
 
-       -  .. _INVERSION-ON:
+An ISDB-T channel is always centered over all sub-channels. As for the
+example above, in ISDB-Tsb it is no longer as simple as that.
 
-         ``INVERSION_ON``
+``The DTV_ISDBT_SB_SUBCHANNEL_ID`` parameter is used to give the
+sub-channel ID of the segment to be demodulated.
 
-       -  Do spectral band inversion.
+Possible values: 0 .. 41, -1 (AUTO)
 
-    -  .. row 4
 
-       -  .. _INVERSION-AUTO:
+.. _DTV-ISDBT-SB-SEGMENT-IDX:
 
-         ``INVERSION_AUTO``
+DTV_ISDBT_SB_SEGMENT_IDX
+========================
 
-       -  Autodetect spectral band inversion.
+Used only on ISDB.
 
+This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
 
+``DTV_ISDBT_SB_SEGMENT_IDX`` gives the index of the segment to be
+demodulated for an ISDB-Tsb channel where several of them are
+transmitted in the connected manner.
 
-.. _DTV-DISEQC-MASTER:
+Possible values: 0 .. ``DTV_ISDBT_SB_SEGMENT_COUNT`` - 1
 
-DTV_DISEQC_MASTER
-=================
+Note: This value cannot be determined by an automatic channel search.
 
-Currently not implemented.
 
+.. _DTV-ISDBT-SB-SEGMENT-COUNT:
 
-.. _DTV-SYMBOL-RATE:
+DTV_ISDBT_SB_SEGMENT_COUNT
+==========================
 
-DTV_SYMBOL_RATE
-===============
+Used only on ISDB.
 
-Digital TV symbol rate, in bauds (symbols/second). Used on cable
-standards.
+This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
 
+``DTV_ISDBT_SB_SEGMENT_COUNT`` gives the total count of connected
+ISDB-Tsb channels.
 
-.. _DTV-INNER-FEC:
+Possible values: 1 .. 13
 
-DTV_INNER_FEC
-=============
+Note: This value cannot be determined by an automatic channel search.
 
-Used cable/satellite transmissions. The acceptable values are:
 
-.. c:type:: fe_code_rate
+.. _isdb-hierq-layers:
 
-enum fe_code_rate: type of the Forward Error Correction.
---------------------------------------------------------
+DTV-ISDBT-LAYER[A-C] parameters
+===============================
 
-.. flat-table:: enum fe_code_rate
-    :header-rows:  1
-    :stub-columns: 0
+Used only on ISDB.
 
+ISDB-T channels can be coded hierarchically. As opposed to DVB-T in
+ISDB-T hierarchical layers can be decoded simultaneously. For that
+reason a ISDB-T demodulator has 3 Viterbi and 3 Reed-Solomon decoders.
 
-    -  .. row 1
+ISDB-T has 3 hierarchical layers which each can use a part of the
+available segments. The total number of segments over all layers has to
+13 in ISDB-T.
 
-       -  ID
+There are 3 parameter sets, for Layers A, B and C.
 
-       -  Description
 
-    -  .. row 2
+.. _DTV-ISDBT-LAYER-ENABLED:
 
-       -  .. _FEC-NONE:
+DTV_ISDBT_LAYER_ENABLED
+-----------------------
 
-         ``FEC_NONE``
+Used only on ISDB.
 
-       -  No Forward Error Correction Code
+Hierarchical reception in ISDB-T is achieved by enabling or disabling
+layers in the decoding process. Setting all bits of
+``DTV_ISDBT_LAYER_ENABLED`` to '1' forces all layers (if applicable) to
+be demodulated. This is the default.
 
-    -  .. row 3
+If the channel is in the partial reception mode
+(``DTV_ISDBT_PARTIAL_RECEPTION`` = 1) the central segment can be decoded
+independently of the other 12 segments. In that mode layer A has to have
+a ``SEGMENT_COUNT`` of 1.
 
-       -  .. _FEC-AUTO:
+In ISDB-Tsb only layer A is used, it can be 1 or 3 in ISDB-Tsb according
+to ``DTV_ISDBT_PARTIAL_RECEPTION``. ``SEGMENT_COUNT`` must be filled
+accordingly.
 
-         ``FEC_AUTO``
+Only the values of the first 3 bits are used. Other bits will be silently ignored:
 
-       -  Autodetect Error Correction Code
+``DTV_ISDBT_LAYER_ENABLED`` bit 0: layer A enabled
 
-    -  .. row 4
+``DTV_ISDBT_LAYER_ENABLED`` bit 1: layer B enabled
 
-       -  .. _FEC-1-2:
+``DTV_ISDBT_LAYER_ENABLED`` bit 2: layer C enabled
 
-         ``FEC_1_2``
+``DTV_ISDBT_LAYER_ENABLED`` bits 3-31: unused
 
-       -  Forward Error Correction Code 1/2
 
-    -  .. row 5
+.. _DTV-ISDBT-LAYER-FEC:
 
-       -  .. _FEC-2-3:
+DTV_ISDBT_LAYER[A-C]_FEC
+------------------------
 
-         ``FEC_2_3``
+Used only on ISDB.
 
-       -  Forward Error Correction Code 2/3
+The Forward Error Correction mechanism used by a given ISDB Layer, as
+defined by :c:type:`fe_code_rate`.
 
-    -  .. row 6
 
-       -  .. _FEC-3-4:
+Possible values are: ``FEC_AUTO``, ``FEC_1_2``, ``FEC_2_3``, ``FEC_3_4``,
+``FEC_5_6``, ``FEC_7_8``
 
-         ``FEC_3_4``
 
-       -  Forward Error Correction Code 3/4
+.. _DTV-ISDBT-LAYER-MODULATION:
 
-    -  .. row 7
+DTV_ISDBT_LAYER[A-C]_MODULATION
+-------------------------------
 
-       -  .. _FEC-4-5:
+Used only on ISDB.
 
-         ``FEC_4_5``
+The modulation used by a given ISDB Layer, as defined by
+:c:type:`fe_modulation`.
 
-       -  Forward Error Correction Code 4/5
+Possible values are: ``QAM_AUTO``, ``QPSK``, ``QAM_16``, ``QAM_64``, ``DQPSK``
 
-    -  .. row 8
+.. note::
 
-       -  .. _FEC-5-6:
+   #. If layer C is ``DQPSK``, then layer B has to be ``DQPSK``.
 
-         ``FEC_5_6``
+   #. If layer B is ``DQPSK`` and ``DTV_ISDBT_PARTIAL_RECEPTION``\ = 0,
+      then layer has to be ``DQPSK``.
 
-       -  Forward Error Correction Code 5/6
 
-    -  .. row 9
+.. _DTV-ISDBT-LAYER-SEGMENT-COUNT:
 
-       -  .. _FEC-6-7:
+DTV_ISDBT_LAYER[A-C]_SEGMENT_COUNT
+----------------------------------
 
-         ``FEC_6_7``
+Used only on ISDB.
 
-       -  Forward Error Correction Code 6/7
+Possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1 (AUTO)
 
-    -  .. row 10
+Note: Truth table for ``DTV_ISDBT_SOUND_BROADCASTING`` and
+``DTV_ISDBT_PARTIAL_RECEPTION`` and ``LAYER[A-C]_SEGMENT_COUNT``
 
-       -  .. _FEC-7-8:
+.. _isdbt-layer_seg-cnt-table:
 
-         ``FEC_7_8``
+.. flat-table:: Truth table for ISDB-T Sound Broadcasting
+    :header-rows:  1
+    :stub-columns: 0
 
-       -  Forward Error Correction Code 7/8
 
-    -  .. row 11
+    -  .. row 1
 
-       -  .. _FEC-8-9:
+       -  Partial Reception
 
-         ``FEC_8_9``
+       -  Sound Broadcasting
 
-       -  Forward Error Correction Code 8/9
+       -  Layer A width
 
-    -  .. row 12
+       -  Layer B width
 
-       -  .. _FEC-9-10:
+       -  Layer C width
 
-         ``FEC_9_10``
+       -  total width
 
-       -  Forward Error Correction Code 9/10
+    -  .. row 2
 
-    -  .. row 13
+       -  0
 
-       -  .. _FEC-2-5:
+       -  0
 
-         ``FEC_2_5``
+       -  1 .. 13
 
-       -  Forward Error Correction Code 2/5
+       -  1 .. 13
 
-    -  .. row 14
+       -  1 .. 13
 
-       -  .. _FEC-3-5:
+       -  13
 
-         ``FEC_3_5``
+    -  .. row 3
 
-       -  Forward Error Correction Code 3/5
+       -  1
 
+       -  0
 
+       -  1
 
-.. _DTV-VOLTAGE:
+       -  1 .. 13
 
-DTV_VOLTAGE
-===========
+       -  1 .. 13
 
-The voltage is usually used with non-DiSEqC capable LNBs to switch the
-polarzation (horizontal/vertical). When using DiSEqC epuipment this
-voltage has to be switched consistently to the DiSEqC commands as
-described in the DiSEqC spec.
+       -  13
 
+    -  .. row 4
 
-.. c:type:: fe_sec_voltage
+       -  0
 
-.. flat-table:: enum fe_sec_voltage
-    :header-rows:  1
-    :stub-columns: 0
+       -  1
 
+       -  1
 
-    -  .. row 1
+       -  0
 
-       -  ID
+       -  0
 
-       -  Description
+       -  1
 
-    -  .. row 2
+    -  .. row 5
 
-       -  .. _SEC-VOLTAGE-13:
+       -  1
 
-         ``SEC_VOLTAGE_13``
+       -  1
 
-       -  Set DC voltage level to 13V
+       -  1
 
-    -  .. row 3
+       -  2
 
-       -  .. _SEC-VOLTAGE-18:
+       -  0
 
-         ``SEC_VOLTAGE_18``
+       -  13
 
-       -  Set DC voltage level to 18V
 
-    -  .. row 4
 
-       -  .. _SEC-VOLTAGE-OFF:
+.. _DTV-ISDBT-LAYER-TIME-INTERLEAVING:
 
-         ``SEC_VOLTAGE_OFF``
+DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING
+--------------------------------------
 
-       -  Don't send any voltage to the antenna
+Used only on ISDB.
 
+Valid values: 0, 1, 2, 4, -1 (AUTO)
 
+when DTV_ISDBT_SOUND_BROADCASTING is active, value 8 is also valid.
 
-.. _DTV-TONE:
-
-DTV_TONE
-========
-
-Currently not used.
-
-
-.. _DTV-PILOT:
-
-DTV_PILOT
-=========
-
-Sets DVB-S2 pilot
-
-
-.. c:type:: fe_pilot
-
-fe_pilot type
--------------
-
-
-.. flat-table:: enum fe_pilot
-    :header-rows:  1
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  ID
-
-       -  Description
-
-    -  .. row 2
-
-       -  .. _PILOT-ON:
-
-         ``PILOT_ON``
-
-       -  Pilot tones enabled
-
-    -  .. row 3
-
-       -  .. _PILOT-OFF:
-
-         ``PILOT_OFF``
-
-       -  Pilot tones disabled
-
-    -  .. row 4
-
-       -  .. _PILOT-AUTO:
-
-         ``PILOT_AUTO``
-
-       -  Autodetect pilot tones
-
-
-
-.. _DTV-ROLLOFF:
-
-DTV_ROLLOFF
-===========
-
-Sets DVB-S2 rolloff
-
-
-.. c:type:: fe_rolloff
-
-fe_rolloff type
----------------
-
-
-.. flat-table:: enum fe_rolloff
-    :header-rows:  1
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  ID
-
-       -  Description
-
-    -  .. row 2
-
-       -  .. _ROLLOFF-35:
-
-         ``ROLLOFF_35``
-
-       -  Roloff factor: Î±=35%
-
-    -  .. row 3
-
-       -  .. _ROLLOFF-20:
-
-         ``ROLLOFF_20``
-
-       -  Roloff factor: Î±=20%
-
-    -  .. row 4
-
-       -  .. _ROLLOFF-25:
-
-         ``ROLLOFF_25``
-
-       -  Roloff factor: Î±=25%
-
-    -  .. row 5
-
-       -  .. _ROLLOFF-AUTO:
-
-         ``ROLLOFF_AUTO``
-
-       -  Auto-detect the roloff factor.
-
-
-
-.. _DTV-DISEQC-SLAVE-REPLY:
-
-DTV_DISEQC_SLAVE_REPLY
-======================
-
-Currently not implemented.
-
-
-.. _DTV-FE-CAPABILITY-COUNT:
-
-DTV_FE_CAPABILITY_COUNT
-=======================
-
-Currently not implemented.
-
-
-.. _DTV-FE-CAPABILITY:
-
-DTV_FE_CAPABILITY
-=================
-
-Currently not implemented.
-
-
-.. _DTV-DELIVERY-SYSTEM:
-
-DTV_DELIVERY_SYSTEM
-===================
-
-Specifies the type of Delivery system
-
-
-.. c:type:: fe_delivery_system
-
-fe_delivery_system type
------------------------
-
-Possible values:
-
-
-.. flat-table:: enum fe_delivery_system
-    :header-rows:  1
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  ID
-
-       -  Description
-
-    -  .. row 2
-
-       -  .. _SYS-UNDEFINED:
-
-         ``SYS_UNDEFINED``
-
-       -  Undefined standard. Generally, indicates an error
-
-    -  .. row 3
-
-       -  .. _SYS-DVBC-ANNEX-A:
-
-         ``SYS_DVBC_ANNEX_A``
-
-       -  Cable TV: DVB-C following ITU-T J.83 Annex A spec
-
-    -  .. row 4
-
-       -  .. _SYS-DVBC-ANNEX-B:
-
-         ``SYS_DVBC_ANNEX_B``
-
-       -  Cable TV: DVB-C following ITU-T J.83 Annex B spec (ClearQAM)
-
-    -  .. row 5
-
-       -  .. _SYS-DVBC-ANNEX-C:
-
-         ``SYS_DVBC_ANNEX_C``
-
-       -  Cable TV: DVB-C following ITU-T J.83 Annex C spec
-
-    -  .. row 6
-
-       -  .. _SYS-ISDBC:
-
-         ``SYS_ISDBC``
-
-       -  Cable TV: ISDB-C (no drivers yet)
-
-    -  .. row 7
-
-       -  .. _SYS-DVBT:
-
-         ``SYS_DVBT``
-
-       -  Terrestral TV: DVB-T
-
-    -  .. row 8
-
-       -  .. _SYS-DVBT2:
-
-         ``SYS_DVBT2``
-
-       -  Terrestral TV: DVB-T2
-
-    -  .. row 9
-
-       -  .. _SYS-ISDBT:
-
-         ``SYS_ISDBT``
-
-       -  Terrestral TV: ISDB-T
-
-    -  .. row 10
-
-       -  .. _SYS-ATSC:
-
-         ``SYS_ATSC``
-
-       -  Terrestral TV: ATSC
-
-    -  .. row 11
-
-       -  .. _SYS-ATSCMH:
-
-         ``SYS_ATSCMH``
-
-       -  Terrestral TV (mobile): ATSC-M/H
-
-    -  .. row 12
-
-       -  .. _SYS-DTMB:
-
-         ``SYS_DTMB``
-
-       -  Terrestrial TV: DTMB
-
-    -  .. row 13
-
-       -  .. _SYS-DVBS:
-
-         ``SYS_DVBS``
-
-       -  Satellite TV: DVB-S
-
-    -  .. row 14
-
-       -  .. _SYS-DVBS2:
-
-         ``SYS_DVBS2``
-
-       -  Satellite TV: DVB-S2
-
-    -  .. row 15
-
-       -  .. _SYS-TURBO:
-
-         ``SYS_TURBO``
-
-       -  Satellite TV: DVB-S Turbo
-
-    -  .. row 16
-
-       -  .. _SYS-ISDBS:
-
-         ``SYS_ISDBS``
-
-       -  Satellite TV: ISDB-S
-
-    -  .. row 17
-
-       -  .. _SYS-DAB:
-
-         ``SYS_DAB``
-
-       -  Digital audio: DAB (not fully supported)
-
-    -  .. row 18
-
-       -  .. _SYS-DSS:
-
-         ``SYS_DSS``
-
-       -  Satellite TV:"DSS (not fully supported)
-
-    -  .. row 19
-
-       -  .. _SYS-CMMB:
-
-         ``SYS_CMMB``
-
-       -  Terrestral TV (mobile):CMMB (not fully supported)
-
-    -  .. row 20
-
-       -  .. _SYS-DVBH:
-
-         ``SYS_DVBH``
-
-       -  Terrestral TV (mobile): DVB-H (standard deprecated)
-
-
-
-.. _DTV-ISDBT-PARTIAL-RECEPTION:
-
-DTV_ISDBT_PARTIAL_RECEPTION
-===========================
-
-If ``DTV_ISDBT_SOUND_BROADCASTING`` is '0' this bit-field represents
-whether the channel is in partial reception mode or not.
-
-If '1' ``DTV_ISDBT_LAYERA_*`` values are assigned to the center segment
-and ``DTV_ISDBT_LAYERA_SEGMENT_COUNT`` has to be '1'.
-
-If in addition ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'
-``DTV_ISDBT_PARTIAL_RECEPTION`` represents whether this ISDB-Tsb channel
-is consisting of one segment and layer or three segments and two layers.
-
-Possible values: 0, 1, -1 (AUTO)
-
-
-.. _DTV-ISDBT-SOUND-BROADCASTING:
-
-DTV_ISDBT_SOUND_BROADCASTING
-============================
-
-This field represents whether the other DTV_ISDBT_*-parameters are
-referring to an ISDB-T and an ISDB-Tsb channel. (See also
-``DTV_ISDBT_PARTIAL_RECEPTION``).
-
-Possible values: 0, 1, -1 (AUTO)
-
-
-.. _DTV-ISDBT-SB-SUBCHANNEL-ID:
-
-DTV_ISDBT_SB_SUBCHANNEL_ID
-==========================
-
-This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
-
-(Note of the author: This might not be the correct description of the
-``SUBCHANNEL-ID`` in all details, but it is my understanding of the
-technical background needed to program a device)
-
-An ISDB-Tsb channel (1 or 3 segments) can be broadcasted alone or in a
-set of connected ISDB-Tsb channels. In this set of channels every
-channel can be received independently. The number of connected ISDB-Tsb
-segment can vary, e.g. depending on the frequency spectrum bandwidth
-available.
-
-Example: Assume 8 ISDB-Tsb connected segments are broadcasted. The
-broadcaster has several possibilities to put those channels in the air:
-Assuming a normal 13-segment ISDB-T spectrum he can align the 8 segments
-from position 1-8 to 5-13 or anything in between.
-
-The underlying layer of segments are subchannels: each segment is
-consisting of several subchannels with a predefined IDs. A sub-channel
-is used to help the demodulator to synchronize on the channel.
-
-An ISDB-T channel is always centered over all sub-channels. As for the
-example above, in ISDB-Tsb it is no longer as simple as that.
-
-``The DTV_ISDBT_SB_SUBCHANNEL_ID`` parameter is used to give the
-sub-channel ID of the segment to be demodulated.
-
-Possible values: 0 .. 41, -1 (AUTO)
-
-
-.. _DTV-ISDBT-SB-SEGMENT-IDX:
-
-DTV_ISDBT_SB_SEGMENT_IDX
-========================
-
-This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
-
-``DTV_ISDBT_SB_SEGMENT_IDX`` gives the index of the segment to be
-demodulated for an ISDB-Tsb channel where several of them are
-transmitted in the connected manner.
-
-Possible values: 0 .. ``DTV_ISDBT_SB_SEGMENT_COUNT`` - 1
-
-Note: This value cannot be determined by an automatic channel search.
-
-
-.. _DTV-ISDBT-SB-SEGMENT-COUNT:
-
-DTV_ISDBT_SB_SEGMENT_COUNT
-==========================
-
-This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
-
-``DTV_ISDBT_SB_SEGMENT_COUNT`` gives the total count of connected
-ISDB-Tsb channels.
-
-Possible values: 1 .. 13
-
-Note: This value cannot be determined by an automatic channel search.
-
-
-.. _isdb-hierq-layers:
-
-DTV-ISDBT-LAYER[A-C] parameters
-===============================
-
-ISDB-T channels can be coded hierarchically. As opposed to DVB-T in
-ISDB-T hierarchical layers can be decoded simultaneously. For that
-reason a ISDB-T demodulator has 3 Viterbi and 3 Reed-Solomon decoders.
-
-ISDB-T has 3 hierarchical layers which each can use a part of the
-available segments. The total number of segments over all layers has to
-13 in ISDB-T.
-
-There are 3 parameter sets, for Layers A, B and C.
-
-
-.. _DTV-ISDBT-LAYER-ENABLED:
-
-DTV_ISDBT_LAYER_ENABLED
------------------------
-
-Hierarchical reception in ISDB-T is achieved by enabling or disabling
-layers in the decoding process. Setting all bits of
-``DTV_ISDBT_LAYER_ENABLED`` to '1' forces all layers (if applicable) to
-be demodulated. This is the default.
-
-If the channel is in the partial reception mode
-(``DTV_ISDBT_PARTIAL_RECEPTION`` = 1) the central segment can be decoded
-independently of the other 12 segments. In that mode layer A has to have
-a ``SEGMENT_COUNT`` of 1.
-
-In ISDB-Tsb only layer A is used, it can be 1 or 3 in ISDB-Tsb according
-to ``DTV_ISDBT_PARTIAL_RECEPTION``. ``SEGMENT_COUNT`` must be filled
-accordingly.
-
-Only the values of the first 3 bits are used. Other bits will be silently ignored:
-
-``DTV_ISDBT_LAYER_ENABLED`` bit 0: layer A enabled
-
-``DTV_ISDBT_LAYER_ENABLED`` bit 1: layer B enabled
-
-``DTV_ISDBT_LAYER_ENABLED`` bit 2: layer C enabled
-
-``DTV_ISDBT_LAYER_ENABLED`` bits 3-31: unused
-
-
-.. _DTV-ISDBT-LAYER-FEC:
-
-DTV_ISDBT_LAYER[A-C]_FEC
-------------------------
-
-Possible values: ``FEC_AUTO``, ``FEC_1_2``, ``FEC_2_3``, ``FEC_3_4``,
-``FEC_5_6``, ``FEC_7_8``
-
-
-.. _DTV-ISDBT-LAYER-MODULATION:
-
-DTV_ISDBT_LAYER[A-C]_MODULATION
--------------------------------
-
-Possible values: ``QAM_AUTO``, QP\ ``SK, QAM_16``, ``QAM_64``, ``DQPSK``
-
-Note: If layer C is ``DQPSK`` layer B has to be ``DQPSK``. If layer B is
-``DQPSK`` and ``DTV_ISDBT_PARTIAL_RECEPTION``\ =0 layer has to be
-``DQPSK``.
-
-
-.. _DTV-ISDBT-LAYER-SEGMENT-COUNT:
-
-DTV_ISDBT_LAYER[A-C]_SEGMENT_COUNT
-----------------------------------
-
-Possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1 (AUTO)
-
-Note: Truth table for ``DTV_ISDBT_SOUND_BROADCASTING`` and
-``DTV_ISDBT_PARTIAL_RECEPTION`` and ``LAYER[A-C]_SEGMENT_COUNT``
-
-.. _isdbt-layer_seg-cnt-table:
-
-.. flat-table:: Truth table for ISDB-T Sound Broadcasting
-    :header-rows:  0
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  PR
-
-       -  SB
-
-       -  Layer A width
-
-       -  Layer B width
-
-       -  Layer C width
-
-       -  total width
-
-    -  .. row 2
-
-       -  0
-
-       -  0
-
-       -  1 .. 13
-
-       -  1 .. 13
-
-       -  1 .. 13
-
-       -  13
-
-    -  .. row 3
-
-       -  1
-
-       -  0
-
-       -  1
-
-       -  1 .. 13
-
-       -  1 .. 13
-
-       -  13
-
-    -  .. row 4
-
-       -  0
-
-       -  1
-
-       -  1
-
-       -  0
-
-       -  0
-
-       -  1
-
-    -  .. row 5
-
-       -  1
-
-       -  1
-
-       -  1
-
-       -  2
-
-       -  0
-
-       -  13
-
-
-
-.. _DTV-ISDBT-LAYER-TIME-INTERLEAVING:
-
-DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING
---------------------------------------
-
-Valid values: 0, 1, 2, 4, -1 (AUTO)
-
-when DTV_ISDBT_SOUND_BROADCASTING is active, value 8 is also valid.
-
-Note: The real time interleaving length depends on the mode (fft-size).
-The values here are referring to what can be found in the
-TMCC-structure, as shown in the table below.
-
-
-.. c:type:: isdbt_layer_interleaving_table
-
-.. flat-table:: ISDB-T time interleaving modes
-    :header-rows:  0
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  ``DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING``
-
-       -  Mode 1 (2K FFT)
-
-       -  Mode 2 (4K FFT)
-
-       -  Mode 3 (8K FFT)
-
-    -  .. row 2
-
-       -  0
-
-       -  0
-
-       -  0
-
-       -  0
-
-    -  .. row 3
-
-       -  1
-
-       -  4
-
-       -  2
-
-       -  1
-
-    -  .. row 4
-
-       -  2
-
-       -  8
-
-       -  4
-
-       -  2
-
-    -  .. row 5
-
-       -  4
-
-       -  16
-
-       -  8
-
-       -  4
-
-
-
-.. _DTV-ATSCMH-FIC-VER:
-
-DTV_ATSCMH_FIC_VER
-------------------
-
-Version number of the FIC (Fast Information Channel) signaling data.
-
-FIC is used for relaying information to allow rapid service acquisition
-by the receiver.
-
-Possible values: 0, 1, 2, 3, ..., 30, 31
-
-
-.. _DTV-ATSCMH-PARADE-ID:
-
-DTV_ATSCMH_PARADE_ID
---------------------
-
-Parade identification number
-
-A parade is a collection of up to eight MH groups, conveying one or two
-ensembles.
-
-Possible values: 0, 1, 2, 3, ..., 126, 127
-
-
-.. _DTV-ATSCMH-NOG:
-
-DTV_ATSCMH_NOG
---------------
-
-Number of MH groups per MH subframe for a designated parade.
-
-Possible values: 1, 2, 3, 4, 5, 6, 7, 8
-
-
-.. _DTV-ATSCMH-TNOG:
-
-DTV_ATSCMH_TNOG
----------------
-
-Total number of MH groups including all MH groups belonging to all MH
-parades in one MH subframe.
-
-Possible values: 0, 1, 2, 3, ..., 30, 31
-
-
-.. _DTV-ATSCMH-SGN:
-
-DTV_ATSCMH_SGN
---------------
-
-Start group number.
-
-Possible values: 0, 1, 2, 3, ..., 14, 15
-
-
-.. _DTV-ATSCMH-PRC:
-
-DTV_ATSCMH_PRC
---------------
-
-Parade repetition cycle.
-
-Possible values: 1, 2, 3, 4, 5, 6, 7, 8
-
-
-.. _DTV-ATSCMH-RS-FRAME-MODE:
-
-DTV_ATSCMH_RS_FRAME_MODE
-------------------------
-
-Reed Solomon (RS) frame mode.
-
-Possible values are:
-
-.. tabularcolumns:: |p{5.0cm}|p{12.5cm}|
-
-.. c:type:: atscmh_rs_frame_mode
-
-.. flat-table:: enum atscmh_rs_frame_mode
-    :header-rows:  1
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  ID
-
-       -  Description
-
-    -  .. row 2
-
-       -  .. _ATSCMH-RSFRAME-PRI-ONLY:
-
-         ``ATSCMH_RSFRAME_PRI_ONLY``
-
-       -  Single Frame: There is only a primary RS Frame for all Group
-         Regions.
-
-    -  .. row 3
-
-       -  .. _ATSCMH-RSFRAME-PRI-SEC:
-
-         ``ATSCMH_RSFRAME_PRI_SEC``
-
-       -  Dual Frame: There are two separate RS Frames: Primary RS Frame for
-         Group Region A and B and Secondary RS Frame for Group Region C and
-         D.
-
-
-
-.. _DTV-ATSCMH-RS-FRAME-ENSEMBLE:
-
-DTV_ATSCMH_RS_FRAME_ENSEMBLE
-----------------------------
-
-Reed Solomon(RS) frame ensemble.
-
-Possible values are:
-
-
-.. c:type:: atscmh_rs_frame_ensemble
-
-.. flat-table:: enum atscmh_rs_frame_ensemble
-    :header-rows:  1
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  ID
-
-       -  Description
-
-    -  .. row 2
-
-       -  .. _ATSCMH-RSFRAME-ENS-PRI:
-
-         ``ATSCMH_RSFRAME_ENS_PRI``
-
-       -  Primary Ensemble.
-
-    -  .. row 3
-
-       -  .. _ATSCMH-RSFRAME-ENS-SEC:
-
-         ``AATSCMH_RSFRAME_PRI_SEC``
-
-       -  Secondary Ensemble.
-
-    -  .. row 4
-
-       -  .. _ATSCMH-RSFRAME-RES:
-
-         ``AATSCMH_RSFRAME_RES``
-
-       -  Reserved. Shouldn't be used.
-
-
-
-.. _DTV-ATSCMH-RS-CODE-MODE-PRI:
-
-DTV_ATSCMH_RS_CODE_MODE_PRI
----------------------------
-
-Reed Solomon (RS) code mode (primary).
-
-Possible values are:
-
-
-.. c:type:: atscmh_rs_code_mode
-
-.. flat-table:: enum atscmh_rs_code_mode
-    :header-rows:  1
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  ID
-
-       -  Description
-
-    -  .. row 2
-
-       -  .. _ATSCMH-RSCODE-211-187:
-
-         ``ATSCMH_RSCODE_211_187``
-
-       -  Reed Solomon code (211,187).
-
-    -  .. row 3
-
-       -  .. _ATSCMH-RSCODE-223-187:
-
-         ``ATSCMH_RSCODE_223_187``
-
-       -  Reed Solomon code (223,187).
-
-    -  .. row 4
-
-       -  .. _ATSCMH-RSCODE-235-187:
-
-         ``ATSCMH_RSCODE_235_187``
-
-       -  Reed Solomon code (235,187).
-
-    -  .. row 5
-
-       -  .. _ATSCMH-RSCODE-RES:
-
-         ``ATSCMH_RSCODE_RES``
-
-       -  Reserved. Shouldn't be used.
-
-
-
-.. _DTV-ATSCMH-RS-CODE-MODE-SEC:
-
-DTV_ATSCMH_RS_CODE_MODE_SEC
----------------------------
-
-Reed Solomon (RS) code mode (secondary).
-
-Possible values are the same as documented on enum
-:c:type:`atscmh_rs_code_mode`:
-
-
-.. _DTV-ATSCMH-SCCC-BLOCK-MODE:
-
-DTV_ATSCMH_SCCC_BLOCK_MODE
---------------------------
-
-Series Concatenated Convolutional Code Block Mode.
-
-Possible values are:
-
-.. tabularcolumns:: |p{4.5cm}|p{13.0cm}|
-
-.. c:type:: atscmh_sccc_block_mode
-
-.. flat-table:: enum atscmh_scc_block_mode
-    :header-rows:  1
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  ID
-
-       -  Description
-
-    -  .. row 2
-
-       -  .. _ATSCMH-SCCC-BLK-SEP:
-
-         ``ATSCMH_SCCC_BLK_SEP``
-
-       -  Separate SCCC: the SCCC outer code mode shall be set independently
-         for each Group Region (A, B, C, D)
-
-    -  .. row 3
-
-       -  .. _ATSCMH-SCCC-BLK-COMB:
-
-         ``ATSCMH_SCCC_BLK_COMB``
-
-       -  Combined SCCC: all four Regions shall have the same SCCC outer
-         code mode.
-
-    -  .. row 4
-
-       -  .. _ATSCMH-SCCC-BLK-RES:
-
-         ``ATSCMH_SCCC_BLK_RES``
-
-       -  Reserved. Shouldn't be used.
-
-
-
-.. _DTV-ATSCMH-SCCC-CODE-MODE-A:
-
-DTV_ATSCMH_SCCC_CODE_MODE_A
----------------------------
-
-Series Concatenated Convolutional Code Rate.
-
-Possible values are:
+Note: The real time interleaving length depends on the mode (fft-size).
+The values here are referring to what can be found in the
+TMCC-structure, as shown in the table below.
 
 
-.. c:type:: atscmh_sccc_code_mode
+.. c:type:: isdbt_layer_interleaving_table
 
-.. flat-table:: enum atscmh_sccc_code_mode
+.. flat-table:: ISDB-T time interleaving modes
     :header-rows:  1
     :stub-columns: 0
 
 
     -  .. row 1
 
-       -  ID
-
-       -  Description
-
-    -  .. row 2
-
-       -  .. _ATSCMH-SCCC-CODE-HLF:
-
-         ``ATSCMH_SCCC_CODE_HLF``
-
-       -  The outer code rate of a SCCC Block is 1/2 rate.
-
-    -  .. row 3
-
-       -  .. _ATSCMH-SCCC-CODE-QTR:
-
-         ``ATSCMH_SCCC_CODE_QTR``
-
-       -  The outer code rate of a SCCC Block is 1/4 rate.
-
-    -  .. row 4
-
-       -  .. _ATSCMH-SCCC-CODE-RES:
+       -  ``DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING``
 
-         ``ATSCMH_SCCC_CODE_RES``
+       -  Mode 1 (2K FFT)
 
-       -  to be documented.
+       -  Mode 2 (4K FFT)
 
+       -  Mode 3 (8K FFT)
 
+    -  .. row 2
 
-.. _DTV-ATSCMH-SCCC-CODE-MODE-B:
+       -  0
 
-DTV_ATSCMH_SCCC_CODE_MODE_B
----------------------------
+       -  0
 
-Series Concatenated Convolutional Code Rate.
+       -  0
 
-Possible values are the same as documented on enum
-:c:type:`atscmh_sccc_code_mode`.
+       -  0
 
+    -  .. row 3
 
-.. _DTV-ATSCMH-SCCC-CODE-MODE-C:
+       -  1
 
-DTV_ATSCMH_SCCC_CODE_MODE_C
----------------------------
+       -  4
 
-Series Concatenated Convolutional Code Rate.
+       -  2
 
-Possible values are the same as documented on enum
-:c:type:`atscmh_sccc_code_mode`.
+       -  1
 
+    -  .. row 4
 
-.. _DTV-ATSCMH-SCCC-CODE-MODE-D:
+       -  2
 
-DTV_ATSCMH_SCCC_CODE_MODE_D
----------------------------
+       -  8
 
-Series Concatenated Convolutional Code Rate.
+       -  4
 
-Possible values are the same as documented on enum
-:c:type:`atscmh_sccc_code_mode`.
+       -  2
 
+    -  .. row 5
 
-.. _DTV-API-VERSION:
+       -  4
 
-DTV_API_VERSION
-===============
+       -  16
 
-Returns the major/minor version of the DVB API
+       -  8
 
+       -  4
 
-.. _DTV-CODE-RATE-HP:
 
-DTV_CODE_RATE_HP
-================
 
-Used on terrestrial transmissions. The acceptable values are the ones
-described at :c:type:`fe_transmit_mode`.
+.. _DTV-ATSCMH-FIC-VER:
 
+DTV_ATSCMH_FIC_VER
+------------------
 
-.. _DTV-CODE-RATE-LP:
+Used only on ATSC-MH.
 
-DTV_CODE_RATE_LP
-================
+Version number of the FIC (Fast Information Channel) signaling data.
 
-Used on terrestrial transmissions. The acceptable values are the ones
-described at :c:type:`fe_transmit_mode`.
+FIC is used for relaying information to allow rapid service acquisition
+by the receiver.
 
+Possible values: 0, 1, 2, 3, ..., 30, 31
 
-.. _DTV-GUARD-INTERVAL:
 
-DTV_GUARD_INTERVAL
-==================
+.. _DTV-ATSCMH-PARADE-ID:
 
-Possible values are:
+DTV_ATSCMH_PARADE_ID
+--------------------
 
+Used only on ATSC-MH.
 
-.. c:type:: fe_guard_interval
+Parade identification number
 
-Modulation guard interval
--------------------------
+A parade is a collection of up to eight MH groups, conveying one or two
+ensembles.
 
+Possible values: 0, 1, 2, 3, ..., 126, 127
 
-.. flat-table:: enum fe_guard_interval
-    :header-rows:  1
-    :stub-columns: 0
 
+.. _DTV-ATSCMH-NOG:
 
-    -  .. row 1
+DTV_ATSCMH_NOG
+--------------
 
-       -  ID
+Used only on ATSC-MH.
 
-       -  Description
+Number of MH groups per MH subframe for a designated parade.
 
-    -  .. row 2
+Possible values: 1, 2, 3, 4, 5, 6, 7, 8
 
-       -  .. _GUARD-INTERVAL-AUTO:
 
-         ``GUARD_INTERVAL_AUTO``
+.. _DTV-ATSCMH-TNOG:
 
-       -  Autodetect the guard interval
+DTV_ATSCMH_TNOG
+---------------
 
-    -  .. row 3
+Used only on ATSC-MH.
 
-       -  .. _GUARD-INTERVAL-1-128:
+Total number of MH groups including all MH groups belonging to all MH
+parades in one MH subframe.
 
-         ``GUARD_INTERVAL_1_128``
+Possible values: 0, 1, 2, 3, ..., 30, 31
 
-       -  Guard interval 1/128
 
-    -  .. row 4
+.. _DTV-ATSCMH-SGN:
 
-       -  .. _GUARD-INTERVAL-1-32:
+DTV_ATSCMH_SGN
+--------------
 
-         ``GUARD_INTERVAL_1_32``
+Used only on ATSC-MH.
 
-       -  Guard interval 1/32
+Start group number.
 
-    -  .. row 5
+Possible values: 0, 1, 2, 3, ..., 14, 15
 
-       -  .. _GUARD-INTERVAL-1-16:
 
-         ``GUARD_INTERVAL_1_16``
+.. _DTV-ATSCMH-PRC:
 
-       -  Guard interval 1/16
+DTV_ATSCMH_PRC
+--------------
 
-    -  .. row 6
+Used only on ATSC-MH.
 
-       -  .. _GUARD-INTERVAL-1-8:
+Parade repetition cycle.
 
-         ``GUARD_INTERVAL_1_8``
+Possible values: 1, 2, 3, 4, 5, 6, 7, 8
 
-       -  Guard interval 1/8
 
-    -  .. row 7
+.. _DTV-ATSCMH-RS-FRAME-MODE:
 
-       -  .. _GUARD-INTERVAL-1-4:
+DTV_ATSCMH_RS_FRAME_MODE
+------------------------
 
-         ``GUARD_INTERVAL_1_4``
+Used only on ATSC-MH.
 
-       -  Guard interval 1/4
+Reed Solomon (RS) frame mode.
 
-    -  .. row 8
+The acceptable values are defined by :c:type:`atscmh_rs_frame_mode`.
 
-       -  .. _GUARD-INTERVAL-19-128:
 
-         ``GUARD_INTERVAL_19_128``
+.. _DTV-ATSCMH-RS-FRAME-ENSEMBLE:
 
-       -  Guard interval 19/128
+DTV_ATSCMH_RS_FRAME_ENSEMBLE
+----------------------------
 
-    -  .. row 9
+Used only on ATSC-MH.
 
-       -  .. _GUARD-INTERVAL-19-256:
+Reed Solomon(RS) frame ensemble.
 
-         ``GUARD_INTERVAL_19_256``
+The acceptable values are defined by :c:type:`atscmh_rs_frame_ensemble`.
 
-       -  Guard interval 19/256
 
-    -  .. row 10
+.. _DTV-ATSCMH-RS-CODE-MODE-PRI:
 
-       -  .. _GUARD-INTERVAL-PN420:
+DTV_ATSCMH_RS_CODE_MODE_PRI
+---------------------------
 
-         ``GUARD_INTERVAL_PN420``
+Used only on ATSC-MH.
 
-       -  PN length 420 (1/4)
+Reed Solomon (RS) code mode (primary).
 
-    -  .. row 11
+The acceptable values are defined by :c:type:`atscmh_rs_code_mode`.
 
-       -  .. _GUARD-INTERVAL-PN595:
 
-         ``GUARD_INTERVAL_PN595``
+.. _DTV-ATSCMH-RS-CODE-MODE-SEC:
 
-       -  PN length 595 (1/6)
+DTV_ATSCMH_RS_CODE_MODE_SEC
+---------------------------
 
-    -  .. row 12
+Used only on ATSC-MH.
 
-       -  .. _GUARD-INTERVAL-PN945:
+Reed Solomon (RS) code mode (secondary).
 
-         ``GUARD_INTERVAL_PN945``
+The acceptable values are defined by :c:type:`atscmh_rs_code_mode`.
 
-       -  PN length 945 (1/9)
 
+.. _DTV-ATSCMH-SCCC-BLOCK-MODE:
 
-Notes:
+DTV_ATSCMH_SCCC_BLOCK_MODE
+--------------------------
 
-1) If ``DTV_GUARD_INTERVAL`` is set the ``GUARD_INTERVAL_AUTO`` the
-hardware will try to find the correct guard interval (if capable) and
-will use TMCC to fill in the missing parameters.
+Used only on ATSC-MH.
 
-2) Intervals 1/128, 19/128 and 19/256 are used only for DVB-T2 at
-present
+Series Concatenated Convolutional Code Block Mode.
 
-3) DTMB specifies PN420, PN595 and PN945.
+The acceptable values are defined by :c:type:`atscmh_sccc_block_mode`.
 
 
-.. _DTV-TRANSMISSION-MODE:
+.. _DTV-ATSCMH-SCCC-CODE-MODE-A:
 
-DTV_TRANSMISSION_MODE
-=====================
+DTV_ATSCMH_SCCC_CODE_MODE_A
+---------------------------
 
-Specifies the number of carriers used by the standard. This is used only
-on OFTM-based standards, e. g. DVB-T/T2, ISDB-T, DTMB
+Used only on ATSC-MH.
 
+Series Concatenated Convolutional Code Rate.
 
-.. c:type:: fe_transmit_mode
+The acceptable values are defined by :c:type:`atscmh_sccc_code_mode`.
 
-enum fe_transmit_mode: Number of carriers per channel
------------------------------------------------------
+.. _DTV-ATSCMH-SCCC-CODE-MODE-B:
 
-.. tabularcolumns:: |p{5.0cm}|p{12.5cm}|
+DTV_ATSCMH_SCCC_CODE_MODE_B
+---------------------------
 
-.. flat-table:: enum fe_transmit_mode
-    :header-rows:  1
-    :stub-columns: 0
+Used only on ATSC-MH.
 
+Series Concatenated Convolutional Code Rate.
 
-    -  .. row 1
+Possible values are the same as documented on enum
+:c:type:`atscmh_sccc_code_mode`.
 
-       -  ID
 
-       -  Description
+.. _DTV-ATSCMH-SCCC-CODE-MODE-C:
 
-    -  .. row 2
+DTV_ATSCMH_SCCC_CODE_MODE_C
+---------------------------
 
-       -  .. _TRANSMISSION-MODE-AUTO:
+Used only on ATSC-MH.
 
-         ``TRANSMISSION_MODE_AUTO``
+Series Concatenated Convolutional Code Rate.
 
-       -  Autodetect transmission mode. The hardware will try to find the
-         correct FFT-size (if capable) to fill in the missing parameters.
+Possible values are the same as documented on enum
+:c:type:`atscmh_sccc_code_mode`.
 
-    -  .. row 3
 
-       -  .. _TRANSMISSION-MODE-1K:
+.. _DTV-ATSCMH-SCCC-CODE-MODE-D:
 
-         ``TRANSMISSION_MODE_1K``
+DTV_ATSCMH_SCCC_CODE_MODE_D
+---------------------------
 
-       -  Transmission mode 1K
+Used only on ATSC-MH.
 
-    -  .. row 4
+Series Concatenated Convolutional Code Rate.
 
-       -  .. _TRANSMISSION-MODE-2K:
+Possible values are the same as documented on enum
+:c:type:`atscmh_sccc_code_mode`.
 
-         ``TRANSMISSION_MODE_2K``
 
-       -  Transmission mode 2K
+.. _DTV-API-VERSION:
 
-    -  .. row 5
+DTV_API_VERSION
+===============
 
-       -  .. _TRANSMISSION-MODE-8K:
+Returns the major/minor version of the Digital TV API
 
-         ``TRANSMISSION_MODE_8K``
 
-       -  Transmission mode 8K
+.. _DTV-CODE-RATE-HP:
 
-    -  .. row 6
+DTV_CODE_RATE_HP
+================
 
-       -  .. _TRANSMISSION-MODE-4K:
+Used on terrestrial transmissions.
 
-         ``TRANSMISSION_MODE_4K``
+The acceptable values are defined by :c:type:`fe_transmit_mode`.
 
-       -  Transmission mode 4K
 
-    -  .. row 7
+.. _DTV-CODE-RATE-LP:
 
-       -  .. _TRANSMISSION-MODE-16K:
+DTV_CODE_RATE_LP
+================
 
-         ``TRANSMISSION_MODE_16K``
+Used on terrestrial transmissions.
 
-       -  Transmission mode 16K
+The acceptable values are defined by :c:type:`fe_transmit_mode`.
 
-    -  .. row 8
 
-       -  .. _TRANSMISSION-MODE-32K:
+.. _DTV-GUARD-INTERVAL:
 
-         ``TRANSMISSION_MODE_32K``
+DTV_GUARD_INTERVAL
+==================
 
-       -  Transmission mode 32K
+The acceptable values are defined by :c:type:`fe_guard_interval`.
 
-    -  .. row 9
+.. note::
 
-       -  .. _TRANSMISSION-MODE-C1:
+   #. If ``DTV_GUARD_INTERVAL`` is set the ``GUARD_INTERVAL_AUTO`` the
+      hardware will try to find the correct guard interval (if capable) and
+      will use TMCC to fill in the missing parameters.
+   #. Intervals ``GUARD_INTERVAL_1_128``, ``GUARD_INTERVAL_19_128``
+      and ``GUARD_INTERVAL_19_256`` are used only for DVB-T2 at
+      present.
+   #. Intervals ``GUARD_INTERVAL_PN420``, ``GUARD_INTERVAL_PN595`` and
+      ``GUARD_INTERVAL_PN945`` are used only for DMTB at the present.
+      On such standard, only those intervals and ``GUARD_INTERVAL_AUTO``
+      are valid.
 
-         ``TRANSMISSION_MODE_C1``
+.. _DTV-TRANSMISSION-MODE:
 
-       -  Single Carrier (C=1) transmission mode (DTMB)
+DTV_TRANSMISSION_MODE
+=====================
 
-    -  .. row 10
 
-       -  .. _TRANSMISSION-MODE-C3780:
+Used only on OFTM-based standards, e. g. DVB-T/T2, ISDB-T, DTMB.
 
-         ``TRANSMISSION_MODE_C3780``
+Specifies the FFT size (with corresponds to the approximate number of
+carriers) used by the standard.
 
-       -  Multi Carrier (C=3780) transmission mode (DTMB)
+The acceptable values are defined by :c:type:`fe_transmit_mode`.
 
+.. note::
 
-Notes:
+   #. ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called
+      **mode** on such standard, and are numbered from 1 to 3:
 
-1) ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called
-'mode' in the standard: Mode 1 is 2K, mode 2 is 4K, mode 3 is 8K
+      ====     ========        ========================
+      Mode     FFT size        Transmission mode
+      ====     ========        ========================
+      1                2K              ``TRANSMISSION_MODE_2K``
+      2                4K              ``TRANSMISSION_MODE_4K``
+      3                8K              ``TRANSMISSION_MODE_8K``
+      ====     ========        ========================
 
-2) If ``DTV_TRANSMISSION_MODE`` is set the ``TRANSMISSION_MODE_AUTO``
-the hardware will try to find the correct FFT-size (if capable) and will
-use TMCC to fill in the missing parameters.
+   #. If ``DTV_TRANSMISSION_MODE`` is set the ``TRANSMISSION_MODE_AUTO``
+      the hardware will try to find the correct FFT-size (if capable) and
+      will use TMCC to fill in the missing parameters.
 
-3) DVB-T specifies 2K and 8K as valid sizes.
+   #. DVB-T specifies 2K and 8K as valid sizes.
 
-4) DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.
+   #. DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.
 
-5) DTMB specifies C1 and C3780.
+   #. DTMB specifies C1 and C3780.
 
 
 .. _DTV-HIERARCHY:
@@ -1779,66 +904,11 @@ use TMCC to fill in the missing parameters.
 DTV_HIERARCHY
 =============
 
-Frontend hierarchy
-
-
-.. c:type:: fe_hierarchy
-
-Frontend hierarchy
-------------------
-
-
-.. flat-table:: enum fe_hierarchy
-    :header-rows:  1
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  ID
-
-       -  Description
-
-    -  .. row 2
-
-       -  .. _HIERARCHY-NONE:
-
-         ``HIERARCHY_NONE``
-
-       -  No hierarchy
-
-    -  .. row 3
-
-       -  .. _HIERARCHY-AUTO:
-
-         ``HIERARCHY_AUTO``
-
-       -  Autodetect hierarchy (if supported)
-
-    -  .. row 4
-
-       -  .. _HIERARCHY-1:
-
-         ``HIERARCHY_1``
-
-       -  Hierarchy 1
-
-    -  .. row 5
-
-       -  .. _HIERARCHY-2:
-
-         ``HIERARCHY_2``
-
-       -  Hierarchy 2
-
-    -  .. row 6
-
-       -  .. _HIERARCHY-4:
-
-         ``HIERARCHY_4``
+Used only on DVB-T and DVB-T2.
 
-       -  Hierarchy 4
+Frontend hierarchy.
 
+The acceptable values are defined by :c:type:`fe_hierarchy`.
 
 
 .. _DTV-STREAM-ID:
@@ -1846,8 +916,10 @@ Frontend hierarchy
 DTV_STREAM_ID
 =============
 
+Used on DVB-S2, DVB-T2 and ISDB-S.
+
 DVB-S2, DVB-T2 and ISDB-S support the transmission of several streams on
-a single transport stream. This property enables the DVB driver to
+a single transport stream. This property enables the digital TV driver to
 handle substream filtering, when supported by the hardware. By default,
 substream filtering is disabled.
 
@@ -1884,60 +956,17 @@ with it, rather than trying to use FE_GET_INFO. In the case of a
 legacy frontend, the result is just the same as with FE_GET_INFO, but
 in a more structured format
 
+The acceptable values are defined by :c:type:`fe_delivery_system`.
+
 
 .. _DTV-INTERLEAVING:
 
 DTV_INTERLEAVING
 ================
 
-Time interleaving to be used. Currently, used only on DTMB.
-
-
-.. c:type:: fe_interleaving
-
-.. flat-table:: enum fe_interleaving
-    :header-rows:  1
-    :stub-columns: 0
-
-
-    -  .. row 1
-
-       -  ID
-
-       -  Description
-
-    -  .. row 2
-
-       -  .. _INTERLEAVING-NONE:
-
-         ``INTERLEAVING_NONE``
-
-       -  No interleaving.
-
-    -  .. row 3
-
-       -  .. _INTERLEAVING-AUTO:
-
-         ``INTERLEAVING_AUTO``
-
-       -  Auto-detect interleaving.
-
-    -  .. row 4
-
-       -  .. _INTERLEAVING-240:
-
-         ``INTERLEAVING_240``
-
-       -  Interleaving of 240 symbols.
-
-    -  .. row 5
-
-       -  .. _INTERLEAVING-720:
-
-         ``INTERLEAVING_720``
-
-       -  Interleaving of 720 symbols.
+Time interleaving to be used.
 
+The acceptable values are defined by :c:type:`fe_interleaving`.
 
 
 .. _DTV-LNA: