• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* Copyright (C) 2006 Nathan Laredo <laredo@gnu.org>
2    Nathan contributed the frequency tables.
3 
4    Copyright (C) 2006 Hans Verkuil <hverkuil@xs4all.nl>
5    Added the iso-std table.
6 
7    The libv4l2util Library is free software; you can redistribute it and/or
8    modify it under the terms of the GNU Lesser General Public
9    License as published by the Free Software Foundation; either
10    version 2.1 of the License, or (at your option) any later version.
11 
12    The libv4l2util Library is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15    Lesser General Public License for more details.
16 
17    You should have received a copy of the GNU Lesser General Public
18    License along with the libv4l2util Library; if not, write to the Free
19    Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA
20    02110-1335 USA.  */
21 
22 #include <stdlib.h>
23 
24 #include <linux/videodev2.h>
25 #include "libv4l2util.h"
26 
27 /* This source was originally written by Nathan Laredo <laredo@gnu.org>.
28    He kindly gave permission to release this source under the LGPL
29    license. */
30 
31 /* --------------------------------------------------------------------- */
32 
33 /* US broadcast */
34 static const struct v4l2_channel_list ntsc_bcast[] = {
35     { "2",	 55250 },
36     { "3",	 61250 },
37     { "4",	 67250 },
38     { "5",	 77250 },
39     { "6",	 83250 },
40     { "7",	175250 },
41     { "8",	181250 },
42     { "9",	187250 },
43     { "10",	193250 },
44     { "11",	199250 },
45     { "12",	205250 },
46     { "13",	211250 },
47     { "14",	471250 },
48     { "15",	477250 },
49     { "16",	483250 },
50     { "17",	489250 },
51     { "18",	495250 },
52     { "19",	501250 },
53     { "20",	507250 },
54     { "21",	513250 },
55     { "22",	519250 },
56     { "23",	525250 },
57     { "24",	531250 },
58     { "25",	537250 },
59     { "26",	543250 },
60     { "27",	549250 },
61     { "28",	555250 },
62     { "29",	561250 },
63     { "30",	567250 },
64     { "31",	573250 },
65     { "32",	579250 },
66     { "33",	585250 },
67     { "34",	591250 },
68     { "35",	597250 },
69     { "36",	603250 },
70     { "37",	609250 },
71     { "38",	615250 },
72     { "39",	621250 },
73     { "40",	627250 },
74     { "41",	633250 },
75     { "42",	639250 },
76     { "43",	645250 },
77     { "44",	651250 },
78     { "45",	657250 },
79     { "46",	663250 },
80     { "47",	669250 },
81     { "48",	675250 },
82     { "49",	681250 },
83     { "50",	687250 },
84     { "51",	693250 },
85     { "52",	699250 },
86     { "53",	705250 },
87     { "54",	711250 },
88     { "55",	717250 },
89     { "56",	723250 },
90     { "57",	729250 },
91     { "58",	735250 },
92     { "59",	741250 },
93     { "60",	747250 },
94     { "61",	753250 },
95     { "62",	759250 },
96     { "63",	765250 },
97     { "64",	771250 },
98     { "65",	777250 },
99     { "66",	783250 },
100     { "67",	789250 },
101     { "68",	795250 },
102     { "69",	801250 },
103 
104     { "70",	807250 },
105     { "71",	813250 },
106     { "72",	819250 },
107     { "73",	825250 },
108     { "74",	831250 },
109     { "75",	837250 },
110     { "76",	843250 },
111     { "77",	849250 },
112     { "78",	855250 },
113     { "79",	861250 },
114     { "80",	867250 },
115     { "81",	873250 },
116     { "82",	879250 },
117     { "83",	885250 },
118 };
119 
120 /* US cable */
121 static const struct v4l2_channel_list ntsc_cable[] = {
122     { "1",	 73250 },
123     { "2",	 55250 },
124     { "3",	 61250 },
125     { "4",	 67250 },
126     { "5",	 77250 },
127     { "6",	 83250 },
128     { "7",	175250 },
129     { "8",	181250 },
130     { "9",	187250 },
131     { "10",	193250 },
132     { "11",	199250 },
133     { "12",	205250 },
134 
135     { "13",	211250 },
136     { "14",	121250 },
137     { "15",	127250 },
138     { "16",	133250 },
139     { "17",	139250 },
140     { "18",	145250 },
141     { "19",	151250 },
142     { "20",	157250 },
143 
144     { "21",	163250 },
145     { "22",	169250 },
146     { "23",	217250 },
147     { "24",	223250 },
148     { "25",	229250 },
149     { "26",	235250 },
150     { "27",	241250 },
151     { "28",	247250 },
152     { "29",	253250 },
153     { "30",	259250 },
154     { "31",	265250 },
155     { "32",	271250 },
156     { "33",	277250 },
157     { "34",	283250 },
158     { "35",	289250 },
159     { "36",	295250 },
160     { "37",	301250 },
161     { "38",	307250 },
162     { "39",	313250 },
163     { "40",	319250 },
164     { "41",	325250 },
165     { "42",	331250 },
166     { "43",	337250 },
167     { "44",	343250 },
168     { "45",	349250 },
169     { "46",	355250 },
170     { "47",	361250 },
171     { "48",	367250 },
172     { "49",	373250 },
173     { "50",	379250 },
174     { "51",	385250 },
175     { "52",	391250 },
176     { "53",	397250 },
177     { "54",	403250 },
178     { "55",	409250 },
179     { "56",	415250 },
180     { "57",	421250 },
181     { "58",	427250 },
182     { "59",	433250 },
183     { "60",	439250 },
184     { "61",	445250 },
185     { "62",	451250 },
186     { "63",	457250 },
187     { "64",	463250 },
188     { "65",	469250 },
189     { "66",	475250 },
190     { "67",	481250 },
191     { "68",	487250 },
192     { "69",	493250 },
193 
194     { "70",	499250 },
195     { "71",	505250 },
196     { "72",	511250 },
197     { "73",	517250 },
198     { "74",	523250 },
199     { "75",	529250 },
200     { "76",	535250 },
201     { "77",	541250 },
202     { "78",	547250 },
203     { "79",	553250 },
204     { "80",	559250 },
205     { "81",	565250 },
206     { "82",	571250 },
207     { "83",	577250 },
208     { "84",	583250 },
209     { "85",	589250 },
210     { "86",	595250 },
211     { "87",	601250 },
212     { "88",	607250 },
213     { "89",	613250 },
214     { "90",	619250 },
215     { "91",	625250 },
216     { "92",	631250 },
217     { "93",	637250 },
218     { "94",	643250 },
219     { "95",	 91250 },
220     { "96",	 97250 },
221     { "97",	103250 },
222     { "98",	109250 },
223     { "99",	115250 },
224     { "100",	649250 },
225     { "101",	655250 },
226     { "102",	661250 },
227     { "103",	667250 },
228     { "104",	673250 },
229     { "105",	679250 },
230     { "106",	685250 },
231     { "107",	691250 },
232     { "108",	697250 },
233     { "109",	703250 },
234     { "110",	709250 },
235     { "111",	715250 },
236     { "112",	721250 },
237     { "113",	727250 },
238     { "114",	733250 },
239     { "115",	739250 },
240     { "116",	745250 },
241     { "117",	751250 },
242     { "118",	757250 },
243     { "119",	763250 },
244     { "120",	769250 },
245     { "121",	775250 },
246     { "122",	781250 },
247     { "123",	787250 },
248     { "124",	793250 },
249     { "125",	799250 },
250 
251     { "T7", 	  8250 },
252     { "T8",	 14250 },
253     { "T9",	 20250 },
254     { "T10",	 26250 },
255     { "T11",	 32250 },
256     { "T12",	 38250 },
257     { "T13",	 44250 },
258     { "T14",	 50250 }
259 };
260 
261 /* US HRC */
262 static const struct v4l2_channel_list ntsc_hrc[] = {
263     { "1",	  72000 },
264 
265     { "2",	  54000 },
266     { "3",	  60000 },
267     { "4",	  66000 },
268 
269     { "5",	  78000 },
270     { "6",	  84000 },
271 
272     { "7",	 174000 },
273     { "8",	 180000 },
274     { "9",	 186000 },
275     { "10",	 192000 },
276     { "11",	 198000 },
277     { "12",	 204000 },
278     { "13",	 210000 },
279     { "14",	 120000 },
280     { "15",	 126000 },
281     { "16",	 132000 },
282     { "17",	 138000 },
283     { "18",	 144000 },
284     { "19",	 150000 },
285     { "20",	 156000 },
286     { "21",	 162000 },
287     { "22",	 168000 },
288     { "23",	 216000 },
289     { "24",	 222000 },
290     { "25",	 228000 },
291     { "26",	 234000 },
292     { "27",	 240000 },
293     { "28",	 246000 },
294     { "29",	 252000 },
295     { "30",	 258000 },
296     { "31",	 264000 },
297     { "32",	 270000 },
298     { "33",	 276000 },
299     { "34",	 282000 },
300     { "35",	 288000 },
301     { "36",	 294000 },
302     { "37",	 300000 },
303     { "38",	 306000 },
304     { "39",	 312000 },
305     { "40",	 318000 },
306     { "41",	 324000 },
307     { "42",	 330000 },
308     { "43",	 336000 },
309     { "44",	 342000 },
310     { "45",	 348000 },
311     { "46",	 354000 },
312     { "47",	 360000 },
313     { "48",	 366000 },
314     { "49",	 372000 },
315     { "50",	 378000 },
316     { "51",	 384000 },
317     { "52",	 390000 },
318     { "53",	 396000 },
319     { "54",	 402000 },
320     { "55",	 408000 },
321     { "56",	 414000 },
322     { "57",	 420000 },
323     { "58",	 426000 },
324     { "59",	 432000 },
325     { "60",	 438000 },
326     { "61",	 444000 },
327     { "62",	 450000 },
328     { "63",	 456000 },
329     { "64",	 462000 },
330     { "65",	 468000 },
331     { "66",	 474000 },
332     { "67",	 480000 },
333     { "68",	 486000 },
334     { "69",	 492000 },
335     { "70",	 498000 },
336     { "71",	 504000 },
337     { "72",	 510000 },
338     { "73",	 516000 },
339     { "74",	 522000 },
340     { "75",	 528000 },
341     { "76",	 534000 },
342     { "77",	 540000 },
343     { "78",	 546000 },
344     { "79",	 552000 },
345     { "80",	 558000 },
346     { "81",	 564000 },
347     { "82",	 570000 },
348     { "83",	 576000 },
349     { "84",	 582000 },
350     { "85",	 588000 },
351     { "86",	 594000 },
352     { "87",	 600000 },
353     { "88",	 606000 },
354     { "89",	 612000 },
355     { "90",	 618000 },
356     { "91",	 624000 },
357     { "92",	 630000 },
358     { "93",	 636000 },
359     { "94",	 642000 },
360 
361     { "95",	  90000 },
362     { "96",	  96000 },
363     { "97",	 102000 },
364     { "98",	 108000 },
365     { "99",	 114000 },
366 
367     { "100",	 648000 },
368     { "101",	 654000 },
369     { "102",	 660000 },
370     { "103",	 666000 },
371     { "104",	 672000 },
372     { "105",	 678000 },
373     { "106",	 684000 },
374     { "107",	 690000 },
375     { "108",	 696000 },
376     { "109",	 702000 },
377     { "110",	 708000 },
378     { "111",	 714000 },
379     { "112",	 720000 },
380     { "113",	 726000 },
381     { "114",	 732000 },
382     { "115",	 738000 },
383     { "116",	 744000 },
384     { "117",	 750000 },
385     { "118",	 756000 },
386     { "119",	 762000 },
387     { "120",	 768000 },
388     { "121",	 774000 },
389     { "122",	 780000 },
390     { "123",	 786000 },
391     { "124",	 792000 },
392     { "125",	 798000 },
393 
394     { "T7",	   7000 },
395     { "T8",	  13000 },
396     { "T9",	  19000 },
397     { "T10",	  25000 },
398     { "T11",	  31000 },
399     { "T12",	  37000 },
400     { "T13",	  43000 },
401     { "T14",	  49000 },
402 };
403 
404 /* US IRC */
405 static const struct v4l2_channel_list ntsc_irc[] = {
406     { "1",      73250 },
407     { "2",      55250 },
408     { "3",      61250 },
409     { "4",      67250 },
410     { "5",      79250 },
411     { "6",      85250 },
412     { "7",     175250 },
413     { "8",     181250 },
414     { "9",     187250 },
415     { "10",    193250 },
416     { "11",    199250 },
417     { "12",    205250 },
418     { "13",    211250 },
419 
420     { "14",    121150 },
421     { "15",    127150 },
422     { "16",    133150 },
423     { "17",    139150 },
424     { "18",    145150 },
425     { "19",    151150 },
426     { "20",    157150 },
427     { "21",    163150 },
428     { "22",    169150 },
429 
430     { "23",    217250 },
431     { "24",    223250 },
432     { "25",    229250 },
433     { "26",    235250 },
434     { "27",    241250 },
435     { "28",    247250 },
436     { "29",    253250 },
437     { "30",    259250 },
438     { "31",    265250 },
439     { "32",    271250 },
440     { "33",    277250 },
441     { "34",    283250 },
442     { "35",    289250 },
443     { "36",    295250 },
444     { "37",    301250 },
445     { "38",    307250 },
446     { "39",    313250 },
447     { "40",    319250 },
448     { "41",    325250 },
449     { "42",    331250 },
450     { "43",    337250 },
451     { "44",    343250 },
452     { "45",    349250 },
453     { "46",    355250 },
454     { "47",    361250 },
455     { "48",    367250 },
456     { "49",    373250 },
457     { "50",    379250 },
458     { "51",    385250 },
459     { "52",    391250 },
460     { "53",    397250 },
461     { "54",    403250 },
462     { "55",    409250 },
463     { "56",    415250 },
464     { "57",    421250 },
465     { "58",    427250 },
466     { "59",    433250 },
467     { "60",    439250 },
468     { "61",    445250 },
469     { "62",    451250 },
470     { "63",    457250 },
471     { "64",    463250 },
472     { "65",    469250 },
473     { "66",    475250 },
474     { "67",    481250 },
475     { "68",    487250 },
476     { "69",    493250 },
477     { "70",    499250 },
478     { "71",    505250 },
479     { "72",    511250 },
480     { "73",    517250 },
481     { "74",    523250 },
482     { "75",    529250 },
483     { "76",    535250 },
484     { "77",    541250 },
485     { "78",    547250 },
486     { "79",    553250 },
487     { "80",    559250 },
488     { "81",    565250 },
489     { "82",    571250 },
490     { "83",    577250 },
491     { "84",    583250 },
492     { "85",    589250 },
493     { "86",    595250 },
494     { "87",    601250 },
495     { "88",    607250 },
496     { "89",    613250 },
497     { "90",    619250 },
498     { "91",    625250 },
499     { "92",    631250 },
500     { "93",    637250 },
501     { "94",    643250 },
502 
503     { "95",     91250 },
504     { "96",     97250 },
505     { "97",    103250 },
506     { "98",    109250 },
507     { "99",    115250 },
508     { "100",   649250 },
509     { "101",   655250 },
510     { "102",   661250 },
511     { "103",   667250 },
512     { "104",   673250 },
513     { "105",   679250 },
514     { "106",   685250 },
515     { "107",   691250 },
516     { "108",   697250 },
517     { "109",   703250 },
518     { "110",   709250 },
519     { "111",   715250 },
520     { "112",   721250 },
521     { "113",   727250 },
522     { "114",   733250 },
523     { "115",   739250 },
524     { "116",   745250 },
525     { "117",   751250 },
526     { "118",   757250 },
527     { "119",   763250 },
528     { "120",   769250 },
529     { "121",   775250 },
530     { "122",   781250 },
531     { "123",   787250 },
532     { "124",   793250 },
533     { "125",   799250 },
534 
535     { "T7",      8250 },
536     { "T8",     14250 },
537     { "T9",     20250 },
538     { "T10",    26250 },
539     { "T11",    32250 },
540     { "T12",    38250 },
541     { "T13",    44250 },
542     { "T14",    50250 }
543 };
544 
545 
546 /* --------------------------------------------------------------------- */
547 
548 /* JP broadcast */
549 static const struct v4l2_channel_list ntsc_bcast_jp[] = {
550     { "1",   91250 },
551     { "2",   97250 },
552     { "3",  103250 },
553     { "4",  171250 },
554     { "5",  177250 },
555     { "6",  183250 },
556     { "7",  189250 },
557     { "8",  193250 },
558     { "9",  199250 },
559     { "10", 205250 },
560     { "11", 211250 },
561     { "12", 217250 },
562 
563     { "13", 471250 },
564     { "14", 477250 },
565     { "15", 483250 },
566     { "16", 489250 },
567     { "17", 495250 },
568     { "18", 501250 },
569     { "19", 507250 },
570     { "20", 513250 },
571     { "21", 519250 },
572     { "22", 525250 },
573     { "23", 531250 },
574     { "24", 537250 },
575     { "25", 543250 },
576     { "26", 549250 },
577     { "27", 555250 },
578     { "28", 561250 },
579     { "29", 567250 },
580     { "30", 573250 },
581     { "31", 579250 },
582     { "32", 585250 },
583     { "33", 591250 },
584     { "34", 597250 },
585     { "35", 603250 },
586     { "36", 609250 },
587     { "37", 615250 },
588     { "38", 621250 },
589     { "39", 627250 },
590     { "40", 633250 },
591     { "41", 639250 },
592     { "42", 645250 },
593     { "43", 651250 },
594     { "44", 657250 },
595 
596     { "45", 663250 },
597     { "46", 669250 },
598     { "47", 675250 },
599     { "48", 681250 },
600     { "49", 687250 },
601     { "50", 693250 },
602     { "51", 699250 },
603     { "52", 705250 },
604     { "53", 711250 },
605     { "54", 717250 },
606     { "55", 723250 },
607     { "56", 729250 },
608     { "57", 735250 },
609     { "58", 741250 },
610     { "59", 747250 },
611     { "60", 753250 },
612     { "61", 759250 },
613     { "62", 765250 },
614 };
615 
616 /* JP cable */
617 static const struct v4l2_channel_list ntsc_cable_jp[] = {
618     { "13",	109250 },
619     { "14",	115250 },
620     { "15",	121250 },
621     { "16",	127250 },
622     { "17",	133250 },
623     { "18",	139250 },
624     { "19",	145250 },
625     { "20",	151250 },
626 
627     { "21",	157250 },
628     { "22",	165250 },
629     { "23",	223250 },
630     { "24",	231250 },
631     { "25",	237250 },
632     { "26",	243250 },
633     { "27",	249250 },
634     { "28",	253250 },
635     { "29",	259250 },
636     { "30",	265250 },
637     { "31",	271250 },
638     { "32",	277250 },
639     { "33",	283250 },
640     { "34",	289250 },
641     { "35",	295250 },
642     { "36",	301250 },
643     { "37",	307250 },
644     { "38",	313250 },
645     { "39",	319250 },
646     { "40",	325250 },
647     { "41",	331250 },
648     { "42",	337250 },
649     { "43",	343250 },
650     { "44",	349250 },
651     { "45", 	355250 },
652     { "46", 	361250 },
653     { "47", 	367250 },
654     { "48", 	373250 },
655     { "49", 	379250 },
656     { "50", 	385250 },
657     { "51", 	391250 },
658     { "52", 	397250 },
659     { "53", 	403250 },
660     { "54", 	409250 },
661     { "55", 	415250 },
662     { "56", 	421250 },
663     { "57", 	427250 },
664     { "58", 	433250 },
665     { "59", 	439250 },
666     { "60", 	445250 },
667     { "61", 	451250 },
668     { "62", 	457250 },
669     { "63",	463250 },
670 };
671 
672 /* --------------------------------------------------------------------- */
673 
674 /* australia */
675 static const struct v4l2_channel_list pal_australia[] = {
676     { "0",	 46250 },
677     { "1",	 57250 },
678     { "2",	 64250 },
679     { "3",	 86250 },
680     { "4",  	 95250 },
681     { "5",  	102250 },
682     { "5A",  	138250 },
683     { "6",  	175250 },
684     { "7",  	182250 },
685     { "8",  	189250 },
686     { "9",  	196250 },
687     { "10", 	209250 },
688     { "11",	216250 },
689     { "28",	527250 },
690     { "29",	534250 },
691     { "30",	541250 },
692     { "31",	548250 },
693     { "32",	555250 },
694     { "33",	562250 },
695     { "34",	569250 },
696     { "35",	576250 },
697     { "36",     591250 },
698     { "39",	604250 },
699     { "40",	611250 },
700     { "41",	618250 },
701     { "42",	625250 },
702     { "43",	632250 },
703     { "44",	639250 },
704     { "45",	646250 },
705     { "46",	653250 },
706     { "47",	660250 },
707     { "48",	667250 },
708     { "49",	674250 },
709     { "50",	681250 },
710     { "51",	688250 },
711     { "52",	695250 },
712     { "53",	702250 },
713     { "54",	709250 },
714     { "55",	716250 },
715     { "56",	723250 },
716     { "57",	730250 },
717     { "58",	737250 },
718     { "59",	744250 },
719     { "60",	751250 },
720     { "61",	758250 },
721     { "62",	765250 },
722     { "63",	772250 },
723     { "64",	779250 },
724     { "65",	786250 },
725     { "66",	793250 },
726     { "67",	800250 },
727     { "68",	807250 },
728     { "69",	814250 },
729 };
730 
731 static const struct v4l2_channel_list pal_australia_optus[] = {
732    { "1",  138250 },
733    { "2",  147250 },
734    { "3",  154250 },
735    { "4",  161250 },
736    { "5",  168250 },
737    { "6",  175250 },
738    { "7",  182250 },
739    { "8",  189250 },
740    { "9",  196250 },
741    { "10", 209250 },
742    { "11", 216250 },
743    { "12", 224250 },
744    { "13", 231250 },
745    { "14", 238250 },
746    { "15", 245250 },
747    { "16", 252250 },
748    { "17", 259250 },
749    { "18", 266250 },
750    { "19", 273250 },
751    { "20", 280250 },
752    { "21", 287250 },
753    { "22", 294250 },
754    { "23", 303250 },
755    { "24", 310250 },
756    { "25", 317250 },
757    { "26", 324250 },
758    { "27", 338250 },
759    { "28", 345250 },
760    { "29", 352250 },
761    { "30", 359250 },
762    { "31", 366250 },
763    { "32", 373250 },
764    { "33", 380250 },
765    { "34", 387250 },
766    { "35", 394250 },
767    { "36", 401250 },
768    { "37", 408250 },
769    { "38", 415250 },
770    { "39", 422250 },
771    { "40", 429250 },
772    { "41", 436250 },
773    { "42", 443250 },
774    { "43", 450250 },
775    { "44", 457250 },
776    { "45", 464250 },
777    { "46", 471250 },
778    { "47", 478250 },
779    { "48", 485250 },
780    { "49", 492250 },
781    { "50", 499250 },
782    { "51", 506250 },
783    { "52", 513250 },
784    { "53", 520250 },
785    { "54", 527250 },
786    { "55", 534250 },
787 };
788 
789 
790 /* --------------------------------------------------------------------- */
791 /* europe                                                                */
792 
793 /* CCIR frequencies */
794 
795 #define FREQ_CCIR_I_III		\
796     { "E2",	  48250 },	\
797     { "E3",	  55250 },	\
798     { "E4",	  62250 },	\
799 				\
800     { "S01",	  69250 },	\
801     { "S02",	  76250 },	\
802     { "S03",	  83250 },	\
803 				\
804     { "E5",	 175250 },	\
805     { "E6",	 182250 },	\
806     { "E7",	 189250 },	\
807     { "E8",	 196250 },	\
808     { "E9",	 203250 },	\
809     { "E10",	 210250 },	\
810     { "E11",	 217250 },	\
811     { "E12",	 224250 }
812 
813 #define FREQ_CCIR_SL_SH		\
814     { "SE1",	 105250 },	\
815     { "SE2",	 112250 },	\
816     { "SE3",	 119250 },	\
817     { "SE4",	 126250 },	\
818     { "SE5",	 133250 },	\
819     { "SE6",	 140250 },	\
820     { "SE7",	 147250 },	\
821     { "SE8",	 154250 },	\
822     { "SE9",	 161250 },	\
823     { "SE10",    168250 },	\
824 				\
825     { "SE11",    231250 },	\
826     { "SE12",    238250 },	\
827     { "SE13",    245250 },	\
828     { "SE14",    252250 },	\
829     { "SE15",    259250 },	\
830     { "SE16",    266250 },	\
831     { "SE17",    273250 },	\
832     { "SE18",    280250 },	\
833     { "SE19",    287250 },	\
834     { "SE20",    294250 }
835 
836 #define FREQ_CCIR_H	\
837     { "S21", 303250 },	\
838     { "S22", 311250 },	\
839     { "S23", 319250 },	\
840     { "S24", 327250 },	\
841     { "S25", 335250 },	\
842     { "S26", 343250 },	\
843     { "S27", 351250 },	\
844     { "S28", 359250 },	\
845     { "S29", 367250 },	\
846     { "S30", 375250 },	\
847     { "S31", 383250 },	\
848     { "S32", 391250 },	\
849     { "S33", 399250 },	\
850     { "S34", 407250 },	\
851     { "S35", 415250 },	\
852     { "S36", 423250 },	\
853     { "S37", 431250 },	\
854     { "S38", 439250 },	\
855     { "S39", 447250 },	\
856     { "S40", 455250 },	\
857     { "S41", 463250 }
858 
859 /* OIRT frequencies */
860 
861 #define FREQ_OIRT_I_III		\
862     { "R1",       49750 },	\
863     { "R2",       59250 },	\
864 				\
865     { "R3",       77250 },	\
866     { "R4",       85250 },	\
867     { "R5",       93250 },	\
868 				\
869     { "R6",	 175250 },	\
870     { "R7",	 183250 },	\
871     { "R8",	 191250 },	\
872     { "R9",	 199250 },	\
873     { "R10",	 207250 },	\
874     { "R11",	 215250 },	\
875     { "R12",	 223250 }
876 
877 #define FREQ_OIRT_SL_SH		\
878     { "SR1",	 111250 },	\
879     { "SR2",	 119250 },	\
880     { "SR3",	 127250 },	\
881     { "SR4",	 135250 },	\
882     { "SR5",	 143250 },	\
883     { "SR6",	 151250 },	\
884     { "SR7",	 159250 },	\
885     { "SR8",	 167250 },	\
886 				\
887     { "SR11",    231250 },	\
888     { "SR12",    239250 },	\
889     { "SR13",    247250 },	\
890     { "SR14",    255250 },	\
891     { "SR15",    263250 },	\
892     { "SR16",    271250 },	\
893     { "SR17",    279250 },	\
894     { "SR18",    287250 },	\
895     { "SR19",    295250 }
896 
897 #define FREQ_UHF	\
898     { "21",  471250 },	\
899     { "22",  479250 },	\
900     { "23",  487250 },	\
901     { "24",  495250 },	\
902     { "25",  503250 },	\
903     { "26",  511250 },	\
904     { "27",  519250 },	\
905     { "28",  527250 },	\
906     { "29",  535250 },	\
907     { "30",  543250 },	\
908     { "31",  551250 },	\
909     { "32",  559250 },	\
910     { "33",  567250 },	\
911     { "34",  575250 },	\
912     { "35",  583250 },	\
913     { "36",  591250 },	\
914     { "37",  599250 },	\
915     { "38",  607250 },	\
916     { "39",  615250 },	\
917     { "40",  623250 },	\
918     { "41",  631250 },	\
919     { "42",  639250 },	\
920     { "43",  647250 },	\
921     { "44",  655250 },	\
922     { "45",  663250 },	\
923     { "46",  671250 },	\
924     { "47",  679250 },	\
925     { "48",  687250 },	\
926     { "49",  695250 },	\
927     { "50",  703250 },	\
928     { "51",  711250 },	\
929     { "52",  719250 },	\
930     { "53",  727250 },	\
931     { "54",  735250 },	\
932     { "55",  743250 },	\
933     { "56",  751250 },	\
934     { "57",  759250 },	\
935     { "58",  767250 },	\
936     { "59",  775250 },	\
937     { "60",  783250 },	\
938     { "61",  791250 },	\
939     { "62",  799250 },	\
940     { "63",  807250 },	\
941     { "64",  815250 },	\
942     { "65",  823250 },	\
943     { "66",  831250 },	\
944     { "67",  839250 },	\
945     { "68",  847250 },	\
946     { "69",  855250 }
947 
948 static const struct v4l2_channel_list europe_west[] = {
949     FREQ_CCIR_I_III,
950     FREQ_CCIR_SL_SH,
951     FREQ_CCIR_H,
952     FREQ_UHF
953 };
954 
955 static const struct v4l2_channel_list europe_east[] = {
956     FREQ_OIRT_I_III,
957     FREQ_OIRT_SL_SH,
958     FREQ_CCIR_I_III,
959     FREQ_CCIR_SL_SH,
960     FREQ_CCIR_H,
961     FREQ_UHF
962 };
963 
964 static const struct v4l2_channel_list pal_italy[] = {
965     { "A",	 53750 },
966     { "B",	 62250 },
967     { "C",	 82250 },
968     { "D",	175250 },
969     { "E",	183750 },
970     { "F",	192250 },
971     { "G",	201250 },
972     { "H",	210250 },
973     { "H1",	217250 },
974     { "H2",	224250 },
975     FREQ_UHF
976 };
977 
978 static const struct v4l2_channel_list pal_ireland[] = {
979     { "A0",    45750 },
980     { "A1",    48000 },
981     { "A2",    53750 },
982     { "A3",    56000 },
983     { "A4",    61750 },
984     { "A5",    64000 },
985     { "A6",   175250 },
986     { "A7",   176000 },
987     { "A8",   183250 },
988     { "A9",   184000 },
989     { "A10",   191250 },
990     { "A11",   192000 },
991     { "A12",   199250 },
992     { "A13",   200000 },
993     { "A14",   207250 },
994     { "A15",   208000 },
995     { "A16",   215250 },
996     { "A17",   216000 },
997     { "A18",   224000 },
998     { "A19",   232000 },
999     { "A20",   248000 },
1000     { "A21",   256000 },
1001     { "A22",   264000 },
1002     { "A23",   272000 },
1003     { "A24",   280000 },
1004     { "A25",   288000 },
1005     { "A26",   296000 },
1006     { "A27",   304000 },
1007     { "A28",   312000 },
1008     { "A29",   320000 },
1009     { "A30",   344000 },
1010     { "A31",   352000 },
1011     { "A32",   408000 },
1012     { "A33",   416000 },
1013     { "A34",   448000 },
1014     { "A35",   480000 },
1015     { "A36",   520000 },
1016     FREQ_UHF,
1017 };
1018 
1019 static const struct v4l2_channel_list secam_france[] = {
1020     { "K01",    47750 },
1021     { "K02",    55750 },
1022     { "K03",    60500 },
1023     { "K04",    63750 },
1024     { "K05",   176000 },
1025     { "K06",   184000 },
1026     { "K07",   192000 },
1027     { "K08",   200000 },
1028     { "K09",   208000 },
1029     { "K10",   216000 },
1030     { "KB",    116750 },
1031     { "KC",    128750 },
1032     { "KD",    140750 },
1033     { "KE",    159750 },
1034     { "KF",    164750 },
1035     { "KG",    176750 },
1036     { "KH",    188750 },
1037     { "KI",    200750 },
1038     { "KJ",    212750 },
1039     { "KK",    224750 },
1040     { "KL",    236750 },
1041     { "KM",    248750 },
1042     { "KN",    260750 },
1043     { "KO",    272750 },
1044     { "KP",    284750 },
1045     { "KQ",    296750 },
1046     { "H01",   303250 },
1047     { "H02",   311250 },
1048     { "H03",   319250 },
1049     { "H04",   327250 },
1050     { "H05",   335250 },
1051     { "H06",   343250 },
1052     { "H07",   351250 },
1053     { "H08",   359250 },
1054     { "H09",   367250 },
1055     { "H10",   375250 },
1056     { "H11",   383250 },
1057     { "H12",   391250 },
1058     { "H13",   399250 },
1059     { "H14",   407250 },
1060     { "H15",   415250 },
1061     { "H16",   423250 },
1062     { "H17",   431250 },
1063     { "H18",   439250 },
1064     { "H19",   447250 },
1065     FREQ_UHF,
1066 };
1067 
1068 /* --------------------------------------------------------------------- */
1069 
1070 static const struct v4l2_channel_list pal_newzealand[] = {
1071     { "1", 	  45250 },
1072     { "2",	  55250 },
1073     { "3",	  62250 },
1074     { "4",	 175250 },
1075     { "5",	 182250 },
1076     { "6",	 189250 },
1077     { "7",	 196250 },
1078     { "8",	 203250 },
1079     { "9",	 210250 },
1080     { "10",	 217250 },
1081     { "11",	 224250 },
1082     FREQ_UHF,
1083 };
1084 
1085 /* --------------------------------------------------------------------- */
1086 
1087 /* China broadcast */
1088 static const struct v4l2_channel_list pal_bcast_cn[] = {
1089     { "1",	49750 },
1090     { "2",	57750 },
1091     { "3",	65750 },
1092     { "4",	77250 },
1093     { "5",	85250 },
1094     { "6",	112250 },
1095     { "7",	120250 },
1096     { "8",	128250 },
1097     { "9",	136250 },
1098     { "10",	144250 },
1099     { "11",	152250 },
1100     { "12",	160250 },
1101     { "13",	168250 },
1102     { "14",	176250 },
1103     { "15",	184250 },
1104     { "16",	192250 },
1105     { "17",	200250 },
1106     { "18",	208250 },
1107     { "19",	216250 },
1108     { "20",	224250 },
1109     { "21",	232250 },
1110     { "22",	240250 },
1111     { "23",	248250 },
1112     { "24",	256250 },
1113     { "25",	264250 },
1114     { "26",	272250 },
1115     { "27",	280250 },
1116     { "28",	288250 },
1117     { "29",	296250 },
1118     { "30",	304250 },
1119     { "31",	312250 },
1120     { "32",	320250 },
1121     { "33",	328250 },
1122     { "34",	336250 },
1123     { "35",	344250 },
1124     { "36",	352250 },
1125     { "37",	360250 },
1126     { "38",	368250 },
1127     { "39",	376250 },
1128     { "40",	384250 },
1129     { "41",	392250 },
1130     { "42",	400250 },
1131     { "43",	408250 },
1132     { "44",	416250 },
1133     { "45",	424250 },
1134     { "46",	432250 },
1135     { "47",	440250 },
1136     { "48",	448250 },
1137     { "49",	456250 },
1138     { "50",	463250 },
1139     { "51",	471250 },
1140     { "52",	479250 },
1141     { "53",	487250 },
1142     { "54",	495250 },
1143     { "55",	503250 },
1144     { "56",	511250 },
1145     { "57",	519250 },
1146     { "58",	527250 },
1147     { "59",	535250 },
1148     { "60",	543250 },
1149     { "61",	551250 },
1150     { "62",	559250 },
1151     { "63",	607250 },
1152     { "64",	615250 },
1153     { "65",	623250 },
1154     { "66",	631250 },
1155     { "67",	639250 },
1156     { "68",	647250 },
1157     { "69",	655250 },
1158     { "70",	663250 },
1159     { "71",	671250 },
1160     { "72",	679250 },
1161     { "73",	687250 },
1162     { "74",	695250 },
1163     { "75",	703250 },
1164     { "76",	711250 },
1165     { "77",	719250 },
1166     { "78",	727250 },
1167     { "79",	735250 },
1168     { "80",	743250 },
1169     { "81",	751250 },
1170     { "82",	759250 },
1171     { "83",	767250 },
1172     { "84",	775250 },
1173     { "85",	783250 },
1174     { "86",	791250 },
1175     { "87",	799250 },
1176     { "88",	807250 },
1177     { "89",	815250 },
1178     { "90",	823250 },
1179     { "91",	831250 },
1180     { "92",	839250 },
1181     { "93",	847250 },
1182     { "94",	855250 },
1183 };
1184 
1185 /* --------------------------------------------------------------------- */
1186 /* South Africa Broadcast */
1187 
1188 static const struct v4l2_channel_list pal_bcast_za[] ={
1189     { "4", 175250 },
1190     { "5", 183250 },
1191     { "6", 191250 },
1192     { "7", 199250 },
1193     { "8", 207250 },
1194     { "9", 215250 },
1195     { "10", 223250 },
1196     { "11", 231250 },
1197     { "12", 239250 },
1198     { "13", 247250 },
1199     FREQ_UHF
1200 };
1201 
1202 /* --------------------------------------------------------------------- */
1203 
1204 static const struct v4l2_channel_list 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 
1302 #define CHAN_COUNT(x) (sizeof(x)/sizeof(struct v4l2_channel_list))
1303 
1304 const struct v4l2_channel_lists v4l2_channel_lists[] = {
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 };
1324 
1325 /* This list contains omissions and almost certainly incorrect information.
1326    Please provide me (Hans Verkuil, <hverkuil@xs4all.nl>) with corrections. */
1327 const struct v4l2_country_std_map v4l2_country_std_map[] = {
1328 	{ "AE", V4L2_STD_PAL_BG   }, /* United Arab Emirates */
1329 	{ "AF", V4L2_STD_SECAM_D  }, /* Afghanistan */
1330 	{ "AG", V4L2_STD_NTSC_M   }, /* Antigua */
1331 	{ "AL", V4L2_STD_PAL_BG   }, /* Albania */
1332 	{ "AM", V4L2_STD_SECAM_DK }, /* Armenia */
1333 	{ "AN", V4L2_STD_NTSC_M   }, /* Netherlands Antilles */
1334 	{ "AO", V4L2_STD_PAL_I    }, /* Angola */
1335 	{ "AR", V4L2_STD_PAL_Nc   }, /* Argentina */
1336 	{ "AT", V4L2_STD_PAL_BG   }, /* Austria */
1337 	{ "AU", V4L2_STD_PAL_B    }, /* Australia */
1338 	{ "AW", V4L2_STD_NTSC_M   }, /* Aruba */
1339 	{ "AZ", V4L2_STD_SECAM_DK }, /* Azerbaijan */
1340 	{ "BA", V4L2_STD_PAL_BG   }, /* Bosnia and Herzegovina */
1341 	{ "BB", V4L2_STD_NTSC_M   }, /* Barbados */
1342 	{ "BD", V4L2_STD_PAL_B    }, /* Bangladesh */
1343 	{ "BE", V4L2_STD_PAL_B | V4L2_STD_PAL_H }, /* Belgium */
1344 	{ "BF", V4L2_STD_SECAM_K1 }, /* Burkina Faso */
1345 	{ "BG", V4L2_STD_SECAM_DK }, /* Bulgaria */
1346 	{ "BH", V4L2_STD_PAL_BG   }, /* Bahrain */
1347 	{ "BI", V4L2_STD_SECAM_K1 }, /* Burundi */
1348 	{ "BJ", V4L2_STD_SECAM_K1 }, /* Benin */
1349 	{ "BM", V4L2_STD_NTSC_M   }, /* Bermuda */
1350 	{ "BN", V4L2_STD_PAL_B    }, /* Brunei Darussalam */
1351 	{ "BO", V4L2_STD_NTSC_M   }, /* Bolivia */
1352 	{ "BR", V4L2_STD_PAL_M    }, /* Brazil */
1353 	{ "BS", V4L2_STD_NTSC_M   }, /* Bahamas */
1354 	{ "BW", V4L2_STD_PAL_I    }, /* Botswana */
1355 	{ "BY", V4L2_STD_SECAM_D  }, /* Belarus */
1356 	{ "BZ", V4L2_STD_NTSC_M   }, /* Belize */
1357 	{ "CA", V4L2_STD_NTSC_M   }, /* Canada */
1358 	{ "CD", V4L2_STD_SECAM_K1 }, /* The Democratic Republic of the Congo */
1359 	{ "CF", V4L2_STD_SECAM_K1 }, /* Central African Republic */
1360 	{ "CG", V4L2_STD_SECAM_K1 }, /* Republic of the Congo */
1361 	{ "CH", V4L2_STD_PAL_BG   }, /* Switzerland */
1362 	{ "CL", V4L2_STD_NTSC_M   }, /* Chile */
1363 	{ "CM", V4L2_STD_PAL_BG   }, /* Cameroon */
1364 	{ "CN", V4L2_STD_PAL_D    }, /* China */
1365 	{ "CO", V4L2_STD_NTSC_M   }, /* Colombia */
1366 	{ "CR", V4L2_STD_NTSC_M   }, /* Costa Rica */
1367 	{ "CU", V4L2_STD_NTSC_M   }, /* Cuba */
1368 	{ "CY", V4L2_STD_PAL_BG   }, /* Cyprus */
1369 	{ "CZ", V4L2_STD_PAL_D    }, /* Czech Republic */
1370 	{ "DE", V4L2_STD_PAL_BG   }, /* Germany */
1371 	{ "DJ", V4L2_STD_SECAM_B  }, /* Djibouti */
1372 	{ "DK", V4L2_STD_PAL_BG   }, /* Denmark */
1373 	{ "DO", V4L2_STD_NTSC_M   }, /* Dominican Republic */
1374 	{ "DZ", V4L2_STD_PAL_BG   }, /* Algeria */
1375 	{ "EC", V4L2_STD_NTSC_M   }, /* Ecuador */
1376 	{ "EE", V4L2_STD_SECAM_DK }, /* Estonia */
1377 	{ "EG", V4L2_STD_PAL_BG   }, /* Egypt */
1378 	{ "ES", V4L2_STD_PAL_BG   }, /* Spain */
1379 	{ "ET", V4L2_STD_PAL_BG   }, /* Ethiopia */
1380 	{ "FI", V4L2_STD_PAL_BG   }, /* Finland */
1381 	{ "FR", V4L2_STD_SECAM_L  }, /* France */
1382 	{ "GA", V4L2_STD_SECAM_K1 }, /* Gabon */
1383 	{ "GB", V4L2_STD_PAL_I    }, /* United Kingdom */
1384 	{ "GE", V4L2_STD_SECAM_DK }, /* Georgia */
1385 	{ "GH", V4L2_STD_PAL_B    }, /* Ghana */
1386 	{ "GI", V4L2_STD_PAL_BG   }, /* Gibraltar */
1387 	{ "GL", V4L2_STD_PAL_BG   }, /* Greenland */
1388 	{ "GM", V4L2_STD_PAL_I    }, /* Gambia */
1389 	{ "GQ", V4L2_STD_PAL_BG   }, /* Equatorial Guinea */
1390 	{ "GR", V4L2_STD_SECAM_B  }, /* Greece */
1391 	{ "GR", V4L2_STD_SECAM_G  }, /* Greece */
1392 	{ "GT", V4L2_STD_NTSC_M   }, /* Guatemala */
1393 	{ "GU", V4L2_STD_NTSC_M   }, /* Guam */
1394 	{ "GW", V4L2_STD_PAL_I    }, /* Guinea-Bissau */
1395 	{ "HK", V4L2_STD_PAL_I    }, /* Hong Kong */
1396 	{ "HN", V4L2_STD_NTSC_M   }, /* Honduras */
1397 	{ "HR", V4L2_STD_PAL_BG   }, /* Croatia */
1398 	{ "HU", V4L2_STD_SECAM_DK }, /* Hungary */
1399 	{ "ID", V4L2_STD_PAL_B    }, /* Indonesia */
1400 	{ "IE", V4L2_STD_PAL_I    }, /* Ireland */
1401 	{ "IL", V4L2_STD_PAL_BG   }, /* Israel */
1402 	{ "IN", V4L2_STD_PAL_B    }, /* India */
1403 	{ "IQ", V4L2_STD_SECAM_B | V4L2_STD_SECAM_G }, /* Iraq */
1404 	{ "IR", V4L2_STD_SECAM_B | V4L2_STD_SECAM_G }, /* Iran */
1405 	{ "IS", V4L2_STD_PAL_BG   }, /* Iceland */
1406 	{ "IT", V4L2_STD_PAL_BG   }, /* Italy */
1407 	{ "JM", V4L2_STD_NTSC_M   }, /* Jamaica */
1408 	{ "JO", V4L2_STD_PAL_BG   }, /* Jordan */
1409 	{ "JP", V4L2_STD_NTSC_M_JP }, /* Japan */
1410 	{ "KE", V4L2_STD_PAL_BG   }, /* Kenya */
1411 	{ "KH", V4L2_STD_PAL_BG   }, /* Cambodia */
1412 	{ "KM", V4L2_STD_SECAM_K1 }, /* Comoros */
1413 	{ "KN", V4L2_STD_NTSC_M   }, /* Saint Kitts and Nevis */
1414 	{ "KP", V4L2_STD_PAL_D    }, /* North Korea */
1415 	{ "KR", V4L2_STD_NTSC_M_KR }, /* South Korea */
1416 	{ "KW", V4L2_STD_PAL_BG   }, /* Kuwait */
1417 	{ "KZ", V4L2_STD_SECAM_D  }, /* Kazakhstan */
1418 	{ "KZ", V4L2_STD_SECAM_K  }, /* Kazakhstan */
1419 	{ "LB", V4L2_STD_SECAM_B  }, /* Lebanon */
1420 	{ "LK", V4L2_STD_PAL_BG   }, /* Sri Lanka */
1421 	{ "LR", V4L2_STD_PAL_BG   }, /* Liberia */
1422 	{ "LS", V4L2_STD_PAL_I    }, /* Lesotho */
1423 	{ "LT", V4L2_STD_SECAM_DK }, /* Lithuania */
1424 	{ "LU", V4L2_STD_PAL_BG   }, /* Luxembourg */
1425 	{ "LY", V4L2_STD_PAL_BG   }, /* Libya */
1426 	{ "MA", V4L2_STD_SECAM_B | V4L2_STD_SECAM_G }, /* Morocco */
1427 	{ "MC", V4L2_STD_PAL_G    }, /* Monaco */
1428 	{ "MD", V4L2_STD_SECAM_DK }, /* Moldova */
1429 	{ "MG", V4L2_STD_SECAM_K | V4L2_STD_SECAM_K1 }, /* Madagascar */
1430 	{ "ML", V4L2_STD_SECAM_B | V4L2_STD_SECAM_G }, /* Mali */
1431 	{ "MM", V4L2_STD_NTSC_M   }, /* Myanmar */
1432 	{ "MN", V4L2_STD_SECAM_D  }, /* Mongolia */
1433 	{ "MR", V4L2_STD_SECAM_B  }, /* Mauritania */
1434 	{ "MS", V4L2_STD_NTSC_M   }, /* Montserrat */
1435 	{ "MT", V4L2_STD_PAL_B    }, /* Malta */
1436 	{ "MU", V4L2_STD_SECAM_B | V4L2_STD_SECAM_G }, /* Mauritius */
1437 	{ "MV", V4L2_STD_PAL_B    }, /* Maldives */
1438 	{ "MW", V4L2_STD_PAL_I    }, /* Malawi */
1439 	{ "MX", V4L2_STD_NTSC_M   }, /* Mexico */
1440 	{ "MY", V4L2_STD_PAL_BG   }, /* Malaysia */
1441 	{ "MZ", V4L2_STD_PAL_G    }, /* Mozambique */
1442 	{ "NA", V4L2_STD_PAL_I    }, /* Namibia */
1443 	{ "NE", V4L2_STD_SECAM_K1 }, /* Niger */
1444 	{ "NG", V4L2_STD_PAL_BG   }, /* Nigeria */
1445 	{ "NI", V4L2_STD_NTSC_M   }, /* Nicaragua */
1446 	{ "NL", V4L2_STD_PAL_BG   }, /* Netherlands */
1447 	{ "NO", V4L2_STD_PAL_BG   }, /* Norway */
1448 	{ "NP", V4L2_STD_PAL_B    }, /* Nepal */
1449 	{ "NZ", V4L2_STD_PAL_BG   }, /* New Zealand */
1450 	{ "OM", V4L2_STD_PAL_BG   }, /* Oman */
1451 	{ "PA", V4L2_STD_NTSC_M   }, /* Panama */
1452 	{ "PE", V4L2_STD_NTSC_M   }, /* Peru */
1453 	{ "PG", V4L2_STD_PAL_BG   }, /* Papua New Guinea */
1454 	{ "PH", V4L2_STD_NTSC_M   }, /* Philippines */
1455 	{ "PK", V4L2_STD_PAL_BG   }, /* Pakistan */
1456 	{ "PL", V4L2_STD_SECAM_K  }, /* Poland */
1457 	{ "PR", V4L2_STD_NTSC_M   }, /* Puerto Rico */
1458 	{ "PT", V4L2_STD_PAL_BG   }, /* Portugal */
1459 	{ "PY", V4L2_STD_PAL_N    }, /* Paraguay */
1460 	{ "QA", V4L2_STD_PAL_BG   }, /* Qatar */
1461 	{ "RO", V4L2_STD_PAL_DK   }, /* Romania */
1462 	{ "RU", V4L2_STD_SECAM_DK }, /* Russia */
1463 	{ "RW", V4L2_STD_SECAM_K1 }, /* Rwanda */
1464 	{ "SA", V4L2_STD_PAL_BG | V4L2_STD_SECAM_B | V4L2_STD_SECAM_G }, /* Saudi Arabia */
1465 	{ "SC", V4L2_STD_PAL_B    }, /* Seychelles */
1466 	{ "SD", V4L2_STD_PAL_BG   }, /* Sudan */
1467 	{ "SE", V4L2_STD_PAL_BG   }, /* Sweden */
1468 	{ "SG", V4L2_STD_PAL_BG   }, /* Singapore */
1469 	{ "SI", V4L2_STD_PAL_BG   }, /* Slovenia */
1470 	{ "SK", V4L2_STD_SECAM_DK }, /* Slovak Republic */
1471 	{ "SL", V4L2_STD_PAL_BG   }, /* Sierra Leone */
1472 	{ "SN", V4L2_STD_SECAM_K1 }, /* Senegal */
1473 	{ "SO", V4L2_STD_PAL_BG   }, /* Somalia */
1474 	{ "SR", V4L2_STD_NTSC_M   }, /* Suriname */
1475 	{ "ST", V4L2_STD_PAL_B    }, /* Sao Tome and Principe */
1476 	{ "SV", V4L2_STD_NTSC_M   }, /* El Salvador */
1477 	{ "SY", V4L2_STD_PAL_BG   }, /* Syria */
1478 	{ "SZ", V4L2_STD_PAL_BG   }, /* Swaziland */
1479 	{ "TD", V4L2_STD_SECAM_K1 }, /* Chad */
1480 	{ "TG", V4L2_STD_SECAM_K1 }, /* Togo */
1481 	{ "TH", V4L2_STD_PAL_BG   }, /* Thailand */
1482 	{ "TN", V4L2_STD_PAL_BG   }, /* Tunisia */
1483 	{ "TR", V4L2_STD_PAL_BG   }, /* Turkey */
1484 	{ "TT", V4L2_STD_NTSC_M   }, /* Trinidad and Tobago */
1485 	{ "TW", V4L2_STD_NTSC_M   }, /* Taiwan */
1486 	{ "TZ", V4L2_STD_PAL_I    }, /* Tanzania */
1487 	{ "UA", V4L2_STD_SECAM_DK }, /* Ukraine */
1488 	{ "UG", V4L2_STD_PAL_B    }, /* Uganda */
1489 	{ "US", V4L2_STD_NTSC_M   }, /* United States */
1490 	{ "UY", V4L2_STD_PAL_N    }, /* Uruguay */
1491 	{ "VC", V4L2_STD_SECAM_K1 }, /* Cape Verde */
1492 	{ "VE", V4L2_STD_NTSC_M   }, /* Venezuela */
1493 	{ "VG", V4L2_STD_NTSC_M   }, /* Virgin Islands, British */
1494 	{ "VI", V4L2_STD_NTSC_M   }, /* Virgin Islands, U.S. */
1495 	{ "VN", V4L2_STD_SECAM_DK }, /* Vietnam */
1496 	{ "WS", V4L2_STD_NTSC_M   }, /* Samoa */
1497 	{ "YE", V4L2_STD_PAL_BG   }, /* Yemen */
1498 	{ "ZA", V4L2_STD_PAL_I    }, /* South Africa */
1499 	{ "ZM", V4L2_STD_PAL_G    }, /* Zambia */
1500 	{ "ZW", V4L2_STD_PAL_G    }, /* Zimbabwe */
1501 	{ NULL, 0 }
1502 };
1503