Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

V4L/DVB (12915): DocBook/media: Add isdb-t documentation

Adds ISDB-T_and_ISDB-Tsb_with_S2API spec converted into DocBook format.

The text is authored by Patrick Boettcher, and was converted to DocBook
by me.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>

+324
+1
Documentation/DocBook/dvb/.gitignore
··· 1 + !*.xml
+8
Documentation/DocBook/dvb/dvbapi.xml
··· 30 30 <revhistory> 31 31 <!-- Put document revisions here, newest first. --> 32 32 <revision> 33 + <revnumber>2.0.1</revnumber> 34 + <date>2009-09-16</date> 35 + <authorinitials>mcc</authorinitials> 36 + <revremark> 37 + Added ISDB-T test originally written by Patrick Boettcher 38 + </revremark> 39 + </revision> 40 + <revision> 33 41 <revnumber>2.0.0</revnumber> 34 42 <date>2009-09-06</date> 35 43 <authorinitials>mcc</authorinitials>
+1
Documentation/DocBook/dvb/frontend.xml
··· 1763 1763 </row></tbody></tgroup></informaltable> 1764 1764 </section> 1765 1765 </section> 1766 + &sub-isdbt;
+313
Documentation/DocBook/dvb/isdbt.xml
··· 1 + <section id="isdbt"> 2 + <title>ISDB-T frontend</title> 3 + <para>This section describes shortly what are the possible parameters in the Linux 4 + DVB-API called "S2API" and now DVB API 5 in order to tune an ISDB-T/ISDB-Tsb 5 + demodulator:</para> 6 + 7 + <para>This ISDB-T/ISDB-Tsb API extension should reflect all information 8 + needed to tune any ISDB-T/ISDB-Tsb hardware. Of course it is possible 9 + that some very sophisticated devices won't need certain parameters to 10 + tune.</para> 11 + 12 + <para>The information given here should help application writers to know how 13 + to handle ISDB-T and ISDB-Tsb hardware using the Linux DVB-API.</para> 14 + 15 + <para>The details given here about ISDB-T and ISDB-Tsb are just enough to 16 + basically show the dependencies between the needed parameter values, 17 + but surely some information is left out. For more detailed information 18 + see the following documents:</para> 19 + 20 + <para>ARIB STD-B31 - "Transmission System for Digital Terrestrial 21 + Television Broadcasting" and</para> 22 + <para>ARIB TR-B14 - "Operational Guidelines for Digital Terrestrial 23 + Television Broadcasting".</para> 24 + 25 + <para>In order to read this document one has to have some knowledge the 26 + channel structure in ISDB-T and ISDB-Tsb. I.e. it has to be known to 27 + the reader that an ISDB-T channel consists of 13 segments, that it can 28 + have up to 3 layer sharing those segments, and things like that.</para> 29 + 30 + <para>Parameters used by ISDB-T and ISDB-Tsb.</para> 31 + 32 + <section id="isdbt-parms"> 33 + <title>Parameters that are common with DVB-T and ATSC</title> 34 + 35 + <section id="isdbt-freq"> 36 + <title><constant>DTV_FREQUENCY</constant></title> 37 + 38 + <para>Central frequency of the channel.</para> 39 + 40 + <para>For ISDB-T the channels are usally transmitted with an offset of 143kHz. E.g. a 41 + valid frequncy could be 474143 kHz. The stepping is bound to the bandwidth of 42 + the channel which is 6MHz.</para> 43 + 44 + <para>As in ISDB-Tsb the channel consists of only one or three segments the 45 + frequency step is 429kHz, 3*429 respectively. As for ISDB-T the 46 + central frequency of the channel is expected.</para> 47 + </section> 48 + 49 + <section id="isdbt-bw"> 50 + <title><constant>DTV_BANDWIDTH_HZ</constant> (optional)</title> 51 + 52 + <para>Possible values:</para> 53 + 54 + <para>For ISDB-T it should be always 6000000Hz (6MHz)</para> 55 + <para>For ISDB-Tsb it can vary depending on the number of connected segments</para> 56 + 57 + <para>Note: Hardware specific values might be given here, but standard 58 + applications should not bother to set a value to this field as 59 + standard demods are ignoring it anyway.</para> 60 + 61 + <para>Bandwidth in ISDB-T is fixed (6MHz) or can be easily derived from 62 + other parameters (DTV_ISDBT_SB_SEGMENT_IDX, 63 + DTV_ISDBT_SB_SEGMENT_COUNT).</para> 64 + </section> 65 + 66 + <section id="isdbt-delivery-sys"> 67 + <title><constant>DTV_DELIVERY_SYSTEM</constant></title> 68 + 69 + <para>Possible values: <constant>SYS_ISDBT</constant></para> 70 + </section> 71 + 72 + <section id="isdbt-tx-mode"> 73 + <title><constant>DTV_TRANSMISSION_MODE</constant></title> 74 + 75 + <para>ISDB-T supports three carrier/symbol-size: 8K, 4K, 2K. It is called 76 + 'mode' in the standard: Mode 1 is 2K, mode 2 is 4K, mode 3 is 8K</para> 77 + 78 + <para>Possible values: <constant>TRANSMISSION_MODE_2K</constant>, <constant>TRANSMISSION_MODE_8K</constant>, 79 + <constant>TRANSMISSION_MODE_AUTO</constant>, <constant>TRANSMISSION_MODE_4K</constant></para> 80 + 81 + <para>If <constant>DTV_TRANSMISSION_MODE</constant> is set the <constant>TRANSMISSION_MODE_AUTO</constant> the 82 + hardware will try to find the correct FFT-size (if capable) and will 83 + use TMCC to fill in the missing parameters.</para> 84 + 85 + <para><constant>TRANSMISSION_MODE_4K</constant> is added at the same time as the other new parameters.</para> 86 + </section> 87 + 88 + <section id="isdbt-guard-interval"> 89 + <title><constant>DTV_GUARD_INTERVAL</constant></title> 90 + 91 + <para>Possible values: <constant>GUARD_INTERVAL_1_32</constant>, <constant>GUARD_INTERVAL_1_16</constant>, <constant>GUARD_INTERVAL_1_8</constant>, 92 + <constant>GUARD_INTERVAL_1_4</constant>, <constant>GUARD_INTERVAL_AUTO</constant></para> 93 + 94 + <para>If <constant>DTV_GUARD_INTERVAL</constant> is set the <constant>GUARD_INTERVAL_AUTO</constant> the hardware will 95 + try to find the correct guard interval (if capable) and will use TMCC to fill 96 + in the missing parameters.</para> 97 + </section> 98 + </section> 99 + <section id="isdbt-new-parms">ISDB-T only parameters 100 + 101 + <section id="isdbt-part-rec"> 102 + <title><constant>DTV_ISDBT_PARTIAL_RECEPTION</constant></title> 103 + 104 + <para><constant>If DTV_ISDBT_SOUND_BROADCASTING</constant> is '0' this bit-field represents whether 105 + the channel is in partial reception mode or not.</para> 106 + 107 + <para>If '1' <constant>DTV_ISDBT_LAYERA_*</constant> values are assigned to the center segment and 108 + <constant>DTV_ISDBT_LAYERA_SEGMENT_COUNT</constant> has to be '1'.</para> 109 + 110 + <para>If in addition <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1' 111 + <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> represents whether this ISDB-Tsb channel 112 + is consisting of one segment and layer or three segments and two layers.</para> 113 + 114 + <para>Possible values: 0, 1, -1 (AUTO)</para> 115 + </section> 116 + 117 + <section id="isdbt-sound-bcast"> 118 + <title><constant>DTV_ISDBT_SOUND_BROADCASTING</constant></title> 119 + 120 + <para>This field represents whether the other DTV_ISDBT_*-parameters are 121 + referring to an ISDB-T and an ISDB-Tsb channel. (See also 122 + <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>).</para> 123 + 124 + Possible values: 0, 1, -1 (AUTO) 125 + </section> 126 + 127 + <section id="isdbt-sb-ch-id"> 128 + <title><constant>DTV_ISDBT_SB_SUBCHANNEL_ID</constant></title> 129 + 130 + <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para> 131 + 132 + <para>(Note of the author: This might not be the correct description of the 133 + <constant>SUBCHANNEL-ID</constant> in all details, but it is my understanding of the technical 134 + background needed to program a device)</para> 135 + 136 + <para>An ISDB-Tsb channel (1 or 3 segments) can be broadcasted alone or in a 137 + set of connected ISDB-Tsb channels. In this set of channels every 138 + channel can be received independently. The number of connected 139 + ISDB-Tsb segment can vary, e.g. depending on the frequency spectrum 140 + bandwidth available.</para> 141 + 142 + <para>Example: Assume 8 ISDB-Tsb connected segments are broadcasted. The 143 + broadcaster has several possibilities to put those channels in the 144 + air: Assuming a normal 13-segment ISDB-T spectrum he can align the 8 145 + segments from position 1-8 to 5-13 or anything in between.</para> 146 + 147 + <para>The underlying layer of segments are subchannels: each segment is 148 + consisting of several subchannels with a predefined IDs. A sub-channel 149 + is used to help the demodulator to synchronize on the channel.</para> 150 + 151 + <para>An ISDB-T channel is always centered over all sub-channels. As for 152 + the example above, in ISDB-Tsb it is no longer as simple as that.</para> 153 + 154 + <para><constant>The DTV_ISDBT_SB_SUBCHANNEL_ID</constant> parameter is used to give the 155 + sub-channel ID of the segment to be demodulated.</para> 156 + 157 + <para>Possible values: 0 .. 41, -1 (AUTO)</para> 158 + </section> 159 + 160 + <section id="isdbt-sb-seg-idx"> 161 + 162 + <title><constant>DTV_ISDBT_SB_SEGMENT_IDX</constant></title> 163 + 164 + <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para> 165 + 166 + <para><constant>DTV_ISDBT_SB_SEGMENT_IDX</constant> gives the index of the segment to be 167 + demodulated for an ISDB-Tsb channel where several of them are 168 + transmitted in the connected manner.</para> 169 + 170 + <para>Possible values: 0 .. <constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant> - 1</para> 171 + 172 + <para>Note: This value cannot be determined by an automatic channel search.</para> 173 + </section> 174 + 175 + <section id="isdbt-sb-seg-cnt"> 176 + <title><constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant></title> 177 + 178 + <para>This field only applies if <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> is '1'.</para> 179 + 180 + <para><constant>DTV_ISDBT_SB_SEGMENT_COUNT</constant> gives the total count of connected ISDB-Tsb 181 + channels.</para> 182 + 183 + <para>Possible values: 1 .. 13</para> 184 + 185 + <para>Note: This value cannot be determined by an automatic channel search.</para> 186 + </section> 187 + 188 + <section id="isdb-hierq-layers"> 189 + <title>Hierarchical layers</title> 190 + 191 + <para>ISDB-T channels can be coded hierarchically. As opposed to DVB-T in 192 + ISDB-T hierarchical layers can be decoded simultaneously. For that 193 + reason a ISDB-T demodulator has 3 viterbi and 3 reed-solomon-decoders.</para> 194 + 195 + <para>ISDB-T has 3 hierarchical layers which each can use a part of the 196 + available segments. The total number of segments over all layers has 197 + to 13 in ISDB-T.</para> 198 + 199 + <section id="isdbt-layer-ena"> 200 + <title><constant>DTV_ISDBT_LAYER_ENABLED</constant></title> 201 + 202 + <para>Hierarchical reception in ISDB-T is achieved by enabling or disabling 203 + layers in the decoding process. Setting all bits of 204 + <constant>DTV_ISDBT_LAYER_ENABLED</constant> to '1' forces all layers (if applicable) to be 205 + demodulated. This is the default.</para> 206 + 207 + <para>If the channel is in the partial reception mode 208 + (<constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> = 1) the central segment can be decoded 209 + independently of the other 12 segments. In that mode layer A has to 210 + have a <constant>SEGMENT_COUNT</constant> of 1.</para> 211 + 212 + <para>In ISDB-Tsb only layer A is used, it can be 1 or 3 in ISDB-Tsb 213 + according to <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>. <constant>SEGMENT_COUNT</constant> must be filled 214 + accordingly.</para> 215 + 216 + <para>Possible values: 0x1, 0x2, 0x4 (|-able)</para> 217 + 218 + <para><constant>DTV_ISDBT_LAYER_ENABLED[0:0]</constant> - layer A</para> 219 + <para><constant>DTV_ISDBT_LAYER_ENABLED[1:1]</constant> - layer B</para> 220 + <para><constant>DTV_ISDBT_LAYER_ENABLED[2:2]</constant> - layer C</para> 221 + <para><constant>DTV_ISDBT_LAYER_ENABLED[31:3]</constant> unused</para> 222 + </section> 223 + 224 + <section id="isdbt-layer-fec"> 225 + <title><constant>DTV_ISDBT_LAYER*_FEC</constant></title> 226 + 227 + <para>Possible values: <constant>FEC_AUTO</constant>, <constant>FEC_1_2</constant>, <constant>FEC_2_3</constant>, <constant>FEC_3_4</constant>, <constant>FEC_5_6</constant>, <constant>FEC_7_8</constant></para> 228 + </section> 229 + 230 + <section id="isdbt-layer-mod"> 231 + <title><constant>DTV_ISDBT_LAYER*_MODULATION</constant></title> 232 + 233 + <para>Possible values: <constant>QAM_AUTO</constant>, QP<constant>SK, QAM_16</constant>, <constant>QAM_64</constant>, <constant>DQPSK</constant></para> 234 + 235 + <para>Note: If layer C is <constant>DQPSK</constant> layer B has to be <constant>DQPSK</constant>. If layer B is <constant>DQPSK</constant> 236 + and <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant>=0 layer has to be <constant>DQPSK</constant>.</para> 237 + </section> 238 + 239 + <section id="isdbt-layer-seg-cnt"> 240 + <title><constant>DTV_ISDBT_LAYER*_SEGMENT_COUNT</constant></title> 241 + 242 + <para>Possible values: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, -1 (AUTO)</para> 243 + 244 + <para>Note: Truth table for <constant>DTV_ISDBT_SOUND_BROADCASTING</constant> and 245 + <constant>DTV_ISDBT_PARTIAL_RECEPTION</constant> and <constant>LAYER</constant>*_SEGMENT_COUNT</para> 246 + 247 + <informaltable id="isdbt-layer_seg-cnt-table"> 248 + <tgroup cols="6"> 249 + 250 + <tbody> 251 + <row> 252 + <entry>PR</entry> 253 + <entry>SB</entry> 254 + <entry>Layer A width</entry> 255 + <entry>Layer B width</entry> 256 + <entry>Layer C width</entry> 257 + <entry>total width</entry> 258 + </row> 259 + 260 + <row> 261 + <entry>0</entry> 262 + <entry>0</entry> 263 + <entry>1 .. 13</entry> 264 + <entry>1 .. 13</entry> 265 + <entry>1 .. 13</entry> 266 + <entry>13</entry> 267 + </row> 268 + 269 + <row> 270 + <entry>1</entry> 271 + <entry>0</entry> 272 + <entry>1</entry> 273 + <entry>1 .. 13</entry> 274 + <entry>1 .. 13</entry> 275 + <entry>13</entry> 276 + </row> 277 + 278 + <row> 279 + <entry>0</entry> 280 + <entry>1</entry> 281 + <entry>1</entry> 282 + <entry>0</entry> 283 + <entry>0</entry> 284 + <entry>1</entry> 285 + </row> 286 + 287 + <row> 288 + <entry>1</entry> 289 + <entry>1</entry> 290 + <entry>1</entry> 291 + <entry>2</entry> 292 + <entry>0</entry> 293 + <entry>13</entry> 294 + </row> 295 + </tbody> 296 + 297 + </tgroup> 298 + </informaltable> 299 + 300 + </section> 301 + 302 + <section id="isdbt_layer_t_interl"> 303 + <title><constant>DTV_ISDBT_LAYER*_TIME_INTERLEAVING</constant></title> 304 + 305 + <para>Possible values: 0, 1, 2, 3, -1 (AUTO)</para> 306 + 307 + <para>Note: The real inter-leaver depth-names depend on the mode (fft-size); the values 308 + here are referring to what can be found in the TMCC-structure - 309 + independent of the mode.</para> 310 + </section> 311 + </section> 312 + </section> 313 + </section>
+1
Documentation/DocBook/v4l/.gitignore
··· 1 + !*.xml