Ticket #2069: frequencies.c

File frequencies.c, 29.9 KB (added by anonymous, 14 years ago)
Line 
1#include <stdlib.h>
2#include <sys/time.h>
3#include <pthread.h>
4
5#include "frequencies.h"
6
7/* --------------------------------------------------------------------- */
8
9/* Singapore broadcast added by Teo En Ming on 16 July 2006 */
10
11static struct CHANLIST pal_bg_sg[] = {
12    { "1",      175250 },
13    { "2",      196250 },
14    { "3",      224250 },
15    { "4",      487250 },
16    { "5",      495250 },
17    { "6",      543250 },
18    { "7",      743250 },
19};
20
21/* US broadcast */
22static struct CHANLIST ntsc_bcast[] = {
23    { "2",       55250 },
24    { "3",       61250 },
25    { "4",       67250 },
26    { "5",       77250 },
27    { "6",       83250 },
28    { "7",      175250 },
29    { "8",      181250 },
30    { "9",      187250 },
31    { "10",     193250 },
32    { "11",     199250 },
33    { "12",     205250 },
34    { "13",     211250 },
35    { "14",     471250 },
36    { "15",     477250 },
37    { "16",     483250 },
38    { "17",     489250 },
39    { "18",     495250 },
40    { "19",     501250 },
41    { "20",     507250 },
42    { "21",     513250 },
43    { "22",     519250 },
44    { "23",     525250 },
45    { "24",     531250 },
46    { "25",     537250 },
47    { "26",     543250 },
48    { "27",     549250 },
49    { "28",     555250 },
50    { "29",     561250 },
51    { "30",     567250 },
52    { "31",     573250 },
53    { "32",     579250 },
54    { "33",     585250 },
55    { "34",     591250 },
56    { "35",     597250 },
57    { "36",     603250 },
58    { "37",     609250 },
59    { "38",     615250 },
60    { "39",     621250 },
61    { "40",     627250 },
62    { "41",     633250 },
63    { "42",     639250 },
64    { "43",     645250 },
65    { "44",     651250 },
66    { "45",     657250 },
67    { "46",     663250 },
68    { "47",     669250 },
69    { "48",     675250 },
70    { "49",     681250 },
71    { "50",     687250 },
72    { "51",     693250 },
73    { "52",     699250 },
74    { "53",     705250 },
75    { "54",     711250 },
76    { "55",     717250 },
77    { "56",     723250 },
78    { "57",     729250 },
79    { "58",     735250 },
80    { "59",     741250 },
81    { "60",     747250 },
82    { "61",     753250 },
83    { "62",     759250 },
84    { "63",     765250 },
85    { "64",     771250 },
86    { "65",     777250 },
87    { "66",     783250 },
88    { "67",     789250 },
89    { "68",     795250 },
90    { "69",     801250 },
91 
92    { "70",     807250 },
93    { "71",     813250 },
94    { "72",     819250 },
95    { "73",     825250 },
96    { "74",     831250 },
97    { "75",     837250 },
98    { "76",     843250 },
99    { "77",     849250 },
100    { "78",     855250 },
101    { "79",     861250 },
102    { "80",     867250 },
103    { "81",     873250 },
104    { "82",     879250 },
105    { "83",     885250 },
106};
107
108/* US cable */
109static struct CHANLIST ntsc_cable[] = {
110    { "1",       73250 },
111    { "2",       55250 },
112    { "3",       61250 },
113    { "4",       67250 },
114    { "5",       77250 },
115    { "6",       83250 },
116    { "7",      175250 },
117    { "8",      181250 },
118    { "9",      187250 },
119    { "10",     193250 },
120    { "11",     199250 },
121    { "12",     205250 },
122
123    { "13",     211250 },
124    { "14",     121250 },
125    { "15",     127250 },
126    { "16",     133250 },
127    { "17",     139250 },
128    { "18",     145250 },
129    { "19",     151250 },
130    { "20",     157250 },
131 
132    { "21",     163250 },
133    { "22",     169250 },
134    { "23",     217250 },
135    { "24",     223250 },
136    { "25",     229250 },
137    { "26",     235250 },
138    { "27",     241250 },
139    { "28",     247250 },
140    { "29",     253250 },
141    { "30",     259250 },
142    { "31",     265250 },
143    { "32",     271250 },
144    { "33",     277250 },
145    { "34",     283250 },
146    { "35",     289250 },
147    { "36",     295250 },
148    { "37",     301250 },
149    { "38",     307250 },
150    { "39",     313250 },
151    { "40",     319250 },
152    { "41",     325250 },
153    { "42",     331250 },
154    { "43",     337250 },
155    { "44",     343250 },
156    { "45",     349250 },
157    { "46",     355250 },
158    { "47",     361250 },
159    { "48",     367250 },
160    { "49",     373250 },
161    { "50",     379250 },
162    { "51",     385250 },
163    { "52",     391250 },
164    { "53",     397250 },
165    { "54",     403250 },
166    { "55",     409250 },
167    { "56",     415250 },
168    { "57",     421250 },
169    { "58",     427250 },
170    { "59",     433250 },
171    { "60",     439250 },
172    { "61",     445250 },
173    { "62",     451250 },
174    { "63",     457250 },
175    { "64",     463250 },
176    { "65",     469250 },
177    { "66",     475250 },
178    { "67",     481250 },
179    { "68",     487250 },
180    { "69",     493250 },
181 
182    { "70",     499250 },
183    { "71",     505250 },
184    { "72",     511250 },
185    { "73",     517250 },
186    { "74",     523250 },
187    { "75",     529250 },
188    { "76",     535250 },
189    { "77",     541250 },
190    { "78",     547250 },
191    { "79",     553250 },
192    { "80",     559250 },
193    { "81",     565250 },
194    { "82",     571250 },
195    { "83",     577250 },
196    { "84",     583250 },
197    { "85",     589250 },
198    { "86",     595250 },
199    { "87",     601250 },
200    { "88",     607250 },
201    { "89",     613250 },
202    { "90",     619250 },
203    { "91",     625250 },
204    { "92",     631250 },
205    { "93",     637250 },
206    { "94",     643250 },
207    { "95",      91250 },
208    { "96",      97250 },
209    { "97",     103250 },
210    { "98",     109250 },
211    { "99",     115250 },
212    { "100",    649250 },
213    { "101",    655250 },
214    { "102",    661250 },
215    { "103",    667250 },
216    { "104",    673250 },
217    { "105",    679250 },
218    { "106",    685250 },
219    { "107",    691250 },
220    { "108",    697250 },
221    { "109",    703250 },
222    { "110",    709250 },
223    { "111",    715250 },
224    { "112",    721250 },
225    { "113",    727250 },
226    { "114",    733250 },
227    { "115",    739250 },
228    { "116",    745250 },
229    { "117",    751250 },
230    { "118",    757250 },
231    { "119",    763250 },
232    { "120",    769250 },
233    { "121",    775250 },
234    { "122",    781250 },
235    { "123",    787250 },
236    { "124",    793250 },
237    { "125",    799250 },
238 
239    { "T7",       8250 },
240    { "T8",      14250 },
241    { "T9",      20250 },
242    { "T10",     26250 },
243    { "T11",     32250 },
244    { "T12",     38250 },
245    { "T13",     44250 },
246    { "T14",     50250 }
247};
248
249/* US HRC */
250static struct CHANLIST ntsc_hrc[] = {
251    { "1",        72000 },
252
253    { "2",        54000 },
254    { "3",        60000 },
255    { "4",        66000 },
256
257    { "5",        78000 },
258    { "6",        84000 },
259
260    { "7",       174000 },
261    { "8",       180000 },
262    { "9",       186000 },
263    { "10",      192000 },
264    { "11",      198000 },
265    { "12",      204000 },
266    { "13",      210000 },
267    { "14",      120000 },
268    { "15",      126000 },
269    { "16",      132000 },
270    { "17",      138000 },
271    { "18",      144000 },
272    { "19",      150000 },
273    { "20",      156000 },
274    { "21",      162000 },
275    { "22",      168000 },
276    { "23",      216000 },
277    { "24",      222000 },
278    { "25",      228000 },
279    { "26",      234000 },
280    { "27",      240000 },
281    { "28",      246000 },
282    { "29",      252000 },
283    { "30",      258000 },
284    { "31",      264000 },
285    { "32",      270000 },
286    { "33",      276000 },
287    { "34",      282000 },
288    { "35",      288000 },
289    { "36",      294000 },
290    { "37",      300000 },
291    { "38",      306000 },
292    { "39",      312000 },
293    { "40",      318000 },
294    { "41",      324000 },
295    { "42",      330000 },
296    { "43",      336000 },
297    { "44",      342000 },
298    { "45",      348000 },
299    { "46",      354000 },
300    { "47",      360000 },
301    { "48",      366000 },
302    { "49",      372000 },
303    { "50",      378000 },
304    { "51",      384000 },
305    { "52",      390000 },
306    { "53",      396000 },
307    { "54",      402000 },
308    { "55",      408000 },
309    { "56",      414000 },
310    { "57",      420000 },
311    { "58",      426000 },
312    { "59",      432000 },
313    { "60",      438000 },
314    { "61",      444000 },
315    { "62",      450000 },
316    { "63",      456000 },
317    { "64",      462000 },
318    { "65",      468000 },
319    { "66",      474000 },
320    { "67",      480000 },
321    { "68",      486000 },
322    { "69",      492000 },
323    { "70",      498000 },
324    { "71",      504000 },
325    { "72",      510000 },
326    { "73",      516000 },
327    { "74",      522000 },
328    { "75",      528000 },
329    { "76",      534000 },
330    { "77",      540000 },
331    { "78",      546000 },
332    { "79",      552000 },
333    { "80",      558000 },
334    { "81",      564000 },
335    { "82",      570000 },
336    { "83",      576000 },
337    { "84",      582000 },
338    { "85",      588000 },
339    { "86",      594000 },
340    { "87",      600000 },
341    { "88",      606000 },
342    { "89",      612000 },
343    { "90",      618000 },
344    { "91",      624000 },
345    { "92",      630000 },
346    { "93",      636000 },
347    { "94",      642000 },
348
349    { "95",       90000 },
350    { "96",       96000 },
351    { "97",      102000 },
352    { "98",      108000 },
353    { "99",      114000 },
354
355    { "100",     648000 },
356    { "101",     654000 },
357    { "102",     660000 },
358    { "103",     666000 },
359    { "104",     672000 },
360    { "105",     678000 },
361    { "106",     684000 },
362    { "107",     690000 },
363    { "108",     696000 },
364    { "109",     702000 },
365    { "110",     708000 },
366    { "111",     714000 },
367    { "112",     720000 },
368    { "113",     726000 },
369    { "114",     732000 },
370    { "115",     738000 },
371    { "116",     744000 },
372    { "117",     750000 },
373    { "118",     756000 },
374    { "119",     762000 },
375    { "120",     768000 },
376    { "121",     774000 },
377    { "122",     780000 },
378    { "123",     786000 },
379    { "124",     792000 },
380    { "125",     798000 },
381 
382    { "T7",        7000 }, 
383    { "T8",       13000 },
384    { "T9",       19000 },
385    { "T10",      25000 },
386    { "T11",      31000 },
387    { "T12",      37000 },
388    { "T13",      43000 },
389    { "T14",      49000 },
390};
391
392/** US IRC http://www.jneuhaus.com/fccindex/cablech.html */
393static struct CHANLIST ntsc_irc[] = {
394    { "1",       73250 },
395    { "2",       55250 },
396    { "3",       61250 },
397    { "4",       67250 },
398    { "5",       79250 },
399    { "6",       85250 },
400    { "7",      175250 },
401    { "8",      181250 },
402    { "9",      187250 },
403    { "10",     193250 },
404    { "11",     199250 },
405    { "12",     205250 },
406
407    { "13",     211250 },
408    { "14",     121250 },
409    { "15",     127250 },
410    { "16",     133250 },
411    { "17",     139250 },
412    { "18",     145250 },
413    { "19",     151250 },
414    { "20",     157250 },
415 
416    { "21",     163250 },
417    { "22",     169250 },
418    { "23",     217250 },
419    { "24",     223250 },
420    { "25",     229250 },
421    { "26",     235250 },
422    { "27",     241250 },
423    { "28",     247250 },
424    { "29",     253250 },
425    { "30",     259250 },
426    { "31",     265250 },
427    { "32",     271250 },
428    { "33",     277250 },
429    { "34",     283250 },
430    { "35",     289250 },
431    { "36",     295250 },
432    { "37",     301250 },
433    { "38",     307250 },
434    { "39",     313250 },
435    { "40",     319250 },
436    { "41",     325250 },
437    { "42",     331250 },
438    { "43",     337250 },
439    { "44",     343250 },
440    { "45",     349250 },
441    { "46",     355250 },
442    { "47",     361250 },
443    { "48",     367250 },
444    { "49",     373250 },
445    { "50",     379250 },
446    { "51",     385250 },
447    { "52",     391250 },
448    { "53",     397250 },
449    { "54",     403250 },
450    { "55",     409250 },
451    { "56",     415250 },
452    { "57",     421250 },
453    { "58",     427250 },
454    { "59",     433250 },
455    { "60",     439250 },
456    { "61",     445250 },
457    { "62",     451250 },
458    { "63",     457250 },
459    { "64",     463250 },
460    { "65",     469250 },
461    { "66",     475250 },
462    { "67",     481250 },
463    { "68",     487250 },
464    { "69",     493250 },
465 
466    { "70",     499250 },
467    { "71",     505250 },
468    { "72",     511250 },
469    { "73",     517250 },
470    { "74",     523250 },
471    { "75",     529250 },
472    { "76",     535250 },
473    { "77",     541250 },
474    { "78",     547250 },
475    { "79",     553250 },
476    { "80",     559250 },
477    { "81",     565250 },
478    { "82",     571250 },
479    { "83",     577250 },
480    { "84",     583250 },
481    { "85",     589250 },
482    { "86",     595250 },
483    { "87",     601250 },
484    { "88",     607250 },
485    { "89",     613250 },
486    { "90",     619250 },
487    { "91",     625250 },
488    { "92",     631250 },
489    { "93",     637250 },
490    { "94",     643250 },
491    { "95",      91250 },
492    { "96",      97250 },
493    { "97",     103250 },
494    { "98",     109250 },
495    { "99",     115250 },
496    { "100",    649250 },
497    { "101",    655250 },
498    { "102",    661250 },
499    { "103",    667250 },
500    { "104",    673250 },
501    { "105",    679250 },
502    { "106",    685250 },
503    { "107",    691250 },
504    { "108",    697250 },
505    { "109",    703250 },
506    { "110",    709250 },
507    { "111",    715250 },
508    { "112",    721250 },
509    { "113",    727250 },
510    { "114",    733250 },
511    { "115",    739250 },
512    { "116",    745250 },
513    { "117",    751250 },
514    { "118",    757250 },
515    { "119",    763250 },
516    { "120",    769250 },
517    { "121",    775250 },
518    { "122",    781250 },
519    { "123",    787250 },
520    { "124",    793250 },
521    { "125",    799250 },
522 
523    { "T7",       8250 },
524    { "T8",      14250 },
525    { "T9",      20250 },
526    { "T10",     26250 },
527    { "T11",     32250 },
528    { "T12",     38250 },
529    { "T13",     44250 },
530    { "T14",     50250 }
531};
532
533/* --------------------------------------------------------------------- */
534
535/* JP broadcast */
536static struct CHANLIST ntsc_bcast_jp[] = {
537    { "1",   91250 },
538    { "2",   97250 },
539    { "3",  103250 },
540    { "4",  171250 },
541    { "5",  177250 },
542    { "6",  183250 },
543    { "7",  189250 },
544    { "8",  193250 },
545    { "9",  199250 },
546    { "10", 205250 },
547    { "11", 211250 },
548    { "12", 217250 },
549
550    { "13", 471250 },
551    { "14", 477250 },
552    { "15", 483250 },
553    { "16", 489250 },
554    { "17", 495250 },
555    { "18", 501250 },
556    { "19", 507250 },
557    { "20", 513250 },
558    { "21", 519250 },
559    { "22", 525250 },
560    { "23", 531250 },
561    { "24", 537250 },
562    { "25", 543250 },
563    { "26", 549250 },
564    { "27", 555250 },
565    { "28", 561250 },
566    { "29", 567250 },
567    { "30", 573250 },
568    { "31", 579250 },
569    { "32", 585250 },
570    { "33", 591250 },
571    { "34", 597250 },
572    { "35", 603250 },
573    { "36", 609250 },
574    { "37", 615250 },
575    { "38", 621250 },
576    { "39", 627250 },
577    { "40", 633250 },
578    { "41", 639250 },
579    { "42", 645250 },
580    { "43", 651250 },
581    { "44", 657250 },
582
583    { "45", 663250 },
584    { "46", 669250 },
585    { "47", 675250 },
586    { "48", 681250 },
587    { "49", 687250 },
588    { "50", 693250 },
589    { "51", 699250 },
590    { "52", 705250 },
591    { "53", 711250 },
592    { "54", 717250 },
593    { "55", 723250 },
594    { "56", 729250 },
595    { "57", 735250 },
596    { "58", 741250 },
597    { "59", 747250 },
598    { "60", 753250 },
599    { "61", 759250 },
600    { "62", 765250 },
601};
602
603/* JP cable */
604static struct CHANLIST ntsc_cable_jp[] = {
605    { "13",     109250 },
606    { "14",     115250 },
607    { "15",     121250 },
608    { "16",     127250 },
609    { "17",     133250 },
610    { "18",     139250 },
611    { "19",     145250 },
612    { "20",     151250 },
613 
614    { "21",     157250 },
615    { "22",     165250 },
616    { "23",     223250 },
617    { "24",     231250 },
618    { "25",     237250 },
619    { "26",     243250 },
620    { "27",     249250 },
621    { "28",     253250 },
622    { "29",     259250 },
623    { "30",     265250 },
624    { "31",     271250 },
625    { "32",     277250 },
626    { "33",     283250 },
627    { "34",     289250 },
628    { "35",     295250 },
629    { "36",     301250 },
630    { "37",     307250 },
631    { "38",     313250 },
632    { "39",     319250 },
633    { "40",     325250 },
634    { "41",     331250 },
635    { "42",     337250 },
636    { "43",     343250 },
637    { "44",     349250 },
638    { "45",     355250 },
639    { "46",     361250 },
640    { "47",     367250 },
641    { "48",     373250 },
642    { "49",     379250 },
643    { "50",     385250 },
644    { "51",     391250 },
645    { "52",     397250 },
646    { "53",     403250 },
647    { "54",     409250 },
648    { "55",     415250 },
649    { "56",     421250 },
650    { "57",     427250 },
651    { "58",     433250 },
652    { "59",     439250 },
653    { "60",     445250 },
654    { "61",     451250 },
655    { "62",     457250 },
656    { "63",     463250 },
657};
658
659/* --------------------------------------------------------------------- */
660
661/* australia */
662static struct CHANLIST pal_australia[] = {
663    { "0",       46250 },
664    { "1",       57250 },
665    { "2",       64250 },
666    { "3",       86250 },
667    { "4",       95250 },
668    { "5",      102250 },
669    { "5A",     138250 },
670    { "6",      175250 },
671    { "7",      182250 },
672    { "8",      189250 },
673    { "9",      196250 },
674    { "10",     209250 },
675    { "11",     216250 },
676    { "28",     527250 },
677    { "29",     534250 },
678    { "30",     541250 },
679    { "31",     548250 },
680    { "32",     555250 },
681    { "33",     562250 },
682    { "34",     569250 },
683    { "35",     576250 },
684    { "36",     591250 },
685    { "39",     604250 },
686    { "40",     611250 },
687    { "41",     618250 },
688    { "42",     625250 },
689    { "43",     632250 },
690    { "44",     639250 },
691    { "45",     646250 },
692    { "46",     653250 },
693    { "47",     660250 },
694    { "48",     667250 },
695    { "49",     674250 },
696    { "50",     681250 },
697    { "51",     688250 },
698    { "52",     695250 },
699    { "53",     702250 },
700    { "54",     709250 },
701    { "55",     716250 },
702    { "56",     723250 },
703    { "57",     730250 },
704    { "58",     737250 },
705    { "59",     744250 },
706    { "60",     751250 },
707    { "61",     758250 },
708    { "62",     765250 },
709    { "63",     772250 },
710    { "64",     779250 },
711    { "65",     786250 },
712    { "66",     793250 },
713    { "67",     800250 },
714    { "68",     807250 },
715    { "69",     814250 },
716};
717
718static struct CHANLIST pal_australia_optus[] = {
719   { "1",  138250 },
720   { "2",  147250 },
721   { "3",  154250 },
722   { "4",  161250 },
723   { "5",  168250 },
724   { "6",  175250 },
725   { "7",  182250 },
726   { "8",  189250 },
727   { "9",  196250 },
728   { "10", 209250 },
729   { "11", 216250 },
730   { "12", 224250 },
731   { "13", 231250 },
732   { "14", 238250 },
733   { "15", 245250 },
734   { "16", 252250 },
735   { "17", 259250 },
736   { "18", 266250 },
737   { "19", 273250 },
738   { "20", 280250 },
739   { "21", 287250 },
740   { "22", 294250 },
741   { "23", 303250 },
742   { "24", 310250 },
743   { "25", 317250 },
744   { "26", 324250 },
745   { "27", 338250 },
746   { "28", 345250 },
747   { "29", 352250 },
748   { "30", 359250 },
749   { "31", 366250 },
750   { "32", 373250 },
751   { "33", 380250 },
752   { "34", 387250 },
753   { "35", 394250 },
754   { "36", 401250 },
755   { "37", 408250 },
756   { "38", 415250 },
757   { "39", 422250 },
758   { "40", 429250 },
759   { "41", 436250 },
760   { "42", 443250 },
761   { "43", 450250 },
762   { "44", 457250 },
763   { "45", 464250 },
764   { "46", 471250 },
765   { "47", 478250 },
766   { "48", 485250 },
767   { "49", 492250 },
768   { "50", 499250 },
769   { "51", 506250 },
770   { "52", 513250 },
771   { "53", 520250 },
772   { "54", 527250 },
773   { "55", 534250 },
774};
775
776
777/* --------------------------------------------------------------------- */
778/* europe                                                                */
779
780/* CCIR frequencies */
781
782#define FREQ_CCIR_I_III         \
783    { "E2",       48250 },      \
784    { "E3",       55250 },      \
785    { "E4",       62250 },      \
786                                \
787    { "S01",      69250 },      \
788    { "S02",      76250 },      \
789    { "S03",      83250 },      \
790                                \
791    { "E5",      175250 },      \
792    { "E6",      182250 },      \
793    { "E7",      189250 },      \
794    { "E8",      196250 },      \
795    { "E9",      203250 },      \
796    { "E10",     210250 },      \
797    { "E11",     217250 },      \
798    { "E12",     224250 }
799
800#define FREQ_CCIR_SL_SH         \
801    { "SE1",     105250 },      \
802    { "SE2",     112250 },      \
803    { "SE3",     119250 },      \
804    { "SE4",     126250 },      \
805    { "SE5",     133250 },      \
806    { "SE6",     140250 },      \
807    { "SE7",     147250 },      \
808    { "SE8",     154250 },      \
809    { "SE9",     161250 },      \
810    { "SE10",    168250 },      \
811                                \
812    { "SE11",    231250 },      \
813    { "SE12",    238250 },      \
814    { "SE13",    245250 },      \
815    { "SE14",    252250 },      \
816    { "SE15",    259250 },      \
817    { "SE16",    266250 },      \
818    { "SE17",    273250 },      \
819    { "SE18",    280250 },      \
820    { "SE19",    287250 },      \
821    { "SE20",    294250 }
822
823#define FREQ_CCIR_H     \
824    { "S21", 303250 },  \
825    { "S22", 311250 },  \
826    { "S23", 319250 },  \
827    { "S24", 327250 },  \
828    { "S25", 335250 },  \
829    { "S26", 343250 },  \
830    { "S27", 351250 },  \
831    { "S28", 359250 },  \
832    { "S29", 367250 },  \
833    { "S30", 375250 },  \
834    { "S31", 383250 },  \
835    { "S32", 391250 },  \
836    { "S33", 399250 },  \
837    { "S34", 407250 },  \
838    { "S35", 415250 },  \
839    { "S36", 423250 },  \
840    { "S37", 431250 },  \
841    { "S38", 439250 },  \
842    { "S39", 447250 },  \
843    { "S40", 455250 },  \
844    { "S41", 463250 }
845
846#define FREQ_CCIR_H2          \
847    { "E21",   471250 },      \
848    { "E22",   479250 },      \
849    { "E23",   487250 },      \
850    { "E24",   495250 },      \
851    { "E25",   503250 },      \
852    { "E26",   511250 }
853
854/* OIRT frequencies */
855
856#define FREQ_OIRT_I_III         \
857    { "R1",       49750 },      \
858    { "R2",       59250 },      \
859                                \
860    { "R3",       77250 },      \
861    { "R4",       85250 },      \
862    { "R5",       93250 },      \
863                                \
864    { "R6",      175250 },      \
865    { "R7",      183250 },      \
866    { "R8",      191250 },      \
867    { "R9",      199250 },      \
868    { "R10",     207250 },      \
869    { "R11",     215250 },      \
870    { "R12",     223250 }
871
872#define FREQ_OIRT_SL_SH         \
873    { "SR1",     111250 },      \
874    { "SR2",     119250 },      \
875    { "SR3",     127250 },      \
876    { "SR4",     135250 },      \
877    { "SR5",     143250 },      \
878    { "SR6",     151250 },      \
879    { "SR7",     159250 },      \
880    { "SR8",     167250 },      \
881                                \
882    { "SR11",    231250 },      \
883    { "SR12",    239250 },      \
884    { "SR13",    247250 },      \
885    { "SR14",    255250 },      \
886    { "SR15",    263250 },      \
887    { "SR16",    271250 },      \
888    { "SR17",    279250 },      \
889    { "SR18",    287250 },      \
890    { "SR19",    295250 }
891
892#define FREQ_UHF        \
893    { "21",  471250 },  \
894    { "22",  479250 },  \
895    { "23",  487250 },  \
896    { "24",  495250 },  \
897    { "25",  503250 },  \
898    { "26",  511250 },  \
899    { "27",  519250 },  \
900    { "28",  527250 },  \
901    { "29",  535250 },  \
902    { "30",  543250 },  \
903    { "31",  551250 },  \
904    { "32",  559250 },  \
905    { "33",  567250 },  \
906    { "34",  575250 },  \
907    { "35",  583250 },  \
908    { "36",  591250 },  \
909    { "37",  599250 },  \
910    { "38",  607250 },  \
911    { "39",  615250 },  \
912    { "40",  623250 },  \
913    { "41",  631250 },  \
914    { "42",  639250 },  \
915    { "43",  647250 },  \
916    { "44",  655250 },  \
917    { "45",  663250 },  \
918    { "46",  671250 },  \
919    { "47",  679250 },  \
920    { "48",  687250 },  \
921    { "49",  695250 },  \
922    { "50",  703250 },  \
923    { "51",  711250 },  \
924    { "52",  719250 },  \
925    { "53",  727250 },  \
926    { "54",  735250 },  \
927    { "55",  743250 },  \
928    { "56",  751250 },  \
929    { "57",  759250 },  \
930    { "58",  767250 },  \
931    { "59",  775250 },  \
932    { "60",  783250 },  \
933    { "61",  791250 },  \
934    { "62",  799250 },  \
935    { "63",  807250 },  \
936    { "64",  815250 },  \
937    { "65",  823250 },  \
938    { "66",  831250 },  \
939    { "67",  839250 },  \
940    { "68",  847250 },  \
941    { "69",  855250 }
942
943static struct CHANLIST europe_west[] = {
944    FREQ_CCIR_I_III,
945    FREQ_CCIR_SL_SH,
946    FREQ_CCIR_H,
947    FREQ_CCIR_H2,
948    FREQ_UHF
949};
950
951static struct CHANLIST europe_east[] = {
952    FREQ_OIRT_I_III,
953    FREQ_OIRT_SL_SH,
954    FREQ_CCIR_I_III,
955    FREQ_CCIR_SL_SH,
956    FREQ_CCIR_H,
957    FREQ_CCIR_H2,
958    FREQ_UHF
959};
960
961static struct CHANLIST pal_italy[] = {
962    { "A",       53750 },
963    { "B",       62250 },
964    { "C",       82250 },
965    { "D",      175250 },
966    { "E",      183750 },
967    { "F",      192250 },
968    { "G",      201250 },
969    { "H",      210250 },
970    { "H1",     217250 },
971    { "H2",     224250 },
972    FREQ_UHF
973};
974
975static struct CHANLIST pal_ireland[] = {
976    { "A0",    45750 },
977    { "A1",    48000 },
978    { "A2",    53750 },
979    { "A3",    56000 },
980    { "A4",    61750 },
981    { "A5",    64000 },
982    { "A6",   175250 },
983    { "A7",   176000 },
984    { "A8",   183250 },
985    { "A9",   184000 },
986    { "A10",   191250 },
987    { "A11",   192000 },
988    { "A12",   199250 },
989    { "A13",   200000 },
990    { "A14",   207250 },
991    { "A15",   208000 },
992    { "A16",   215250 },
993    { "A17",   216000 },
994    { "A18",   224000 },
995    { "A19",   232000 },
996    { "A20",   248000 },
997    { "A21",   256000 },
998    { "A22",   264000 },
999    { "A23",   272000 },
1000    { "A24",   280000 },
1001    { "A25",   288000 },
1002    { "A26",   296000 },
1003    { "A27",   304000 },
1004    { "A28",   312000 },
1005    { "A29",   320000 },
1006    { "A30",   344000 },
1007    { "A31",   352000 },
1008    { "A32",   408000 },
1009    { "A33",   416000 },
1010    { "A34",   448000 },
1011    { "A35",   480000 },
1012    { "A36",   520000 },
1013    FREQ_UHF,
1014};
1015
1016static struct CHANLIST secam_france[] = {
1017    { "K01",    47750 },
1018    { "K02",    55750 },
1019    { "K03",    60500 },
1020    { "K04",    63750 },
1021    { "K05",   176000 },
1022    { "K06",   184000 },
1023    { "K07",   192000 },
1024    { "K08",   200000 },
1025    { "K09",   208000 },
1026    { "K10",   216000 },
1027    { "KB",    116750 },
1028    { "KC",    128750 },
1029    { "KD",    140750 },
1030    { "KE",    159750 },
1031    { "KF",    164750 },
1032    { "KG",    176750 },
1033    { "KH",    188750 },
1034    { "KI",    200750 },
1035    { "KJ",    212750 },
1036    { "KK",    224750 },
1037    { "KL",    236750 },
1038    { "KM",    248750 },
1039    { "KN",    260750 },
1040    { "KO",    272750 },
1041    { "KP",    284750 },
1042    { "KQ",    296750 },
1043    { "H01",   303250 },
1044    { "H02",   311250 },
1045    { "H03",   319250 },
1046    { "H04",   327250 },
1047    { "H05",   335250 },
1048    { "H06",   343250 },
1049    { "H07",   351250 },
1050    { "H08",   359250 },
1051    { "H09",   367250 },
1052    { "H10",   375250 },
1053    { "H11",   383250 },
1054    { "H12",   391250 },
1055    { "H13",   399250 },
1056    { "H14",   407250 },
1057    { "H15",   415250 },
1058    { "H16",   423250 },
1059    { "H17",   431250 },
1060    { "H18",   439250 },
1061    { "H19",   447250 },
1062    FREQ_UHF,
1063};
1064
1065/* --------------------------------------------------------------------- */
1066
1067static struct CHANLIST pal_newzealand[] = {
1068    { "1",        45250 },
1069    { "2",        55250 },
1070    { "3",        62250 },
1071    { "4",       175250 },
1072    { "5",       182250 },
1073    { "6",       189250 },
1074    { "7",       196250 },
1075    { "8",       203250 },
1076    { "9",       210250 },
1077    { "10",      217250 },
1078    { "11",      224250 },
1079    FREQ_UHF,
1080};
1081
1082/* --------------------------------------------------------------------- */
1083
1084/* China broadcast */
1085static struct CHANLIST pal_bcast_cn[] = {
1086    { "1",      49750 },
1087    { "2",      57750 },
1088    { "3",      65750 },
1089    { "4",      77250 },
1090    { "5",      85250 },
1091    { "6",      112250 },
1092    { "7",      120250 },
1093    { "8",      128250 },
1094    { "9",      136250 },
1095    { "10",     144250 },
1096    { "11",     152250 },
1097    { "12",     160250 },
1098    { "13",     168250 },
1099    { "14",     176250 },
1100    { "15",     184250 },
1101    { "16",     192250 },
1102    { "17",     200250 },
1103    { "18",     208250 },
1104    { "19",     216250 },
1105    { "20",     224250 },
1106    { "21",     232250 },
1107    { "22",     240250 },
1108    { "23",     248250 },
1109    { "24",     256250 },
1110    { "25",     264250 },
1111    { "26",     272250 },
1112    { "27",     280250 },
1113    { "28",     288250 },
1114    { "29",     296250 },
1115    { "30",     304250 },
1116    { "31",     312250 },
1117    { "32",     320250 },
1118    { "33",     328250 },
1119    { "34",     336250 },
1120    { "35",     344250 },
1121    { "36",     352250 },
1122    { "37",     360250 },
1123    { "38",     368250 },
1124    { "39",     376250 },
1125    { "40",     384250 },
1126    { "41",     392250 },
1127    { "42",     400250 },
1128    { "43",     408250 },
1129    { "44",     416250 },
1130    { "45",     424250 },
1131    { "46",     432250 },
1132    { "47",     440250 },
1133    { "48",     448250 },
1134    { "49",     456250 },
1135    { "50",     463250 },
1136    { "51",     471250 },
1137    { "52",     479250 },
1138    { "53",     487250 },
1139    { "54",     495250 },
1140    { "55",     503250 },
1141    { "56",     511250 },
1142    { "57",     519250 },
1143    { "58",     527250 },
1144    { "59",     535250 },
1145    { "60",     543250 },
1146    { "61",     551250 },
1147    { "62",     559250 },
1148    { "63",     607250 },
1149    { "64",     615250 },
1150    { "65",     623250 },
1151    { "66",     631250 },
1152    { "67",     639250 },
1153    { "68",     647250 },
1154    { "69",     655250 },
1155    { "70",     663250 },
1156    { "71",     671250 },
1157    { "72",     679250 },
1158    { "73",     687250 },
1159    { "74",     695250 },
1160    { "75",     703250 },
1161    { "76",     711250 },
1162    { "77",     719250 },
1163    { "78",     727250 },
1164    { "79",     735250 },
1165    { "80",     743250 },
1166    { "81",     751250 },
1167    { "82",     759250 },
1168    { "83",     767250 },
1169    { "84",     775250 },
1170    { "85",     783250 },
1171    { "86",     791250 },
1172    { "87",     799250 },
1173    { "88",     807250 },
1174    { "89",     815250 },
1175    { "90",     823250 },
1176    { "91",     831250 },
1177    { "92",     839250 },
1178    { "93",     847250 },
1179    { "94",     855250 },
1180};
1181
1182/* --------------------------------------------------------------------- */
1183/* South Africa Broadcast */
1184
1185static struct CHANLIST pal_bcast_za[] ={
1186    { "1", 175250 },
1187    { "2", 183250 },
1188    { "3", 191250 },
1189    { "4", 199250 },
1190    { "5", 207250 },
1191    { "6", 215250 },
1192    { "7", 223250 },
1193    { "8", 231250 },
1194    { "9", 239250 },
1195    { "10", 247250 },
1196    { "11", 255250 },
1197    { "12", 263250 },
1198    { "13", 271250 },
1199    FREQ_UHF
1200};
1201
1202/* --------------------------------------------------------------------- */
1203
1204static struct CHANLIST argentina[] = {
1205    { "001",   56250 },
1206    { "002",   62250 },
1207    { "003",   68250 },
1208    { "004",   78250 },
1209    { "005",   84250 },
1210    { "006",  176250 },
1211    { "007",  182250 },
1212    { "008",  188250 },
1213    { "009",  194250 },
1214    { "010",  200250 },
1215    { "011",  206250 },
1216    { "012",  212250 },
1217    { "013",  122250 },
1218    { "014",  128250 },
1219    { "015",  134250 },
1220    { "016",  140250 },
1221    { "017",  146250 },
1222    { "018",  152250 },
1223    { "019",  158250 },
1224    { "020",  164250 },
1225    { "021",  170250 },
1226    { "022",  218250 },
1227    { "023",  224250 },
1228    { "024",  230250 },
1229    { "025",  236250 },
1230    { "026",  242250 },
1231    { "027",  248250 },
1232    { "028",  254250 },
1233    { "029",  260250 },
1234    { "030",  266250 },
1235    { "031",  272250 },
1236    { "032",  278250 },
1237    { "033",  284250 },
1238    { "034",  290250 },
1239    { "035",  296250 },
1240    { "036",  302250 },
1241    { "037",  308250 },
1242    { "038",  314250 },
1243    { "039",  320250 },
1244    { "040",  326250 },
1245    { "041",  332250 },
1246    { "042",  338250 },
1247    { "043",  344250 },
1248    { "044",  350250 },
1249    { "045",  356250 },
1250    { "046",  362250 },
1251    { "047",  368250 },
1252    { "048",  374250 },
1253    { "049",  380250 },
1254    { "050",  386250 },
1255    { "051",  392250 },
1256    { "052",  398250 },
1257    { "053",  404250 },
1258    { "054",  410250 },
1259    { "055",  416250 },
1260    { "056",  422250 },
1261    { "057",  428250 },
1262    { "058",  434250 },
1263    { "059",  440250 },
1264    { "060",  446250 },
1265    { "061",  452250 },
1266    { "062",  458250 },
1267    { "063",  464250 },
1268    { "064",  470250 },
1269    { "065",  476250 },
1270    { "066",  482250 },
1271    { "067",  488250 },
1272    { "068",  494250 },
1273    { "069",  500250 },
1274    { "070",  506250 },
1275    { "071",  512250 },
1276    { "072",  518250 },
1277    { "073",  524250 },
1278    { "074",  530250 },
1279    { "075",  536250 },
1280    { "076",  542250 },
1281    { "077",  548250 },
1282    { "078",  554250 },
1283    { "079",  560250 },
1284    { "080",  566250 },
1285    { "081",  572250 },
1286    { "082",  578250 },
1287    { "083",  584250 },
1288    { "084",  590250 },
1289    { "085",  596250 },
1290    { "086",  602250 },
1291    { "087",  608250 },
1292    { "088",  614250 },
1293    { "089",  620250 },
1294    { "090",  626250 },
1295    { "091",  632250 },
1296    { "092",  638250 },
1297    { "093",  644250 },
1298};
1299
1300/* --------------------------------------------------------------------- */
1301
1302struct CHANLISTS chanlists[] = {
1303/* The following line is added by Teo En Ming on 17 June 2006 to support Singapore TV frequencies. */
1304    { "Singapore-PAL-BG", pal_bg_sg,         CHAN_COUNT(pal_bg_sg)         },
1305    { "us-bcast",         ntsc_bcast,        CHAN_COUNT(ntsc_bcast)        },
1306    { "us-cable",         ntsc_cable,        CHAN_COUNT(ntsc_cable)        },
1307    { "us-cable-hrc",     ntsc_hrc,          CHAN_COUNT(ntsc_hrc)          },
1308    { "us-cable-irc",     ntsc_irc,          CHAN_COUNT(ntsc_irc)          },
1309    { "japan-bcast",      ntsc_bcast_jp,     CHAN_COUNT(ntsc_bcast_jp)     },
1310    { "japan-cable",      ntsc_cable_jp,     CHAN_COUNT(ntsc_cable_jp)     },
1311    { "europe-west",      europe_west,       CHAN_COUNT(europe_west)       },
1312    { "europe-east",      europe_east,       CHAN_COUNT(europe_east)       },
1313    { "italy",            pal_italy,         CHAN_COUNT(pal_italy)         },
1314    { "newzealand",       pal_newzealand,    CHAN_COUNT(pal_newzealand)    },
1315    { "australia",        pal_australia,     CHAN_COUNT(pal_australia)     },
1316    { "ireland",          pal_ireland,       CHAN_COUNT(pal_ireland)       },
1317    { "france",           secam_france,      CHAN_COUNT(secam_france)      },
1318    { "china-bcast",      pal_bcast_cn,      CHAN_COUNT(pal_bcast_cn)      },
1319    { "southafrica",      pal_bcast_za,      CHAN_COUNT(pal_bcast_za)      },
1320    { "argentina",        argentina,         CHAN_COUNT(argentina)         },
1321    { "australia-optus",  pal_australia_optus, CHAN_COUNT(pal_australia_optus) },
1322    { NULL, NULL, 0 } /* EOF */
1323};