| .. SPDX-License-Identifier: GPL-2.0 | |
| ============================== | |
| Using the Digital TV Framework | |
| ============================== | |
| Introduction | |
| ~~~~~~~~~~~~ | |
| One significant difference between Digital TV and Analogue TV that the | |
| unwary (like myself) should consider is that, although the component | |
| structure of DVB-T cards are substantially similar to Analogue TV cards, | |
| they function in substantially different ways. | |
| The purpose of an Analogue TV is to receive and display an Analogue | |
| Television signal. An Analogue TV signal (otherwise known as composite | |
| video) is an analogue encoding of a sequence of image frames (25 frames | |
| per second in Europe) rasterised using an interlacing technique. | |
| Interlacing takes two fields to represent one frame. Therefore, an | |
| Analogue TV card for a PC has the following purpose: | |
| * Tune the receiver to receive a broadcast signal | |
| * demodulate the broadcast signal | |
| * demultiplex the analogue video signal and analogue audio | |
| signal. | |
| .. note:: | |
| some countries employ a digital audio signal | |
| embedded within the modulated composite analogue signal - | |
| using NICAM signaling.) | |
| * digitize the analogue video signal and make the resulting datastream | |
| available to the data bus. | |
| The digital datastream from an Analogue TV card is generated by | |
| circuitry on the card and is often presented uncompressed. For a PAL TV | |
| signal encoded at a resolution of 768x576 24-bit color pixels over 25 | |
| frames per second - a fair amount of data is generated and must be | |
| processed by the PC before it can be displayed on the video monitor | |
| screen. Some Analogue TV cards for PCs have onboard MPEG2 encoders which | |
| permit the raw digital data stream to be presented to the PC in an | |
| encoded and compressed form - similar to the form that is used in | |
| Digital TV. | |
| The purpose of a simple budget digital TV card (DVB-T,C or S) is to | |
| simply: | |
| * Tune the received to receive a broadcast signal. * Extract the encoded | |
| digital datastream from the broadcast signal. | |
| * Make the encoded digital datastream (MPEG2) available to the data bus. | |
| The significant difference between the two is that the tuner on the | |
| analogue TV card spits out an Analogue signal, whereas the tuner on the | |
| digital TV card spits out a compressed encoded digital datastream. As | |
| the signal is already digitised, it is trivial to pass this datastream | |
| to the PC databus with minimal additional processing and then extract | |
| the digital video and audio datastreams passing them to the appropriate | |
| software or hardware for decoding and viewing. | |
| Getting the card going | |
| ~~~~~~~~~~~~~~~~~~~~~~ | |
| The Device Driver API for DVB under Linux will the following | |
| device nodes via the devfs filesystem: | |
| * /dev/dvb/adapter0/demux0 | |
| * /dev/dvb/adapter0/dvr0 | |
| * /dev/dvb/adapter0/frontend0 | |
| The ``/dev/dvb/adapter0/dvr0`` device node is used to read the MPEG2 | |
| Data Stream and the ``/dev/dvb/adapter0/frontend0`` device node is used | |
| to tune the frontend tuner module. The ``/dev/dvb/adapter0/demux0`` is | |
| used to control what programs will be received. | |
| Depending on the card's feature set, the Device Driver API could also | |
| expose other device nodes: | |
| * /dev/dvb/adapter0/ca0 | |
| * /dev/dvb/adapter0/audio0 | |
| * /dev/dvb/adapter0/net0 | |
| * /dev/dvb/adapter0/osd0 | |
| * /dev/dvb/adapter0/video0 | |
| The ``/dev/dvb/adapter0/ca0`` is used to decode encrypted channels. The | |
| other device nodes are found only on devices that use the av7110 | |
| driver, with is now obsoleted, together with the extra API whose such | |
| devices use. | |
| Receiving a digital TV channel | |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| This section attempts to explain how it works and how this affects the | |
| configuration of a Digital TV card. | |
| On this example, we're considering tuning into DVB-T channels in | |
| Australia, at the Melbourne region. | |
| The frequencies broadcast by Mount Dandenong transmitters are, | |
| currently: | |
| Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus. | |
| =========== =========== | |
| Broadcaster Frequency | |
| =========== =========== | |
| Seven 177.500 Mhz | |
| SBS 184.500 Mhz | |
| Nine 191.625 Mhz | |
| Ten 219.500 Mhz | |
| ABC 226.500 Mhz | |
| Channel 31 557.625 Mhz | |
| =========== =========== | |
| The digital TV Scan utilities (like dvbv5-scan) have use a set of | |
| compiled-in defaults for various countries and regions. Those are | |
| currently provided as a separate package, called dtv-scan-tables. It's | |
| git tree is located at LinuxTV.org: | |
| https://git.linuxtv.org/dtv-scan-tables.git/ | |
| If none of the tables there suit, you can specify a data file on the | |
| command line which contains the transponder frequencies. Here is a | |
| sample file for the above channel transponders, in the old "channel" | |
| format:: | |
| # Data file for DVB scan program | |
| # | |
| # C Frequency SymbolRate FEC QAM | |
| # S Frequency Polarisation SymbolRate FEC | |
| # T Frequency Bandwidth FEC FEC2 QAM Mode Guard Hier | |
| T 177500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE | |
| T 184500000 7MHz AUTO AUTO QAM64 8k 1/8 NONE | |
| T 191625000 7MHz AUTO AUTO QAM64 8k 1/16 NONE | |
| T 219500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE | |
| T 226500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE | |
| T 557625000 7MHz AUTO AUTO QPSK 8k 1/16 NONE | |
| Nowadays, we prefer to use a newer format, with is more verbose and easier | |
| to understand. With the new format, the "Seven" channel transponder's | |
| data is represented by:: | |
| [Seven] | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 177500000 | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = AUTO | |
| CODE_RATE_LP = AUTO | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| INVERSION = AUTO | |
| For an updated version of the complete table, please see: | |
| https://git.linuxtv.org/dtv-scan-tables.git/tree/dvb-t/au-Melbourne | |
| When the Digital TV scanning utility runs, it will output a file | |
| containing the information for all the audio and video programs that | |
| exists into each channel's transponders which the card's frontend can | |
| lock onto. (i.e. any whose signal is strong enough at your antenna). | |
| Here's the output of the dvbv5 tools from a channel scan took from | |
| Melburne:: | |
| [ABC HDTV] | |
| SERVICE_ID = 560 | |
| VIDEO_PID = 2307 | |
| AUDIO_PID = 0 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 226500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 3/4 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [ABC TV Melbourne] | |
| SERVICE_ID = 561 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 226500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 3/4 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [ABC TV 2] | |
| SERVICE_ID = 562 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 226500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 3/4 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [ABC TV 3] | |
| SERVICE_ID = 563 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 226500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 3/4 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [ABC TV 4] | |
| SERVICE_ID = 564 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 226500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 3/4 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [ABC DiG Radio] | |
| SERVICE_ID = 566 | |
| VIDEO_PID = 0 | |
| AUDIO_PID = 2311 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 226500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 3/4 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [TEN Digital] | |
| SERVICE_ID = 1585 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 219500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [TEN Digital 1] | |
| SERVICE_ID = 1586 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 219500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [TEN Digital 2] | |
| SERVICE_ID = 1587 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 219500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [TEN Digital 3] | |
| SERVICE_ID = 1588 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 219500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [TEN Digital] | |
| SERVICE_ID = 1589 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 219500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [TEN Digital 4] | |
| SERVICE_ID = 1590 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 219500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [TEN Digital] | |
| SERVICE_ID = 1591 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 219500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [TEN HD] | |
| SERVICE_ID = 1592 | |
| VIDEO_PID = 514 | |
| AUDIO_PID = 0 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 219500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [TEN Digital] | |
| SERVICE_ID = 1593 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 650 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 219500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [Nine Digital] | |
| SERVICE_ID = 1072 | |
| VIDEO_PID = 513 | |
| AUDIO_PID = 660 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 191625000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [Nine Digital HD] | |
| SERVICE_ID = 1073 | |
| VIDEO_PID = 512 | |
| AUDIO_PID = 0 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 191625000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [Nine Guide] | |
| SERVICE_ID = 1074 | |
| VIDEO_PID = 514 | |
| AUDIO_PID = 670 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 191625000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 3/4 | |
| CODE_RATE_LP = 1/2 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/16 | |
| HIERARCHY = NONE | |
| [7 Digital] | |
| SERVICE_ID = 1328 | |
| VIDEO_PID = 769 | |
| AUDIO_PID = 770 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 177500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [7 Digital 1] | |
| SERVICE_ID = 1329 | |
| VIDEO_PID = 769 | |
| AUDIO_PID = 770 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 177500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [7 Digital 2] | |
| SERVICE_ID = 1330 | |
| VIDEO_PID = 769 | |
| AUDIO_PID = 770 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 177500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [7 Digital 3] | |
| SERVICE_ID = 1331 | |
| VIDEO_PID = 769 | |
| AUDIO_PID = 770 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 177500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [7 HD Digital] | |
| SERVICE_ID = 1332 | |
| VIDEO_PID = 833 | |
| AUDIO_PID = 834 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 177500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [7 Program Guide] | |
| SERVICE_ID = 1334 | |
| VIDEO_PID = 865 | |
| AUDIO_PID = 866 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 177500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [SBS HD] | |
| SERVICE_ID = 784 | |
| VIDEO_PID = 102 | |
| AUDIO_PID = 103 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 536500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [SBS DIGITAL 1] | |
| SERVICE_ID = 785 | |
| VIDEO_PID = 161 | |
| AUDIO_PID = 81 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 536500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [SBS DIGITAL 2] | |
| SERVICE_ID = 786 | |
| VIDEO_PID = 162 | |
| AUDIO_PID = 83 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 536500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [SBS EPG] | |
| SERVICE_ID = 787 | |
| VIDEO_PID = 163 | |
| AUDIO_PID = 85 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 536500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [SBS RADIO 1] | |
| SERVICE_ID = 798 | |
| VIDEO_PID = 0 | |
| AUDIO_PID = 201 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 536500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE | |
| [SBS RADIO 2] | |
| SERVICE_ID = 799 | |
| VIDEO_PID = 0 | |
| AUDIO_PID = 202 | |
| DELIVERY_SYSTEM = DVBT | |
| FREQUENCY = 536500000 | |
| INVERSION = OFF | |
| BANDWIDTH_HZ = 7000000 | |
| CODE_RATE_HP = 2/3 | |
| CODE_RATE_LP = 2/3 | |
| MODULATION = QAM/64 | |
| TRANSMISSION_MODE = 8K | |
| GUARD_INTERVAL = 1/8 | |
| HIERARCHY = NONE |