Merge tag 'for-5.15/parisc-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller...
[linux-2.6-microblaze.git] / Documentation / admin-guide / media / dvb_intro.rst
1 .. SPDX-License-Identifier: GPL-2.0
2
3 ==============================
4 Using the Digital TV Framework
5 ==============================
6
7 Introduction
8 ~~~~~~~~~~~~
9
10 One significant difference between Digital TV and Analogue TV that the
11 unwary (like myself) should consider is that, although the component
12 structure of DVB-T cards are substantially similar to Analogue TV cards,
13 they function in substantially different ways.
14
15 The purpose of an Analogue TV is to receive and display an Analogue
16 Television signal. An Analogue TV signal (otherwise known as composite
17 video) is an analogue encoding of a sequence of image frames (25 frames
18 per second in Europe) rasterised using an interlacing technique.
19 Interlacing takes two fields to represent one frame. Therefore, an
20 Analogue TV card for a PC has the following purpose:
21
22 * Tune the receiver to receive a broadcast signal
23 * demodulate the broadcast signal
24 * demultiplex the analogue video signal and analogue audio
25   signal.
26
27   .. note::
28
29      some countries employ a digital audio signal
30      embedded within the modulated composite analogue signal -
31      using NICAM signaling.)
32
33 * digitize the analogue video signal and make the resulting datastream
34   available to the data bus.
35
36 The digital datastream from an Analogue TV card is generated by
37 circuitry on the card and is often presented uncompressed. For a PAL TV
38 signal encoded at a resolution of 768x576 24-bit color pixels over 25
39 frames per second - a fair amount of data is generated and must be
40 processed by the PC before it can be displayed on the video monitor
41 screen. Some Analogue TV cards for PCs have onboard MPEG2 encoders which
42 permit the raw digital data stream to be presented to the PC in an
43 encoded and compressed form - similar to the form that is used in
44 Digital TV.
45
46 The purpose of a simple budget digital TV card (DVB-T,C or S) is to
47 simply:
48
49 * Tune the received to receive a broadcast signal. * Extract the encoded
50   digital datastream from the broadcast signal.
51 * Make the encoded digital datastream (MPEG2) available to the data bus.
52
53 The significant difference between the two is that the tuner on the
54 analogue TV card spits out an Analogue signal, whereas the tuner on the
55 digital TV card spits out a compressed encoded digital datastream. As
56 the signal is already digitised, it is trivial to pass this datastream
57 to the PC databus with minimal additional processing and then extract
58 the digital video and audio datastreams passing them to the appropriate
59 software or hardware for decoding and viewing.
60
61 Getting the card going
62 ~~~~~~~~~~~~~~~~~~~~~~
63
64 The Device Driver API for DVB under Linux will the following
65 device nodes via the devfs filesystem:
66
67 * /dev/dvb/adapter0/demux0
68 * /dev/dvb/adapter0/dvr0
69 * /dev/dvb/adapter0/frontend0
70
71 The ``/dev/dvb/adapter0/dvr0`` device node is used to read the MPEG2
72 Data Stream and the ``/dev/dvb/adapter0/frontend0`` device node is used
73 to tune the frontend tuner module. The ``/dev/dvb/adapter0/demux0`` is
74 used to control what programs will be received.
75
76 Depending on the card's feature set, the Device Driver API could also
77 expose other device nodes:
78
79 * /dev/dvb/adapter0/ca0
80 * /dev/dvb/adapter0/audio0
81 * /dev/dvb/adapter0/net0
82 * /dev/dvb/adapter0/osd0
83 * /dev/dvb/adapter0/video0
84
85 The ``/dev/dvb/adapter0/ca0`` is used to decode encrypted channels. The
86 other device nodes are found only on devices that use the av7110
87 driver, with is now obsoleted, together with the extra API whose such
88 devices use.
89
90 Receiving a digital TV channel
91 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
92
93 This section attempts to explain how it works and how this affects the
94 configuration of a Digital TV card.
95
96 On this example, we're considering tuning into DVB-T channels in
97 Australia, at the Melbourne region.
98
99 The frequencies broadcast by Mount Dandenong transmitters are,
100 currently:
101
102 Table 1. Transponder Frequencies Mount Dandenong, Vic, Aus.
103
104 ===========     ===========
105 Broadcaster     Frequency
106 ===========     ===========
107 Seven           177.500 Mhz
108 SBS             184.500 Mhz
109 Nine            191.625 Mhz
110 Ten             219.500 Mhz
111 ABC             226.500 Mhz
112 Channel 31      557.625 Mhz
113 ===========     ===========
114
115 The digital TV Scan utilities (like dvbv5-scan) have use a set of
116 compiled-in defaults for various countries and regions. Those are
117 currently provided as a separate package, called dtv-scan-tables. It's
118 git tree is located at LinuxTV.org:
119
120     https://git.linuxtv.org/dtv-scan-tables.git/
121
122 If none of the tables there suit, you can specify a data file on the
123 command line which contains the transponder frequencies. Here is a
124 sample file for the above channel transponders, in the old "channel"
125 format::
126
127         # Data file for DVB scan program
128         #
129         # C Frequency SymbolRate FEC QAM
130         # S Frequency Polarisation SymbolRate FEC
131         # T Frequency Bandwidth FEC FEC2 QAM Mode Guard Hier
132
133         T 177500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
134         T 184500000 7MHz AUTO AUTO QAM64 8k 1/8 NONE
135         T 191625000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
136         T 219500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
137         T 226500000 7MHz AUTO AUTO QAM64 8k 1/16 NONE
138         T 557625000 7MHz AUTO AUTO QPSK 8k 1/16 NONE
139
140 Nowadays, we prefer to use a newer format, with is more verbose and easier
141 to understand. With the new format, the "Seven" channel transponder's
142 data is represented by::
143
144         [Seven]
145                 DELIVERY_SYSTEM = DVBT
146                 FREQUENCY = 177500000
147                 BANDWIDTH_HZ = 7000000
148                 CODE_RATE_HP = AUTO
149                 CODE_RATE_LP = AUTO
150                 MODULATION = QAM/64
151                 TRANSMISSION_MODE = 8K
152                 GUARD_INTERVAL = 1/16
153                 HIERARCHY = NONE
154                 INVERSION = AUTO
155
156 For an updated version of the complete table, please see:
157
158     https://git.linuxtv.org/dtv-scan-tables.git/tree/dvb-t/au-Melbourne
159
160 When the Digital TV scanning utility runs, it will output a file
161 containing the information for all the audio and video programs that
162 exists into each channel's transponders which the card's frontend can
163 lock onto. (i.e. any whose signal is strong enough at your antenna).
164
165 Here's the output of the dvbv5 tools from a channel scan took from
166 Melburne::
167
168     [ABC HDTV]
169             SERVICE_ID = 560
170             VIDEO_PID = 2307
171             AUDIO_PID = 0
172             DELIVERY_SYSTEM = DVBT
173             FREQUENCY = 226500000
174             INVERSION = OFF
175             BANDWIDTH_HZ = 7000000
176             CODE_RATE_HP = 3/4
177             CODE_RATE_LP = 3/4
178             MODULATION = QAM/64
179             TRANSMISSION_MODE = 8K
180             GUARD_INTERVAL = 1/16
181             HIERARCHY = NONE
182
183     [ABC TV Melbourne]
184             SERVICE_ID = 561
185             VIDEO_PID = 512
186             AUDIO_PID = 650
187             DELIVERY_SYSTEM = DVBT
188             FREQUENCY = 226500000
189             INVERSION = OFF
190             BANDWIDTH_HZ = 7000000
191             CODE_RATE_HP = 3/4
192             CODE_RATE_LP = 3/4
193             MODULATION = QAM/64
194             TRANSMISSION_MODE = 8K
195             GUARD_INTERVAL = 1/16
196             HIERARCHY = NONE
197
198     [ABC TV 2]
199             SERVICE_ID = 562
200             VIDEO_PID = 512
201             AUDIO_PID = 650
202             DELIVERY_SYSTEM = DVBT
203             FREQUENCY = 226500000
204             INVERSION = OFF
205             BANDWIDTH_HZ = 7000000
206             CODE_RATE_HP = 3/4
207             CODE_RATE_LP = 3/4
208             MODULATION = QAM/64
209             TRANSMISSION_MODE = 8K
210             GUARD_INTERVAL = 1/16
211             HIERARCHY = NONE
212
213     [ABC TV 3]
214             SERVICE_ID = 563
215             VIDEO_PID = 512
216             AUDIO_PID = 650
217             DELIVERY_SYSTEM = DVBT
218             FREQUENCY = 226500000
219             INVERSION = OFF
220             BANDWIDTH_HZ = 7000000
221             CODE_RATE_HP = 3/4
222             CODE_RATE_LP = 3/4
223             MODULATION = QAM/64
224             TRANSMISSION_MODE = 8K
225             GUARD_INTERVAL = 1/16
226             HIERARCHY = NONE
227
228     [ABC TV 4]
229             SERVICE_ID = 564
230             VIDEO_PID = 512
231             AUDIO_PID = 650
232             DELIVERY_SYSTEM = DVBT
233             FREQUENCY = 226500000
234             INVERSION = OFF
235             BANDWIDTH_HZ = 7000000
236             CODE_RATE_HP = 3/4
237             CODE_RATE_LP = 3/4
238             MODULATION = QAM/64
239             TRANSMISSION_MODE = 8K
240             GUARD_INTERVAL = 1/16
241             HIERARCHY = NONE
242
243     [ABC DiG Radio]
244             SERVICE_ID = 566
245             VIDEO_PID = 0
246             AUDIO_PID = 2311
247             DELIVERY_SYSTEM = DVBT
248             FREQUENCY = 226500000
249             INVERSION = OFF
250             BANDWIDTH_HZ = 7000000
251             CODE_RATE_HP = 3/4
252             CODE_RATE_LP = 3/4
253             MODULATION = QAM/64
254             TRANSMISSION_MODE = 8K
255             GUARD_INTERVAL = 1/16
256             HIERARCHY = NONE
257
258     [TEN Digital]
259             SERVICE_ID = 1585
260             VIDEO_PID = 512
261             AUDIO_PID = 650
262             DELIVERY_SYSTEM = DVBT
263             FREQUENCY = 219500000
264             INVERSION = OFF
265             BANDWIDTH_HZ = 7000000
266             CODE_RATE_HP = 3/4
267             CODE_RATE_LP = 1/2
268             MODULATION = QAM/64
269             TRANSMISSION_MODE = 8K
270             GUARD_INTERVAL = 1/16
271             HIERARCHY = NONE
272
273     [TEN Digital 1]
274             SERVICE_ID = 1586
275             VIDEO_PID = 512
276             AUDIO_PID = 650
277             DELIVERY_SYSTEM = DVBT
278             FREQUENCY = 219500000
279             INVERSION = OFF
280             BANDWIDTH_HZ = 7000000
281             CODE_RATE_HP = 3/4
282             CODE_RATE_LP = 1/2
283             MODULATION = QAM/64
284             TRANSMISSION_MODE = 8K
285             GUARD_INTERVAL = 1/16
286             HIERARCHY = NONE
287
288     [TEN Digital 2]
289             SERVICE_ID = 1587
290             VIDEO_PID = 512
291             AUDIO_PID = 650
292             DELIVERY_SYSTEM = DVBT
293             FREQUENCY = 219500000
294             INVERSION = OFF
295             BANDWIDTH_HZ = 7000000
296             CODE_RATE_HP = 3/4
297             CODE_RATE_LP = 1/2
298             MODULATION = QAM/64
299             TRANSMISSION_MODE = 8K
300             GUARD_INTERVAL = 1/16
301             HIERARCHY = NONE
302
303     [TEN Digital 3]
304             SERVICE_ID = 1588
305             VIDEO_PID = 512
306             AUDIO_PID = 650
307             DELIVERY_SYSTEM = DVBT
308             FREQUENCY = 219500000
309             INVERSION = OFF
310             BANDWIDTH_HZ = 7000000
311             CODE_RATE_HP = 3/4
312             CODE_RATE_LP = 1/2
313             MODULATION = QAM/64
314             TRANSMISSION_MODE = 8K
315             GUARD_INTERVAL = 1/16
316             HIERARCHY = NONE
317
318     [TEN Digital]
319             SERVICE_ID = 1589
320             VIDEO_PID = 512
321             AUDIO_PID = 650
322             DELIVERY_SYSTEM = DVBT
323             FREQUENCY = 219500000
324             INVERSION = OFF
325             BANDWIDTH_HZ = 7000000
326             CODE_RATE_HP = 3/4
327             CODE_RATE_LP = 1/2
328             MODULATION = QAM/64
329             TRANSMISSION_MODE = 8K
330             GUARD_INTERVAL = 1/16
331             HIERARCHY = NONE
332
333     [TEN Digital 4]
334             SERVICE_ID = 1590
335             VIDEO_PID = 512
336             AUDIO_PID = 650
337             DELIVERY_SYSTEM = DVBT
338             FREQUENCY = 219500000
339             INVERSION = OFF
340             BANDWIDTH_HZ = 7000000
341             CODE_RATE_HP = 3/4
342             CODE_RATE_LP = 1/2
343             MODULATION = QAM/64
344             TRANSMISSION_MODE = 8K
345             GUARD_INTERVAL = 1/16
346             HIERARCHY = NONE
347
348     [TEN Digital]
349             SERVICE_ID = 1591
350             VIDEO_PID = 512
351             AUDIO_PID = 650
352             DELIVERY_SYSTEM = DVBT
353             FREQUENCY = 219500000
354             INVERSION = OFF
355             BANDWIDTH_HZ = 7000000
356             CODE_RATE_HP = 3/4
357             CODE_RATE_LP = 1/2
358             MODULATION = QAM/64
359             TRANSMISSION_MODE = 8K
360             GUARD_INTERVAL = 1/16
361             HIERARCHY = NONE
362
363     [TEN HD]
364             SERVICE_ID = 1592
365             VIDEO_PID = 514
366             AUDIO_PID = 0
367             DELIVERY_SYSTEM = DVBT
368             FREQUENCY = 219500000
369             INVERSION = OFF
370             BANDWIDTH_HZ = 7000000
371             CODE_RATE_HP = 3/4
372             CODE_RATE_LP = 1/2
373             MODULATION = QAM/64
374             TRANSMISSION_MODE = 8K
375             GUARD_INTERVAL = 1/16
376             HIERARCHY = NONE
377
378     [TEN Digital]
379             SERVICE_ID = 1593
380             VIDEO_PID = 512
381             AUDIO_PID = 650
382             DELIVERY_SYSTEM = DVBT
383             FREQUENCY = 219500000
384             INVERSION = OFF
385             BANDWIDTH_HZ = 7000000
386             CODE_RATE_HP = 3/4
387             CODE_RATE_LP = 1/2
388             MODULATION = QAM/64
389             TRANSMISSION_MODE = 8K
390             GUARD_INTERVAL = 1/16
391             HIERARCHY = NONE
392
393     [Nine Digital]
394             SERVICE_ID = 1072
395             VIDEO_PID = 513
396             AUDIO_PID = 660
397             DELIVERY_SYSTEM = DVBT
398             FREQUENCY = 191625000
399             INVERSION = OFF
400             BANDWIDTH_HZ = 7000000
401             CODE_RATE_HP = 3/4
402             CODE_RATE_LP = 1/2
403             MODULATION = QAM/64
404             TRANSMISSION_MODE = 8K
405             GUARD_INTERVAL = 1/16
406             HIERARCHY = NONE
407
408     [Nine Digital HD]
409             SERVICE_ID = 1073
410             VIDEO_PID = 512
411             AUDIO_PID = 0
412             DELIVERY_SYSTEM = DVBT
413             FREQUENCY = 191625000
414             INVERSION = OFF
415             BANDWIDTH_HZ = 7000000
416             CODE_RATE_HP = 3/4
417             CODE_RATE_LP = 1/2
418             MODULATION = QAM/64
419             TRANSMISSION_MODE = 8K
420             GUARD_INTERVAL = 1/16
421             HIERARCHY = NONE
422
423     [Nine Guide]
424             SERVICE_ID = 1074
425             VIDEO_PID = 514
426             AUDIO_PID = 670
427             DELIVERY_SYSTEM = DVBT
428             FREQUENCY = 191625000
429             INVERSION = OFF
430             BANDWIDTH_HZ = 7000000
431             CODE_RATE_HP = 3/4
432             CODE_RATE_LP = 1/2
433             MODULATION = QAM/64
434             TRANSMISSION_MODE = 8K
435             GUARD_INTERVAL = 1/16
436             HIERARCHY = NONE
437
438     [7 Digital]
439             SERVICE_ID = 1328
440             VIDEO_PID = 769
441             AUDIO_PID = 770
442             DELIVERY_SYSTEM = DVBT
443             FREQUENCY = 177500000
444             INVERSION = OFF
445             BANDWIDTH_HZ = 7000000
446             CODE_RATE_HP = 2/3
447             CODE_RATE_LP = 2/3
448             MODULATION = QAM/64
449             TRANSMISSION_MODE = 8K
450             GUARD_INTERVAL = 1/8
451             HIERARCHY = NONE
452
453     [7 Digital 1]
454             SERVICE_ID = 1329
455             VIDEO_PID = 769
456             AUDIO_PID = 770
457             DELIVERY_SYSTEM = DVBT
458             FREQUENCY = 177500000
459             INVERSION = OFF
460             BANDWIDTH_HZ = 7000000
461             CODE_RATE_HP = 2/3
462             CODE_RATE_LP = 2/3
463             MODULATION = QAM/64
464             TRANSMISSION_MODE = 8K
465             GUARD_INTERVAL = 1/8
466             HIERARCHY = NONE
467
468     [7 Digital 2]
469             SERVICE_ID = 1330
470             VIDEO_PID = 769
471             AUDIO_PID = 770
472             DELIVERY_SYSTEM = DVBT
473             FREQUENCY = 177500000
474             INVERSION = OFF
475             BANDWIDTH_HZ = 7000000
476             CODE_RATE_HP = 2/3
477             CODE_RATE_LP = 2/3
478             MODULATION = QAM/64
479             TRANSMISSION_MODE = 8K
480             GUARD_INTERVAL = 1/8
481             HIERARCHY = NONE
482
483     [7 Digital 3]
484             SERVICE_ID = 1331
485             VIDEO_PID = 769
486             AUDIO_PID = 770
487             DELIVERY_SYSTEM = DVBT
488             FREQUENCY = 177500000
489             INVERSION = OFF
490             BANDWIDTH_HZ = 7000000
491             CODE_RATE_HP = 2/3
492             CODE_RATE_LP = 2/3
493             MODULATION = QAM/64
494             TRANSMISSION_MODE = 8K
495             GUARD_INTERVAL = 1/8
496             HIERARCHY = NONE
497
498     [7 HD Digital]
499             SERVICE_ID = 1332
500             VIDEO_PID = 833
501             AUDIO_PID = 834
502             DELIVERY_SYSTEM = DVBT
503             FREQUENCY = 177500000
504             INVERSION = OFF
505             BANDWIDTH_HZ = 7000000
506             CODE_RATE_HP = 2/3
507             CODE_RATE_LP = 2/3
508             MODULATION = QAM/64
509             TRANSMISSION_MODE = 8K
510             GUARD_INTERVAL = 1/8
511             HIERARCHY = NONE
512
513     [7 Program Guide]
514             SERVICE_ID = 1334
515             VIDEO_PID = 865
516             AUDIO_PID = 866
517             DELIVERY_SYSTEM = DVBT
518             FREQUENCY = 177500000
519             INVERSION = OFF
520             BANDWIDTH_HZ = 7000000
521             CODE_RATE_HP = 2/3
522             CODE_RATE_LP = 2/3
523             MODULATION = QAM/64
524             TRANSMISSION_MODE = 8K
525             GUARD_INTERVAL = 1/8
526             HIERARCHY = NONE
527
528     [SBS HD]
529             SERVICE_ID = 784
530             VIDEO_PID = 102
531             AUDIO_PID = 103
532             DELIVERY_SYSTEM = DVBT
533             FREQUENCY = 536500000
534             INVERSION = OFF
535             BANDWIDTH_HZ = 7000000
536             CODE_RATE_HP = 2/3
537             CODE_RATE_LP = 2/3
538             MODULATION = QAM/64
539             TRANSMISSION_MODE = 8K
540             GUARD_INTERVAL = 1/8
541             HIERARCHY = NONE
542
543     [SBS DIGITAL 1]
544             SERVICE_ID = 785
545             VIDEO_PID = 161
546             AUDIO_PID = 81
547             DELIVERY_SYSTEM = DVBT
548             FREQUENCY = 536500000
549             INVERSION = OFF
550             BANDWIDTH_HZ = 7000000
551             CODE_RATE_HP = 2/3
552             CODE_RATE_LP = 2/3
553             MODULATION = QAM/64
554             TRANSMISSION_MODE = 8K
555             GUARD_INTERVAL = 1/8
556             HIERARCHY = NONE
557
558     [SBS DIGITAL 2]
559             SERVICE_ID = 786
560             VIDEO_PID = 162
561             AUDIO_PID = 83
562             DELIVERY_SYSTEM = DVBT
563             FREQUENCY = 536500000
564             INVERSION = OFF
565             BANDWIDTH_HZ = 7000000
566             CODE_RATE_HP = 2/3
567             CODE_RATE_LP = 2/3
568             MODULATION = QAM/64
569             TRANSMISSION_MODE = 8K
570             GUARD_INTERVAL = 1/8
571             HIERARCHY = NONE
572
573     [SBS EPG]
574             SERVICE_ID = 787
575             VIDEO_PID = 163
576             AUDIO_PID = 85
577             DELIVERY_SYSTEM = DVBT
578             FREQUENCY = 536500000
579             INVERSION = OFF
580             BANDWIDTH_HZ = 7000000
581             CODE_RATE_HP = 2/3
582             CODE_RATE_LP = 2/3
583             MODULATION = QAM/64
584             TRANSMISSION_MODE = 8K
585             GUARD_INTERVAL = 1/8
586             HIERARCHY = NONE
587
588     [SBS RADIO 1]
589             SERVICE_ID = 798
590             VIDEO_PID = 0
591             AUDIO_PID = 201
592             DELIVERY_SYSTEM = DVBT
593             FREQUENCY = 536500000
594             INVERSION = OFF
595             BANDWIDTH_HZ = 7000000
596             CODE_RATE_HP = 2/3
597             CODE_RATE_LP = 2/3
598             MODULATION = QAM/64
599             TRANSMISSION_MODE = 8K
600             GUARD_INTERVAL = 1/8
601             HIERARCHY = NONE
602
603     [SBS RADIO 2]
604             SERVICE_ID = 799
605             VIDEO_PID = 0
606             AUDIO_PID = 202
607             DELIVERY_SYSTEM = DVBT
608             FREQUENCY = 536500000
609             INVERSION = OFF
610             BANDWIDTH_HZ = 7000000
611             CODE_RATE_HP = 2/3
612             CODE_RATE_LP = 2/3
613             MODULATION = QAM/64
614             TRANSMISSION_MODE = 8K
615             GUARD_INTERVAL = 1/8
616             HIERARCHY = NONE