diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-09-16 22:22:05 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-09-18 23:14:36 -0400 |
commit | 453d63c6a1afff9aa7e83ac9c3a9dbd6254a1fcd (patch) | |
tree | fe2303d074dfc40aa5c8270566a00bf6dad22d5a | |
parent | aaeab30f753d9499e04979e2a5a7feadba18c39d (diff) |
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>
-rw-r--r-- | Documentation/DocBook/dvb/.gitignore | 1 | ||||
-rw-r--r-- | Documentation/DocBook/dvb/dvbapi.xml | 8 | ||||
-rw-r--r-- | Documentation/DocBook/dvb/frontend.xml | 1 | ||||
-rw-r--r-- | Documentation/DocBook/dvb/isdbt.xml | 313 | ||||
-rw-r--r-- | Documentation/DocBook/v4l/.gitignore | 1 |
5 files changed, 324 insertions, 0 deletions
diff --git a/Documentation/DocBook/dvb/.gitignore b/Documentation/DocBook/dvb/.gitignore new file mode 100644 index 000000000000..d7ec32eafac9 --- /dev/null +++ b/Documentation/DocBook/dvb/.gitignore | |||
@@ -0,0 +1 @@ | |||
!*.xml | |||
diff --git a/Documentation/DocBook/dvb/dvbapi.xml b/Documentation/DocBook/dvb/dvbapi.xml index d53ca4e98e84..4fc5b23470a3 100644 --- a/Documentation/DocBook/dvb/dvbapi.xml +++ b/Documentation/DocBook/dvb/dvbapi.xml | |||
@@ -30,6 +30,14 @@ | |||
30 | <revhistory> | 30 | <revhistory> |
31 | <!-- Put document revisions here, newest first. --> | 31 | <!-- Put document revisions here, newest first. --> |
32 | <revision> | 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 | <revnumber>2.0.0</revnumber> | 41 | <revnumber>2.0.0</revnumber> |
34 | <date>2009-09-06</date> | 42 | <date>2009-09-06</date> |
35 | <authorinitials>mcc</authorinitials> | 43 | <authorinitials>mcc</authorinitials> |
diff --git a/Documentation/DocBook/dvb/frontend.xml b/Documentation/DocBook/dvb/frontend.xml index 028c9f23f0d4..9d89a7b94fd5 100644 --- a/Documentation/DocBook/dvb/frontend.xml +++ b/Documentation/DocBook/dvb/frontend.xml | |||
@@ -1763,3 +1763,4 @@ modulation mode which can be one of the following: | |||
1763 | </row></tbody></tgroup></informaltable> | 1763 | </row></tbody></tgroup></informaltable> |
1764 | </section> | 1764 | </section> |
1765 | </section> | 1765 | </section> |
1766 | &sub-isdbt; | ||
diff --git a/Documentation/DocBook/dvb/isdbt.xml b/Documentation/DocBook/dvb/isdbt.xml new file mode 100644 index 000000000000..39e4696f1f00 --- /dev/null +++ b/Documentation/DocBook/dvb/isdbt.xml | |||
@@ -0,0 +1,313 @@ | |||
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> | ||
diff --git a/Documentation/DocBook/v4l/.gitignore b/Documentation/DocBook/v4l/.gitignore new file mode 100644 index 000000000000..d7ec32eafac9 --- /dev/null +++ b/Documentation/DocBook/v4l/.gitignore | |||
@@ -0,0 +1 @@ | |||
!*.xml | |||