Commit 9d5e27cb authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

media: dvb frontend docs: use kernel-doc documentation

Now that frontend.h contains most documentation for the frontend,
remove the duplicated information from Documentation/ and use the
kernel-doc auto-generated one instead.

That should simplify maintainership of DVB frontend uAPI, as most
of the documentation will stick with the header file.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent 8220ead8
......@@ -25,19 +25,9 @@ ignore define DTV_MAX_COMMAND
ignore define MAX_DTV_STATS
ignore define DTV_IOCTL_MAX_MSGS
# Stats enum is documented altogether
replace enum fecap_scale_params :ref:`frontend-stat-properties`
replace symbol FE_SCALE_COUNTER frontend-stat-properties
replace symbol FE_SCALE_DECIBEL frontend-stat-properties
replace symbol FE_SCALE_NOT_AVAILABLE frontend-stat-properties
replace symbol FE_SCALE_RELATIVE frontend-stat-properties
# the same reference is used for both get and set ioctls
replace ioctl FE_SET_PROPERTY :c:type:`FE_GET_PROPERTY`
# Ignore struct used only internally at Kernel
ignore struct dtv_cmds_h
# Typedefs that use the enum reference
replace typedef fe_sec_voltage_t :c:type:`fe_sec_voltage`
......@@ -45,3 +35,178 @@ replace typedef fe_sec_voltage_t :c:type:`fe_sec_voltage`
replace define FE_TUNE_MODE_ONESHOT :c:func:`FE_SET_FRONTEND_TUNE_MODE`
replace define LNA_AUTO dtv-lna
replace define NO_STREAM_ID_FILTER dtv-stream-id
# Those enums are defined at the frontend.h header, and not externally
ignore symbol FE_IS_STUPID
ignore symbol FE_CAN_INVERSION_AUTO
ignore symbol FE_CAN_FEC_1_2
ignore symbol FE_CAN_FEC_2_3
ignore symbol FE_CAN_FEC_3_4
ignore symbol FE_CAN_FEC_4_5
ignore symbol FE_CAN_FEC_5_6
ignore symbol FE_CAN_FEC_6_7
ignore symbol FE_CAN_FEC_7_8
ignore symbol FE_CAN_FEC_8_9
ignore symbol FE_CAN_FEC_AUTO
ignore symbol FE_CAN_QPSK
ignore symbol FE_CAN_QAM_16
ignore symbol FE_CAN_QAM_32
ignore symbol FE_CAN_QAM_64
ignore symbol FE_CAN_QAM_128
ignore symbol FE_CAN_QAM_256
ignore symbol FE_CAN_QAM_AUTO
ignore symbol FE_CAN_TRANSMISSION_MODE_AUTO
ignore symbol FE_CAN_BANDWIDTH_AUTO
ignore symbol FE_CAN_GUARD_INTERVAL_AUTO
ignore symbol FE_CAN_HIERARCHY_AUTO
ignore symbol FE_CAN_8VSB
ignore symbol FE_CAN_16VSB
ignore symbol FE_HAS_EXTENDED_CAPS
ignore symbol FE_CAN_MULTISTREAM
ignore symbol FE_CAN_TURBO_FEC
ignore symbol FE_CAN_2G_MODULATION
ignore symbol FE_NEEDS_BENDING
ignore symbol FE_CAN_RECOVER
ignore symbol FE_CAN_MUTE_TS
ignore symbol QPSK
ignore symbol QAM_16
ignore symbol QAM_32
ignore symbol QAM_64
ignore symbol QAM_128
ignore symbol QAM_256
ignore symbol QAM_AUTO
ignore symbol VSB_8
ignore symbol VSB_16
ignore symbol PSK_8
ignore symbol APSK_16
ignore symbol APSK_32
ignore symbol DQPSK
ignore symbol QAM_4_NR
ignore symbol SEC_VOLTAGE_13
ignore symbol SEC_VOLTAGE_18
ignore symbol SEC_VOLTAGE_OFF
ignore symbol SEC_TONE_ON
ignore symbol SEC_TONE_OFF
ignore symbol SEC_MINI_A
ignore symbol SEC_MINI_B
ignore symbol FE_NONE
ignore symbol FE_HAS_SIGNAL
ignore symbol FE_HAS_CARRIER
ignore symbol FE_HAS_VITERBI
ignore symbol FE_HAS_SYNC
ignore symbol FE_HAS_LOCK
ignore symbol FE_REINIT
ignore symbol FE_TIMEDOUT
ignore symbol FEC_NONE
ignore symbol FEC_1_2
ignore symbol FEC_2_3
ignore symbol FEC_3_4
ignore symbol FEC_4_5
ignore symbol FEC_5_6
ignore symbol FEC_6_7
ignore symbol FEC_7_8
ignore symbol FEC_8_9
ignore symbol FEC_AUTO
ignore symbol FEC_3_5
ignore symbol FEC_9_10
ignore symbol FEC_2_5
ignore symbol TRANSMISSION_MODE_AUTO
ignore symbol TRANSMISSION_MODE_1K
ignore symbol TRANSMISSION_MODE_2K
ignore symbol TRANSMISSION_MODE_8K
ignore symbol TRANSMISSION_MODE_4K
ignore symbol TRANSMISSION_MODE_16K
ignore symbol TRANSMISSION_MODE_32K
ignore symbol TRANSMISSION_MODE_C1
ignore symbol TRANSMISSION_MODE_C3780
ignore symbol TRANSMISSION_MODE_2K
ignore symbol TRANSMISSION_MODE_8K
ignore symbol GUARD_INTERVAL_AUTO
ignore symbol GUARD_INTERVAL_1_128
ignore symbol GUARD_INTERVAL_1_32
ignore symbol GUARD_INTERVAL_1_16
ignore symbol GUARD_INTERVAL_1_8
ignore symbol GUARD_INTERVAL_1_4
ignore symbol GUARD_INTERVAL_19_128
ignore symbol GUARD_INTERVAL_19_256
ignore symbol GUARD_INTERVAL_PN420
ignore symbol GUARD_INTERVAL_PN595
ignore symbol GUARD_INTERVAL_PN945
ignore symbol HIERARCHY_NONE
ignore symbol HIERARCHY_AUTO
ignore symbol HIERARCHY_1
ignore symbol HIERARCHY_2
ignore symbol HIERARCHY_4
ignore symbol INTERLEAVING_NONE
ignore symbol INTERLEAVING_AUTO
ignore symbol INTERLEAVING_240
ignore symbol INTERLEAVING_720
ignore symbol PILOT_ON
ignore symbol PILOT_OFF
ignore symbol PILOT_AUTO
ignore symbol ROLLOFF_35
ignore symbol ROLLOFF_20
ignore symbol ROLLOFF_25
ignore symbol ROLLOFF_AUTO
ignore symbol INVERSION_ON
ignore symbol INVERSION_OFF
ignore symbol INVERSION_AUTO
ignore symbol SYS_UNDEFINED
ignore symbol SYS_DVBC_ANNEX_A
ignore symbol SYS_DVBC_ANNEX_B
ignore symbol SYS_DVBC_ANNEX_C
ignore symbol SYS_ISDBC
ignore symbol SYS_DVBT
ignore symbol SYS_DVBT2
ignore symbol SYS_ISDBT
ignore symbol SYS_ATSC
ignore symbol SYS_ATSCMH
ignore symbol SYS_DTMB
ignore symbol SYS_DVBS
ignore symbol SYS_DVBS2
ignore symbol SYS_TURBO
ignore symbol SYS_ISDBS
ignore symbol SYS_DAB
ignore symbol SYS_DSS
ignore symbol SYS_CMMB
ignore symbol SYS_DVBH
ignore symbol ATSCMH_SCCC_BLK_SEP
ignore symbol ATSCMH_SCCC_BLK_COMB
ignore symbol ATSCMH_SCCC_BLK_RES
ignore symbol ATSCMH_SCCC_CODE_HLF
ignore symbol ATSCMH_SCCC_CODE_QTR
ignore symbol ATSCMH_SCCC_CODE_RES
ignore symbol ATSCMH_RSFRAME_ENS_PRI
ignore symbol ATSCMH_RSFRAME_ENS_SEC
ignore symbol ATSCMH_RSFRAME_PRI_ONLY
ignore symbol ATSCMH_RSFRAME_PRI_SEC
ignore symbol ATSCMH_RSFRAME_RES
ignore symbol ATSCMH_RSCODE_211_187
ignore symbol ATSCMH_RSCODE_223_187
ignore symbol ATSCMH_RSCODE_235_187
ignore symbol ATSCMH_RSCODE_RES
ignore symbol FE_SCALE_NOT_AVAILABLE
ignore symbol FE_SCALE_DECIBEL
ignore symbol FE_SCALE_RELATIVE
ignore symbol FE_SCALE_COUNTER
.. -*- coding: utf-8; mode: rst -*-
.. c:type:: dtv_fe_stats
*******************
struct dtv_fe_stats
*******************
.. code-block:: c
#define MAX_DTV_STATS 4
struct dtv_fe_stats {
__u8 len;
struct dtv_stats stat[MAX_DTV_STATS];
} __packed;
.. -*- coding: utf-8; mode: rst -*-
.. c:type:: dtv_properties
*********************
struct dtv_properties
*********************
.. code-block:: c
struct dtv_properties {
__u32 num;
struct dtv_property *props;
};
.. -*- coding: utf-8; mode: rst -*-
.. c:type:: dtv_property
*******************
struct dtv_property
*******************
.. code-block:: c
/* Reserved fields should be set to 0 */
struct dtv_property {
__u32 cmd;
__u32 reserved[3];
union {
__u32 data;
struct dtv_fe_stats st;
struct {
__u8 data[32];
__u32 len;
__u32 reserved1[3];
void *reserved2;
} buffer;
} u;
int result;
} __attribute__ ((packed));
/* num of properties cannot exceed DTV_IOCTL_MAX_MSGS per ioctl */
#define DTV_IOCTL_MAX_MSGS 64
.. -*- coding: utf-8; mode: rst -*-
.. c:type:: dtv_stats
****************
struct dtv_stats
****************
.. code-block:: c
struct dtv_stats {
__u8 scale; /* enum fecap_scale_params type */
union {
__u64 uvalue; /* for counters and relative scales */
__s64 svalue; /* for 1/1000 dB measures */
};
} __packed;
.. -*- coding: utf-8; mode: rst -*-
**************
Property types
**************
On :ref:`FE_GET_PROPERTY and FE_SET_PROPERTY <FE_GET_PROPERTY>`,
the actual action is determined by the dtv_property cmd/data pairs.
With one single ioctl, is possible to get/set up to 64 properties. The
actual meaning of each property is described on the next sections.
The available frontend property types are shown on the next section.
......@@ -2,8 +2,9 @@
.. _frontend-properties:
DVB Frontend properties
=======================
**************
Property types
**************
Tuning into a Digital TV physical channel and starting decoding it
requires changing a set of parameters, in order to control the tuner,
......@@ -20,10 +21,15 @@ enough to group the structs that would be required for those new
standards. Also, extending it would break userspace.
So, the legacy union/struct based approach was deprecated, in favor
of a properties set approach.
of a properties set approach. On such approach,
:ref:`FE_GET_PROPERTY and FE_SET_PROPERTY <FE_GET_PROPERTY>` are used
to setup the frontend and read its status.
The actual action is determined by a set of dtv_property cmd/data pairs.
With one single ioctl, is possible to get/set up to 64 properties.
This section describes the new and recommended way to set the frontend,
with suppports all digital TV delivery systems.
with supports all digital TV delivery systems.
.. note::
......@@ -63,12 +69,9 @@ Mbauds, those properties should be sent to
The code that would that would do the above is show in
:ref:`dtv-prop-example`.
.. _dtv-prop-example:
Example: Setting digital TV frontend properties
===============================================
.. code-block:: c
:caption: Example: Setting digital TV frontend properties
:name: dtv-prop-example
#include <stdio.h>
#include <fcntl.h>
......@@ -112,17 +115,12 @@ Example: Setting digital TV frontend properties
provides methods for usual operations like program scanning and to
read/write channel descriptor files.
.. toctree::
:maxdepth: 1
dtv-stats
dtv-fe-stats
dtv-property
dtv-properties
dvbproperty-006
fe_property_parameters
frontend-stat-properties
frontend-property-terrestrial-systems
frontend-property-cable-systems
frontend-property-satellite-systems
frontend-header
......@@ -26,8 +26,7 @@ Arguments
File descriptor returned by :ref:`open() <frontend_f_open>`.
``argp``
pointer to struct
:c:type:`dvb_diseqc_slave_reply`
pointer to struct :c:type:`dvb_diseqc_slave_reply`.
Description
......@@ -35,42 +34,7 @@ Description
Receives reply from a DiSEqC 2.0 command.
.. c:type:: dvb_diseqc_slave_reply
.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
.. flat-table:: struct dvb_diseqc_slave_reply
:header-rows: 0
:stub-columns: 0
:widths: 1 1 2
- .. row 1
- uint8_t
- msg[4]
- DiSEqC message (framing, data[3])
- .. row 2
- uint8_t
- msg_len
- Length of the DiSEqC message. Valid values are 0 to 4, where 0
means no msg
- .. row 3
- int
- timeout
- Return from ioctl after timeout ms with errorcode when no message
was received
The received message is stored at the buffer pointed by ``argp``.
Return Value
============
......
......@@ -26,7 +26,7 @@ Arguments
File descriptor returned by :ref:`open() <frontend_f_open>`.
``tone``
an integer enumered value described at :c:type:`fe_sec_mini_cmd`
An integer enumered value described at :c:type:`fe_sec_mini_cmd`.
Description
......@@ -39,35 +39,6 @@ read/write permissions.
It provides support for what's specified at
`Digital Satellite Equipment Control (DiSEqC) - Simple "ToneBurst" Detection Circuit specification. <http://www.eutelsat.com/files/contributed/satellites/pdf/Diseqc/associated%20docs/simple_tone_burst_detec.pdf>`__
.. c:type:: fe_sec_mini_cmd
.. flat-table:: enum fe_sec_mini_cmd
:header-rows: 1
:stub-columns: 0
- .. row 1
- ID
- Description
- .. row 2
- .. _SEC-MINI-A:
``SEC_MINI_A``
- Sends a mini-DiSEqC 22kHz '0' Tone Burst to select satellite-A
- .. row 3
- .. _SEC-MINI-B:
``SEC_MINI_B``
- Sends a mini-DiSEqC 22kHz '1' Data Burst to select satellite-B
Return Value
============
......
......@@ -33,34 +33,7 @@ Arguments
Description
===========
Sends a DiSEqC command to the antenna subsystem.
.. c:type:: dvb_diseqc_master_cmd
.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
.. flat-table:: struct dvb_diseqc_master_cmd
:header-rows: 0
:stub-columns: 0
:widths: 1 1 2
- .. row 1
- uint8_t
- msg[6]
- DiSEqC message (framing, address, command, data[3])
- .. row 2
- uint8_t
- msg_len
- Length of the DiSEqC message. Valid values are 3 to 6
Sends the DiSEqC command pointed by ``argp`` to the antenna subsystem.
Return Value
============
......
......@@ -40,112 +40,6 @@ takes a pointer to dvb_frontend_info which is filled by the driver.
When the driver is not compatible with this specification the ioctl
returns an error.
.. c:type:: dvb_frontend_info
.. tabularcolumns:: |p{4.4cm}|p{4.4cm}|p{8.7cm}|
.. flat-table:: struct dvb_frontend_info
:header-rows: 0
:stub-columns: 0
:widths: 1 1 2
- .. row 1
- char
- name[128]
- Name of the frontend
- .. row 2
- fe_type_t
- type
- **DEPRECATED**. DVBv3 type. Should not be used on modern programs,
as a frontend may have more than one type. So, the DVBv5 API
should be used instead to enumerate and select the frontend type.
- .. row 3
- uint32_t
- frequency_min
- Minimal frequency supported by the frontend
- .. row 4
- uint32_t
- frequency_max
- Maximal frequency supported by the frontend
- .. row 5
- uint32_t
- frequency_stepsize
- Frequency step - all frequencies are multiple of this value
- .. row 6
- uint32_t
- frequency_tolerance
- Tolerance of the frequency
- .. row 7
- uint32_t
- symbol_rate_min
- Minimal symbol rate (for Cable/Satellite systems), in bauds
- .. row 8
- uint32_t
- symbol_rate_max
- Maximal symbol rate (for Cable/Satellite systems), in bauds
- .. row 9
- uint32_t
- symbol_rate_tolerance
- Maximal symbol rate tolerance, in ppm
- .. row 10
- uint32_t
- notifier_delay
- **DEPRECATED**. Not used by any driver.
- .. row 11
- enum :c:type:`fe_caps`
- caps
- Capabilities supported by the frontend
.. note::
The frequencies are specified in Hz for Terrestrial and Cable
systems. They're specified in kHz for Satellite systems
frontend capabilities
=====================
......@@ -153,269 +47,7 @@ frontend capabilities
Capabilities describe what a frontend can do. Some capabilities are
supported only on some specific frontend types.
.. c:type:: fe_caps
.. tabularcolumns:: |p{6.5cm}|p{11.0cm}|
.. flat-table:: enum fe_caps
:header-rows: 1
:stub-columns: 0
- .. row 1
- ID
- Description
- .. row 2
- .. _FE-IS-STUPID:
``FE_IS_STUPID``
- There's something wrong at the frontend, and it can't report its
capabilities
- .. row 3
- .. _FE-CAN-INVERSION-AUTO:
``FE_CAN_INVERSION_AUTO``
- The frontend is capable of auto-detecting inversion
- .. row 4
- .. _FE-CAN-FEC-1-2:
``FE_CAN_FEC_1_2``
- The frontend supports FEC 1/2
- .. row 5
- .. _FE-CAN-FEC-2-3:
``FE_CAN_FEC_2_3``
- The frontend supports FEC 2/3
- .. row 6
- .. _FE-CAN-FEC-3-4:
``FE_CAN_FEC_3_4``
- The frontend supports FEC 3/4
- .. row 7
- .. _FE-CAN-FEC-4-5:
``FE_CAN_FEC_4_5``
- The frontend supports FEC 4/5
- .. row 8
- .. _FE-CAN-FEC-5-6:
``FE_CAN_FEC_5_6``
- The frontend supports FEC 5/6
- .. row 9
- .. _FE-CAN-FEC-6-7:
``FE_CAN_FEC_6_7``
- The frontend supports FEC 6/7
- .. row 10
- .. _FE-CAN-FEC-7-8:
``FE_CAN_FEC_7_8``
- The frontend supports FEC 7/8
- .. row 11
- .. _FE-CAN-FEC-8-9:
``FE_CAN_FEC_8_9``
- The frontend supports FEC 8/9
- .. row 12
- .. _FE-CAN-FEC-AUTO:
``FE_CAN_FEC_AUTO``
- The frontend can autodetect FEC.
- .. row 13
- .. _FE-CAN-QPSK:
``FE_CAN_QPSK``
- The frontend supports QPSK modulation
- .. row 14
- .. _FE-CAN-QAM-16:
``FE_CAN_QAM_16``
- The frontend supports 16-QAM modulation
- .. row 15
- .. _FE-CAN-QAM-32:
``FE_CAN_QAM_32``
- The frontend supports 32-QAM modulation
- .. row 16
- .. _FE-CAN-QAM-64:
``FE_CAN_QAM_64``
- The frontend supports 64-QAM modulation
- .. row 17
- .. _FE-CAN-QAM-128:
``FE_CAN_QAM_128``
- The frontend supports 128-QAM modulation
- .. row 18
- .. _FE-CAN-QAM-256:
``FE_CAN_QAM_256``
- The frontend supports 256-QAM modulation
- .. row 19
- .. _FE-CAN-QAM-AUTO:
``FE_CAN_QAM_AUTO``
- The frontend can autodetect modulation
- .. row 20
- .. _FE-CAN-TRANSMISSION-MODE-AUTO:
``FE_CAN_TRANSMISSION_MODE_AUTO``
- The frontend can autodetect the transmission mode
- .. row 21
- .. _FE-CAN-BANDWIDTH-AUTO:
``FE_CAN_BANDWIDTH_AUTO``
- The frontend can autodetect the bandwidth
- .. row 22
- .. _FE-CAN-GUARD-INTERVAL-AUTO:
``FE_CAN_GUARD_INTERVAL_AUTO``
- The frontend can autodetect the guard interval
- .. row 23
- .. _FE-CAN-HIERARCHY-AUTO:
``FE_CAN_HIERARCHY_AUTO``
- The frontend can autodetect hierarch
- .. row 24
- .. _FE-CAN-8VSB:
``FE_CAN_8VSB``
- The frontend supports 8-VSB modulation
- .. row 25
- .. _FE-CAN-16VSB:
``FE_CAN_16VSB``
- The frontend supports 16-VSB modulation
- .. row 26
- .. _FE-HAS-EXTENDED-CAPS:
``FE_HAS_EXTENDED_CAPS``
- Currently, unused
- .. row 27
- .. _FE-CAN-MULTISTREAM:
``FE_CAN_MULTISTREAM``
- The frontend supports multistream filtering
- .. row 28
- .. _FE-CAN-TURBO-FEC:
``FE_CAN_TURBO_FEC``
- The frontend supports turbo FEC modulation
- .. row 29
- .. _FE-CAN-2G-MODULATION:
``FE_CAN_2G_MODULATION``
- The frontend supports "2nd generation modulation" (DVB-S2/T2)>
- .. row 30
- .. _FE-NEEDS-BENDING:
``FE_NEEDS_BENDING``
- Not supported anymore, don't use it
- .. row 31
- .. _FE-CAN-RECOVER:
``FE_CAN_RECOVER``
- The frontend can recover from a cable unplug automatically
- .. row 32
- .. _FE-CAN-MUTE-TS:
``FE_CAN_MUTE_TS``
- The frontend can stop spurious TS data output
The frontend capabilities are described at :c:type:`fe_caps`.
Return Value
......
......@@ -29,7 +29,7 @@ Arguments
File descriptor returned by :ref:`open() <frontend_f_open>`.
``argp``
pointer to struct :c:type:`dtv_properties`
Pointer to struct :c:type:`dtv_properties`.
Description
......
......@@ -52,89 +52,6 @@ The fe_status parameter is used to indicate the current state and/or
state changes of the frontend hardware. It is produced using the enum
:c:type:`fe_status` values on a bitmask
.. c:type:: fe_status
.. tabularcolumns:: |p{3.5cm}|p{14.0cm}|
.. _fe-status:
.. flat-table:: enum fe_status
:header-rows: 1
:stub-columns: 0
- .. row 1
- ID
- Description
- .. row 2
- .. _FE-NONE:
``FE_NONE``
- The frontend doesn't have any kind of lock. That's the initial frontend status
- .. row 3
- .. _FE-HAS-SIGNAL:
``FE_HAS_SIGNAL``
- The frontend has found something above the noise level
- .. row 4
- .. _FE-HAS-CARRIER:
``FE_HAS_CARRIER``
- The frontend has found a DVB signal
- .. row 5
- .. _FE-HAS-VITERBI:
``FE_HAS_VITERBI``
- The frontend FEC inner coding (Viterbi, LDPC or other inner code)
is stable
- .. row 6
- .. _FE-HAS-SYNC:
``FE_HAS_SYNC``
- Synchronization bytes was found
- .. row 7
- .. _FE-HAS-LOCK:
``FE_HAS_LOCK``
- The DVB were locked and everything is working
- .. row 8
- .. _FE-TIMEDOUT:
``FE_TIMEDOUT``
- no lock within the last about 2 seconds
- .. row 9
- .. _FE-REINIT:
``FE_REINIT``
- The frontend was reinitialized, application is recommended to
reset DiSEqC, tone and parameters
Return Value
============
......
......@@ -45,36 +45,6 @@ this is done using the DiSEqC ioctls.
capability of selecting the band. So, it is recommended that applications
would change to SEC_TONE_OFF when the device is not used.
.. c:type:: fe_sec_tone_mode
.. flat-table:: enum fe_sec_tone_mode
:header-rows: 1
:stub-columns: 0
- .. row 1
- ID
- Description
- .. row 2
- .. _SEC-TONE-ON:
``SEC_TONE_ON``
- Sends a 22kHz tone burst to the antenna
- .. row 3
- .. _SEC-TONE-OFF:
``SEC_TONE_OFF``
- Don't send a 22kHz tone to the antenna (except if the
FE_DISEQC_* ioctls are called)
Return Value
============
......
......@@ -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,144 +72,36 @@ 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`.
.. c:type:: fe_modulation
Modulation property
-------------------
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.
.. flat-table:: enum fe_modulation
:header-rows: 1
:stub-columns: 0
- .. row 1
- ID
- Description
- .. row 2
- .. _QPSK:
``QPSK``
- QPSK modulation
- .. row 3
- .. _QAM-16:
``QAM_16``
- 16-QAM modulation
- .. row 4
- .. _QAM-32:
``QAM_32``
- 32-QAM modulation
- .. row 5
- .. _QAM-64:
``QAM_64``
- 64-QAM modulation
- .. row 6
- .. _QAM-128:
``QAM_128``
- 128-QAM modulation
- .. row 7
- .. _QAM-256:
``QAM_256``
- 256-QAM modulation
- .. row 8
- .. _QAM-AUTO:
``QAM_AUTO``
- Autodetect QAM modulation
- .. row 9
- .. _VSB-8:
``VSB_8``
- 8-VSB modulation
- .. row 10
- .. _VSB-16:
``VSB_16``
- 16-VSB modulation
- .. row 11
- .. _PSK-8:
``PSK_8``
- 8-PSK modulation
- .. row 12
- .. _APSK-16:
``APSK_16``
- 16-APSK modulation
- .. row 13
- .. _APSK-32:
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.
======================= =======================================================
``APSK_32``
- 32-APSK modulation
- .. row 14
- .. _DQPSK:
``DQPSK``
- DQPSK modulation
- .. row 15
- .. _QAM-4-NR:
``QAM_4_NR``
- 4-QAM-NR modulation
.. note::
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.
.. _DTV-BANDWIDTH-HZ:
......@@ -249,54 +146,7 @@ DTV_INVERSION
Specifies if the frontend should do spectral inversion or not.
.. c:type:: fe_spectral_inversion
enum fe_modulation: Frontend spectral inversion
-----------------------------------------------
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.
.. flat-table:: enum fe_modulation
:header-rows: 1
:stub-columns: 0
- .. row 1
- ID
- Description
- .. row 2
- .. _INVERSION-OFF:
``INVERSION_OFF``
- Don't do spectral band inversion.
- .. row 3
- .. _INVERSION-ON:
``INVERSION_ON``
- Do spectral band inversion.
- .. row 4
- .. _INVERSION-AUTO:
``INVERSION_AUTO``
- Autodetect spectral band inversion.
The acceptable values are defined by :c:type:`fe_spectral_inversion`.
.. _DTV-DISEQC-MASTER:
......@@ -320,1525 +170,671 @@ standards.
DTV_INNER_FEC
=============
Used cable/satellite transmissions. The acceptable values are:
Used cable/satellite transmissions.
.. c:type:: fe_code_rate
The acceptable values are defined by :c:type:`fe_code_rate`.
enum fe_code_rate: type of the Forward Error Correction.
--------------------------------------------------------
.. flat-table:: enum fe_code_rate
:header-rows: 1
:stub-columns: 0
.. _DTV-VOLTAGE:
DTV_VOLTAGE
===========
- .. row 1
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.
- ID
The acceptable values are defined by :c:type:`fe_sec_voltage`.
- Description
- .. row 2
.. _DTV-TONE:
- .. _FEC-NONE:
DTV_TONE
========
``FEC_NONE``
Currently not used.
- No Forward Error Correction Code
- .. row 3
.. _DTV-PILOT:
- .. _FEC-AUTO:
DTV_PILOT
=========
``FEC_AUTO``
Sets DVB-S2 pilot.
- Autodetect Error Correction Code
The acceptable values are defined by :c:type:`fe_pilot`.
- .. row 4
- .. _FEC-1-2:
.. _DTV-ROLLOFF:
``FEC_1_2``
DTV_ROLLOFF
===========
- Forward Error Correction Code 1/2
Sets DVB-S2 rolloff
- .. row 5
The acceptable values are defined by :c:type:`fe_rolloff`.
- .. _FEC-2-3:
``FEC_2_3``
.. _DTV-DISEQC-SLAVE-REPLY:
- Forward Error Correction Code 2/3
DTV_DISEQC_SLAVE_REPLY
======================
- .. row 6
Currently not implemented.
- .. _FEC-3-4:
``FEC_3_4``
.. _DTV-FE-CAPABILITY-COUNT:
- Forward Error Correction Code 3/4
DTV_FE_CAPABILITY_COUNT
=======================
- .. row 7
Currently not implemented.
- .. _FEC-4-5:
``FEC_4_5``
.. _DTV-FE-CAPABILITY:
- Forward Error Correction Code 4/5
DTV_FE_CAPABILITY
=================
- .. row 8
Currently not implemented.
- .. _FEC-5-6:
``FEC_5_6``
.. _DTV-DELIVERY-SYSTEM:
- Forward Error Correction Code 5/6
DTV_DELIVERY_SYSTEM
===================
- .. row 9
Specifies the type of Delivery system.
- .. _FEC-6-7:
The acceptable values are defined by :c:type:`fe_delivery_system`.
``FEC_6_7``
- Forward Error Correction Code 6/7
.. _DTV-ISDBT-PARTIAL-RECEPTION:
- .. row 10
DTV_ISDBT_PARTIAL_RECEPTION
===========================
- .. _FEC-7-8:
If ``DTV_ISDBT_SOUND_BROADCASTING`` is '0' this bit-field represents
whether the channel is in partial reception mode or not.
``FEC_7_8``
If '1' ``DTV_ISDBT_LAYERA_*`` values are assigned to the center segment
and ``DTV_ISDBT_LAYERA_SEGMENT_COUNT`` has to be '1'.
- Forward Error Correction Code 7/8
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.
- .. row 11
Possible values: 0, 1, -1 (AUTO)
- .. _FEC-8-9:
``FEC_8_9``
.. _DTV-ISDBT-SOUND-BROADCASTING:
- Forward Error Correction Code 8/9
DTV_ISDBT_SOUND_BROADCASTING
============================
- .. row 12
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``).
- .. _FEC-9-10:
Possible values: 0, 1, -1 (AUTO)
``FEC_9_10``
- Forward Error Correction Code 9/10
.. _DTV-ISDBT-SB-SUBCHANNEL-ID:
- .. row 13
DTV_ISDBT_SB_SUBCHANNEL_ID
==========================
- .. _FEC-2-5:
This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
``FEC_2_5``
(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)
- Forward Error Correction Code 2/5
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.
- .. row 14
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.
- .. _FEC-3-5:
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.
``FEC_3_5``
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.
- Forward Error Correction Code 3/5
``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-VOLTAGE:
.. _DTV-ISDBT-SB-SEGMENT-IDX:
DTV_VOLTAGE
===========
DTV_ISDBT_SB_SEGMENT_IDX
========================
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.
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.
.. c:type:: fe_sec_voltage
Possible values: 0 .. ``DTV_ISDBT_SB_SEGMENT_COUNT`` - 1
.. flat-table:: enum fe_sec_voltage
:header-rows: 1
:stub-columns: 0
Note: This value cannot be determined by an automatic channel search.
- .. row 1
.. _DTV-ISDBT-SB-SEGMENT-COUNT:
- ID
DTV_ISDBT_SB_SEGMENT_COUNT
==========================
- Description
This field only applies if ``DTV_ISDBT_SOUND_BROADCASTING`` is '1'.
- .. row 2
``DTV_ISDBT_SB_SEGMENT_COUNT`` gives the total count of connected
ISDB-Tsb channels.
- .. _SEC-VOLTAGE-13:
Possible values: 1 .. 13
``SEC_VOLTAGE_13``
Note: This value cannot be determined by an automatic channel search.
- Set DC voltage level to 13V
- .. row 3
.. _isdb-hierq-layers:
- .. _SEC-VOLTAGE-18:
DTV-ISDBT-LAYER[A-C] parameters
===============================
``SEC_VOLTAGE_18``
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.
- Set DC voltage level to 18V
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.
- .. row 4
There are 3 parameter sets, for Layers A, B and C.
- .. _SEC-VOLTAGE-OFF:
``SEC_VOLTAGE_OFF``
.. _DTV-ISDBT-LAYER-ENABLED:
- Don't send any voltage to the antenna
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.
.. _DTV-TONE:
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.
DTV_TONE
========
Only the values of the first 3 bits are used. Other bits will be silently ignored:
Currently not used.
``DTV_ISDBT_LAYER_ENABLED`` bit 0: layer A enabled
``DTV_ISDBT_LAYER_ENABLED`` bit 1: layer B enabled
.. _DTV-PILOT:
``DTV_ISDBT_LAYER_ENABLED`` bit 2: layer C enabled
DTV_PILOT
=========
``DTV_ISDBT_LAYER_ENABLED`` bits 3-31: unused
Sets DVB-S2 pilot
.. _DTV-ISDBT-LAYER-FEC:
.. c:type:: fe_pilot
DTV_ISDBT_LAYER[A-C]_FEC
------------------------
fe_pilot type
-------------
The Forward Error Correction mechanism used by a given ISDB Layer, as
defined by :c:type:`fe_code_rate`.
.. flat-table:: enum fe_pilot
:header-rows: 1
:stub-columns: 0
Possible values are: ``FEC_AUTO``, ``FEC_1_2``, ``FEC_2_3``, ``FEC_3_4``,
``FEC_5_6``, ``FEC_7_8``
- .. 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.
.. _DTV-ISDBT-LAYER-MODULATION:
- .. row 4
DTV_ISDBT_LAYER[A-C]_MODULATION
-------------------------------
- .. _ATSCMH-SCCC-BLK-RES:
The modulation used by a given ISDB Layer, as defined by
:c:type:`fe_modulation`.
``ATSCMH_SCCC_BLK_RES``
Possible values are: ``QAM_AUTO``, ``QPSK``, ``QAM_16``, ``QAM_64``, ``DQPSK``
- Reserved. Shouldn't be used.
.. note::
#. If layer C is ``DQPSK``, then layer B has to be ``DQPSK``.
#. If layer B is ``DQPSK`` and ``DTV_ISDBT_PARTIAL_RECEPTION``\ = 0,
then layer has to be ``DQPSK``.
.. _DTV-ATSCMH-SCCC-CODE-MODE-A:
DTV_ATSCMH_SCCC_CODE_MODE_A
---------------------------
.. _DTV-ISDBT-LAYER-SEGMENT-COUNT:
Series Concatenated Convolutional Code Rate.
DTV_ISDBT_LAYER[A-C]_SEGMENT_COUNT
----------------------------------
Possible values are:
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``
.. c:type:: atscmh_sccc_code_mode
.. _isdbt-layer_seg-cnt-table:
.. flat-table:: enum atscmh_sccc_code_mode
.. flat-table:: Truth table for ISDB-T Sound Broadcasting
: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:
- Partial Reception
``ATSCMH_SCCC_CODE_QTR``
- Sound Broadcasting
- The outer code rate of a SCCC Block is 1/4 rate.
- Layer A width
- .. row 4
- Layer B width
- .. _ATSCMH-SCCC-CODE-RES:
- Layer C width
``ATSCMH_SCCC_CODE_RES``
- total width
- to be documented.
- .. row 2
- 0
- 0
.. _DTV-ATSCMH-SCCC-CODE-MODE-B:
- 1 .. 13
DTV_ATSCMH_SCCC_CODE_MODE_B
---------------------------
- 1 .. 13
Series Concatenated Convolutional Code Rate.
- 1 .. 13
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
- 13
- .. row 3
.. _DTV-ATSCMH-SCCC-CODE-MODE-C:
- 1
DTV_ATSCMH_SCCC_CODE_MODE_C
---------------------------
- 0
Series Concatenated Convolutional Code Rate.
- 1
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
- 1 .. 13
- 1 .. 13
.. _DTV-ATSCMH-SCCC-CODE-MODE-D:
- 13
DTV_ATSCMH_SCCC_CODE_MODE_D
---------------------------
- .. row 4
Series Concatenated Convolutional Code Rate.
- 0
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
- 1
- 1
.. _DTV-API-VERSION:
- 0
DTV_API_VERSION
===============
- 0
Returns the major/minor version of the DVB API
- 1
- .. row 5
.. _DTV-CODE-RATE-HP:
- 1
DTV_CODE_RATE_HP
================
- 1
Used on terrestrial transmissions. The acceptable values are the ones
described at :c:type:`fe_transmit_mode`.
- 1
- 2
.. _DTV-CODE-RATE-LP:
- 0
DTV_CODE_RATE_LP
================
- 13
Used on terrestrial transmissions. The acceptable values are the ones
described at :c:type:`fe_transmit_mode`.
.. _DTV-GUARD-INTERVAL:
.. _DTV-ISDBT-LAYER-TIME-INTERLEAVING:
DTV_GUARD_INTERVAL
==================
DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING
--------------------------------------
Possible values are:
Valid values: 0, 1, 2, 4, -1 (AUTO)
when DTV_ISDBT_SOUND_BROADCASTING is active, value 8 is also valid.
.. c:type:: fe_guard_interval
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.
Modulation guard interval
-------------------------
.. c:type:: isdbt_layer_interleaving_table
.. flat-table:: enum fe_guard_interval
.. flat-table:: ISDB-T time interleaving modes
:header-rows: 1
:stub-columns: 0
- .. row 1
- ID
- Description
- .. row 2
- .. _GUARD-INTERVAL-AUTO:
``GUARD_INTERVAL_AUTO``
- ``DTV_ISDBT_LAYER[A-C]_TIME_INTERLEAVING``
- Autodetect the guard interval
- Mode 1 (2K FFT)
- .. row 3
- Mode 2 (4K FFT)
- .. _GUARD-INTERVAL-1-128:
- Mode 3 (8K FFT)
``GUARD_INTERVAL_1_128``
- .. row 2
- Guard interval 1/128
- 0
- .. row 4
- 0
- .. _GUARD-INTERVAL-1-32:
- 0
``GUARD_INTERVAL_1_32``
- 0
- Guard interval 1/32
- .. row 3
- .. row 5
- 1
- .. _GUARD-INTERVAL-1-16:
- 4
``GUARD_INTERVAL_1_16``
- 2
- Guard interval 1/16
- 1
- .. row 6
- .. row 4
- .. _GUARD-INTERVAL-1-8:
- 2
``GUARD_INTERVAL_1_8``
- 8
- Guard interval 1/8
- 4
- .. row 7
- 2
- .. _GUARD-INTERVAL-1-4:
- .. row 5
``GUARD_INTERVAL_1_4``
- 4
- Guard interval 1/4
- 16
- .. row 8
- 8
- .. _GUARD-INTERVAL-19-128:
- 4
``GUARD_INTERVAL_19_128``
- Guard interval 19/128
- .. row 9
.. _DTV-ATSCMH-FIC-VER:
- .. _GUARD-INTERVAL-19-256:
DTV_ATSCMH_FIC_VER
------------------
``GUARD_INTERVAL_19_256``
Version number of the FIC (Fast Information Channel) signaling data.
- Guard interval 19/256
FIC is used for relaying information to allow rapid service acquisition
by the receiver.
- .. row 10
Possible values: 0, 1, 2, 3, ..., 30, 31
- .. _GUARD-INTERVAL-PN420:
``GUARD_INTERVAL_PN420``
.. _DTV-ATSCMH-PARADE-ID:
- PN length 420 (1/4)
DTV_ATSCMH_PARADE_ID
--------------------
- .. row 11
Parade identification number
- .. _GUARD-INTERVAL-PN595:
A parade is a collection of up to eight MH groups, conveying one or two
ensembles.
``GUARD_INTERVAL_PN595``
Possible values: 0, 1, 2, 3, ..., 126, 127
- PN length 595 (1/6)
- .. row 12
.. _DTV-ATSCMH-NOG:
- .. _GUARD-INTERVAL-PN945:
DTV_ATSCMH_NOG
--------------
``GUARD_INTERVAL_PN945``
Number of MH groups per MH subframe for a designated parade.
- PN length 945 (1/9)
Possible values: 1, 2, 3, 4, 5, 6, 7, 8
Notes:
.. _DTV-ATSCMH-TNOG:
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.
DTV_ATSCMH_TNOG
---------------
2) Intervals 1/128, 19/128 and 19/256 are used only for DVB-T2 at
present
Total number of MH groups including all MH groups belonging to all MH
parades in one MH subframe.
3) DTMB specifies PN420, PN595 and PN945.
Possible values: 0, 1, 2, 3, ..., 30, 31
.. _DTV-TRANSMISSION-MODE:
.. _DTV-ATSCMH-SGN:
DTV_TRANSMISSION_MODE
=====================
DTV_ATSCMH_SGN
--------------
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
Start group number.
Possible values: 0, 1, 2, 3, ..., 14, 15
.. c:type:: fe_transmit_mode
enum fe_transmit_mode: Number of carriers per channel
-----------------------------------------------------
.. _DTV-ATSCMH-PRC:
.. tabularcolumns:: |p{5.0cm}|p{12.5cm}|
DTV_ATSCMH_PRC
--------------
.. flat-table:: enum fe_transmit_mode
:header-rows: 1
:stub-columns: 0
Parade repetition cycle.
Possible values: 1, 2, 3, 4, 5, 6, 7, 8
- .. row 1
- ID
.. _DTV-ATSCMH-RS-FRAME-MODE:
- Description
DTV_ATSCMH_RS_FRAME_MODE
------------------------
- .. row 2
Reed Solomon (RS) frame mode.
- .. _TRANSMISSION-MODE-AUTO:
The acceptable values are defined by :c:type:`atscmh_rs_frame_mode`.
``TRANSMISSION_MODE_AUTO``
- Autodetect transmission mode. The hardware will try to find the
correct FFT-size (if capable) to fill in the missing parameters.
.. _DTV-ATSCMH-RS-FRAME-ENSEMBLE:
- .. row 3
DTV_ATSCMH_RS_FRAME_ENSEMBLE
----------------------------
- .. _TRANSMISSION-MODE-1K:
Reed Solomon(RS) frame ensemble.
``TRANSMISSION_MODE_1K``
The acceptable values are defined by :c:type:`atscmh_rs_frame_ensemble`.
- Transmission mode 1K
- .. row 4
.. _DTV-ATSCMH-RS-CODE-MODE-PRI:
- .. _TRANSMISSION-MODE-2K:
DTV_ATSCMH_RS_CODE_MODE_PRI
---------------------------
``TRANSMISSION_MODE_2K``
Reed Solomon (RS) code mode (primary).
- Transmission mode 2K
The acceptable values are defined by :c:type:`atscmh_rs_code_mode`.
- .. row 5
- .. _TRANSMISSION-MODE-8K:
.. _DTV-ATSCMH-RS-CODE-MODE-SEC:
``TRANSMISSION_MODE_8K``
DTV_ATSCMH_RS_CODE_MODE_SEC
---------------------------
- Transmission mode 8K
Reed Solomon (RS) code mode (secondary).
- .. row 6
The acceptable values are defined by :c:type:`atscmh_rs_code_mode`.
- .. _TRANSMISSION-MODE-4K:
``TRANSMISSION_MODE_4K``
.. _DTV-ATSCMH-SCCC-BLOCK-MODE:
- Transmission mode 4K
DTV_ATSCMH_SCCC_BLOCK_MODE
--------------------------
- .. row 7
Series Concatenated Convolutional Code Block Mode.
- .. _TRANSMISSION-MODE-16K:
The acceptable values are defined by :c:type:`atscmh_sccc_block_mode`.
``TRANSMISSION_MODE_16K``
- Transmission mode 16K
.. _DTV-ATSCMH-SCCC-CODE-MODE-A:
- .. row 8
DTV_ATSCMH_SCCC_CODE_MODE_A
---------------------------
- .. _TRANSMISSION-MODE-32K:
Series Concatenated Convolutional Code Rate.
``TRANSMISSION_MODE_32K``
The acceptable values are defined by :c:type:`atscmh_sccc_code_mode`.
- Transmission mode 32K
.. _DTV-ATSCMH-SCCC-CODE-MODE-B:
- .. row 9
DTV_ATSCMH_SCCC_CODE_MODE_B
---------------------------
- .. _TRANSMISSION-MODE-C1:
Series Concatenated Convolutional Code Rate.
``TRANSMISSION_MODE_C1``
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
- Single Carrier (C=1) transmission mode (DTMB)
- .. row 10
.. _DTV-ATSCMH-SCCC-CODE-MODE-C:
- .. _TRANSMISSION-MODE-C3780:
DTV_ATSCMH_SCCC_CODE_MODE_C
---------------------------
``TRANSMISSION_MODE_C3780``
Series Concatenated Convolutional Code Rate.
- Multi Carrier (C=3780) transmission mode (DTMB)
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
Notes:
.. _DTV-ATSCMH-SCCC-CODE-MODE-D:
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
DTV_ATSCMH_SCCC_CODE_MODE_D
---------------------------
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.
Series Concatenated Convolutional Code Rate.
3) DVB-T specifies 2K and 8K as valid sizes.
Possible values are the same as documented on enum
:c:type:`atscmh_sccc_code_mode`.
4) DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.
5) DTMB specifies C1 and C3780.
.. _DTV-API-VERSION:
DTV_API_VERSION
===============
.. _DTV-HIERARCHY:
Returns the major/minor version of the DVB API
DTV_HIERARCHY
=============
Frontend hierarchy
.. _DTV-CODE-RATE-HP:
DTV_CODE_RATE_HP
================
.. c:type:: fe_hierarchy
Used on terrestrial transmissions.
Frontend hierarchy
------------------
The acceptable values are defined by :c:type:`fe_transmit_mode`.
.. flat-table:: enum fe_hierarchy
:header-rows: 1
:stub-columns: 0
.. _DTV-CODE-RATE-LP:
DTV_CODE_RATE_LP
================
- .. row 1
Used on terrestrial transmissions.
- ID
The acceptable values are defined by :c:type:`fe_transmit_mode`.
- Description
- .. row 2
.. _DTV-GUARD-INTERVAL:
- .. _HIERARCHY-NONE:
DTV_GUARD_INTERVAL
==================
``HIERARCHY_NONE``
The acceptable values are defined by :c:type:`fe_guard_interval`.
- No hierarchy
.. note::
- .. row 3
#. 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.
- .. _HIERARCHY-AUTO:
.. _DTV-TRANSMISSION-MODE:
``HIERARCHY_AUTO``
DTV_TRANSMISSION_MODE
=====================
- Autodetect hierarchy (if supported)
Specifies the FFT size (with corresponds to the approximate number of
carriers) used by the standard. This is used only on OFTM-based standards,
e. g. DVB-T/T2, ISDB-T, DTMB.
- .. row 4
The acceptable values are defined by :c:type:`fe_transmit_mode`.
- .. _HIERARCHY-1:
.. note::
``HIERARCHY_1``
#. ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called
**mode** on such standard, and are numbered from 1 to 3:
- Hierarchy 1
==== ======== ========================
Mode FFT size Transmission mode
==== ======== ========================
1 2K ``TRANSMISSION_MODE_2K``
2 4K ``TRANSMISSION_MODE_4K``
3 8K ``TRANSMISSION_MODE_8K``
==== ======== ========================
- .. row 5
#. 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.
- .. _HIERARCHY-2:
#. DVB-T specifies 2K and 8K as valid sizes.
``HIERARCHY_2``
#. DVB-T2 specifies 1K, 2K, 4K, 8K, 16K and 32K.
- Hierarchy 2
#. DTMB specifies C1 and C3780.
- .. row 6
- .. _HIERARCHY-4:
.. _DTV-HIERARCHY:
``HIERARCHY_4``
DTV_HIERARCHY
=============
- Hierarchy 4
Frontend hierarchy.
The acceptable values are defined by :c:type:`fe_hierarchy`.
.. _DTV-STREAM-ID:
......@@ -1884,60 +880,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:
......
Frontend uAPI data types
========================
.. kernel-doc:: include/uapi/linux/dvb/frontend.h
......@@ -562,10 +562,10 @@ enum fe_pilot {
};
/**
* enum fe_rolloff - Rolloff factor (also known as alpha)
* @ROLLOFF_35: Roloff factor: 35%
* @ROLLOFF_20: Roloff factor: 20%
* @ROLLOFF_25: Roloff factor: 25%
* enum fe_rolloff - Rolloff factor
* @ROLLOFF_35: Roloff factor: α=35%
* @ROLLOFF_20: Roloff factor: α=20%
* @ROLLOFF_25: Roloff factor: α=25%
* @ROLLOFF_AUTO: Auto-detect the roloff factor.
*
* .. note:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment