annotate stream/frequencies.h @ 36315:e4ab2ab9eede

Factor out some common code.
author reimar
date Wed, 07 Aug 2013 18:21:06 +0000
parents ce0122361a39
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2933
17651509aced tv frequencies
alex
parents:
diff changeset
1 /*
17651509aced tv frequencies
alex
parents:
diff changeset
2 * Worldwide channel/frequency list
17651509aced tv frequencies
alex
parents:
diff changeset
3 *
17651509aced tv frequencies
alex
parents:
diff changeset
4 * Nathan Laredo (laredo@broked.net)
17651509aced tv frequencies
alex
parents:
diff changeset
5 *
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26029
diff changeset
6 * Frequencies are given in kHz
30426
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
7 *
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
8 * This file is part of MPlayer.
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
9 *
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
10 * MPlayer is free software; you can redistribute it and/or modify
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
11 * it under the terms of the GNU General Public License as published by
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
13 * (at your option) any later version.
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
14 *
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
15 * MPlayer is distributed in the hope that it will be useful,
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
18 * GNU General Public License for more details.
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
19 *
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
20 * You should have received a copy of the GNU General Public License along
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
21 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
ce0122361a39 Add license header to all files missing it in the stream subdirectory.
diego
parents: 29263
diff changeset
22 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
2933
17651509aced tv frequencies
alex
parents:
diff changeset
23 */
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 19271
diff changeset
24
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
25 #ifndef MPLAYER_FREQUENCIES_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
26 #define MPLAYER_FREQUENCIES_H
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 19271
diff changeset
27
2933
17651509aced tv frequencies
alex
parents:
diff changeset
28 #define NTSC_AUDIO_CARRIER 4500
17651509aced tv frequencies
alex
parents:
diff changeset
29 #define PAL_AUDIO_CARRIER_I 6000
17651509aced tv frequencies
alex
parents:
diff changeset
30 #define PAL_AUDIO_CARRIER_BGHN 5500
17651509aced tv frequencies
alex
parents:
diff changeset
31 #define PAL_AUDIO_CARRIER_MN 4500
17651509aced tv frequencies
alex
parents:
diff changeset
32 #define PAL_AUDIO_CARRIER_D 6500
17651509aced tv frequencies
alex
parents:
diff changeset
33 #define SEACAM_AUDIO_DKK1L 6500
17651509aced tv frequencies
alex
parents:
diff changeset
34 #define SEACAM_AUDIO_BG 5500
17651509aced tv frequencies
alex
parents:
diff changeset
35 /* NICAM 728 32-kHz, 14-bit digital stereo audio is transmitted in 1ms frames
17651509aced tv frequencies
alex
parents:
diff changeset
36 containing 8 bits frame sync, 5 bits control, 11 bits additional data, and
17651509aced tv frequencies
alex
parents:
diff changeset
37 704 bits audio data. The bit rate is reduced by transmitting only 10 bits
17651509aced tv frequencies
alex
parents:
diff changeset
38 plus parity of each 14 bit sample, the largest sample in a frame determines
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26029
diff changeset
39 which 10 bits are transmitted. The parity bits for audio samples also
2933
17651509aced tv frequencies
alex
parents:
diff changeset
40 specify the scaling factor used for that channel during that frame. The
17651509aced tv frequencies
alex
parents:
diff changeset
41 companeded audio data is interleaved to reduce the influence of dropouts
17651509aced tv frequencies
alex
parents:
diff changeset
42 and the whole frame except for sync bits is scrambled for spectrum shaping.
17651509aced tv frequencies
alex
parents:
diff changeset
43 Data is modulated using QPSK, at below following subcarrier freqs */
17651509aced tv frequencies
alex
parents:
diff changeset
44 #define NICAM728_PAL_BGH 5850
17651509aced tv frequencies
alex
parents:
diff changeset
45 #define NICAM728_PAL_I 6552
17651509aced tv frequencies
alex
parents:
diff changeset
46
17651509aced tv frequencies
alex
parents:
diff changeset
47 /* COMPREHENSIVE LIST OF FORMAT BY COUNTRY
17651509aced tv frequencies
alex
parents:
diff changeset
48 (M) NTSC used in:
17651509aced tv frequencies
alex
parents:
diff changeset
49 Antigua, Aruba, Bahamas, Barbados, Belize, Bermuda, Bolivia, Burma,
17651509aced tv frequencies
alex
parents:
diff changeset
50 Canada, Chile, Colombia, Costa Rica, Cuba, Curacao, Dominican Republic,
17651509aced tv frequencies
alex
parents:
diff changeset
51 Ecuador, El Salvador, Guam Guatemala, Honduras, Jamaica, Japan,
17651509aced tv frequencies
alex
parents:
diff changeset
52 South Korea, Mexico, Montserrat, Myanmar, Nicaragua, Panama, Peru,
17651509aced tv frequencies
alex
parents:
diff changeset
53 Philippines, Puerto Rico, St Christopher and Nevis, Samoa, Suriname,
17651509aced tv frequencies
alex
parents:
diff changeset
54 Taiwan, Trinidad/Tobago, United States, Venezuela, Virgin Islands
17651509aced tv frequencies
alex
parents:
diff changeset
55 (B) PAL used in:
17651509aced tv frequencies
alex
parents:
diff changeset
56 Albania, Algeria, Australia, Austria, Bahrain, Bangladesh, Belgium,
17651509aced tv frequencies
alex
parents:
diff changeset
57 Bosnia-Herzegovinia, Brunei Darussalam, Cambodia, Cameroon, Croatia,
17651509aced tv frequencies
alex
parents:
diff changeset
58 Cyprus, Denmark, Egypt, Ethiopia, Equatorial Guinea, Finland, Germany,
17651509aced tv frequencies
alex
parents:
diff changeset
59 Ghana, Gibraltar, Greenland, Iceland, India, Indonesia, Israel, Italy,
17651509aced tv frequencies
alex
parents:
diff changeset
60 Jordan, Kenya, Kuwait, Liberia, Libya, Luxembourg, Malaysa, Maldives,
17651509aced tv frequencies
alex
parents:
diff changeset
61 Malta, Nepal, Netherlands, New Zeland, Nigeria, Norway, Oman, Pakistan,
17651509aced tv frequencies
alex
parents:
diff changeset
62 Papua New Guinea, Portugal, Qatar, Sao Tome and Principe, Saudi Arabia,
17651509aced tv frequencies
alex
parents:
diff changeset
63 Seychelles, Sierra Leone, Singapore, Slovenia, Somali, Spain,
17651509aced tv frequencies
alex
parents:
diff changeset
64 Sri Lanka, Sudan, Swaziland, Sweden, Switzeland, Syria, Thailand,
17651509aced tv frequencies
alex
parents:
diff changeset
65 Tunisia, Turkey, Uganda, United Arab Emirates, Yemen
17651509aced tv frequencies
alex
parents:
diff changeset
66 (N) PAL used in: (Combination N = 4.5MHz audio carrier, 3.58MHz burst)
17651509aced tv frequencies
alex
parents:
diff changeset
67 Argentina (Combination N), Paraguay, Uruguay
17651509aced tv frequencies
alex
parents:
diff changeset
68 (M) PAL (525/60, 3.57MHz burst) used in:
17651509aced tv frequencies
alex
parents:
diff changeset
69 Brazil
17651509aced tv frequencies
alex
parents:
diff changeset
70 (G) PAL used in:
17651509aced tv frequencies
alex
parents:
diff changeset
71 Albania, Algeria, Austria, Bahrain, Bosnia/Herzegovinia, Cambodia,
17651509aced tv frequencies
alex
parents:
diff changeset
72 Cameroon, Croatia, Cyprus, Denmark, Egypt, Ethiopia, Equatorial Guinea,
17651509aced tv frequencies
alex
parents:
diff changeset
73 Finland, Germany, Gibraltar, Greenland, Iceland, Israel, Italy, Jordan,
17651509aced tv frequencies
alex
parents:
diff changeset
74 Kenya, Kuwait, Liberia, Libya, Luxembourg, Malaysia, Monaco,
17651509aced tv frequencies
alex
parents:
diff changeset
75 Mozambique, Netherlands, New Zealand, Norway, Oman, Pakistan,
17651509aced tv frequencies
alex
parents:
diff changeset
76 Papa New Guinea, Portugal, Qatar, Romania, Sierra Leone, Singapore,
17651509aced tv frequencies
alex
parents:
diff changeset
77 Slovenia, Somalia, Spain, Sri Lanka, Sudan, Swaziland, Sweeden,
17651509aced tv frequencies
alex
parents:
diff changeset
78 Switzerland, Syria, Thailand, Tunisia, Turkey, United Arab Emirates,
17651509aced tv frequencies
alex
parents:
diff changeset
79 Yemen, Zambia, Zimbabwe
17651509aced tv frequencies
alex
parents:
diff changeset
80 (D) PAL used in:
17651509aced tv frequencies
alex
parents:
diff changeset
81 China, North Korea, Romania, Czech Republic
17651509aced tv frequencies
alex
parents:
diff changeset
82 (H) PAL used in:
17651509aced tv frequencies
alex
parents:
diff changeset
83 Belgium
17651509aced tv frequencies
alex
parents:
diff changeset
84 (I) PAL used in:
17651509aced tv frequencies
alex
parents:
diff changeset
85 Angola, Botswana, Gambia, Guinea-Bissau, Hong Kong, Ireland, Lesotho,
17651509aced tv frequencies
alex
parents:
diff changeset
86 Malawi, Nambia, Nigeria, South Africa, Tanzania, United Kingdom,
17651509aced tv frequencies
alex
parents:
diff changeset
87 Zanzibar
17651509aced tv frequencies
alex
parents:
diff changeset
88 (B) SECAM used in:
17651509aced tv frequencies
alex
parents:
diff changeset
89 Djibouti, Greece, Iran, Iraq, Lebanon, Mali, Mauritania, Mauritus,
17651509aced tv frequencies
alex
parents:
diff changeset
90 Morocco
17651509aced tv frequencies
alex
parents:
diff changeset
91 (D) SECAM used in:
17651509aced tv frequencies
alex
parents:
diff changeset
92 Afghanistan, Armenia, Azerbaijan, Belarus, Bulgaria,
17651509aced tv frequencies
alex
parents:
diff changeset
93 Estonia, Georgia, Hungary, Zazakhstan, Lithuania, Mongolia, Moldova,
17651509aced tv frequencies
alex
parents:
diff changeset
94 Russia, Slovak Republic, Ukraine, Vietnam
17651509aced tv frequencies
alex
parents:
diff changeset
95 (G) SECAM used in:
17651509aced tv frequencies
alex
parents:
diff changeset
96 Greecem Iran, Iraq, Mali, Mauritus, Morocco, Saudi Arabia
17651509aced tv frequencies
alex
parents:
diff changeset
97 (K) SECAM used in:
17651509aced tv frequencies
alex
parents:
diff changeset
98 Armenia, Azerbaijan, Bulgaria, Estonia, Georgia,
17651509aced tv frequencies
alex
parents:
diff changeset
99 Hungary, Kazakhstan, Lithuania, Madagascar, Moldova, Poland, Russia,
17651509aced tv frequencies
alex
parents:
diff changeset
100 Slovak Republic, Ukraine, Vietnam
17651509aced tv frequencies
alex
parents:
diff changeset
101 (K1) SECAM used in:
17651509aced tv frequencies
alex
parents:
diff changeset
102 Benin, Burkina Faso, Burundi, Chad, Cape Verde, Central African
17651509aced tv frequencies
alex
parents:
diff changeset
103 Republic, Comoros, Congo, Gabon, Madagascar, Niger, Rwanda, Senegal,
17651509aced tv frequencies
alex
parents:
diff changeset
104 Togo, Zaire
17651509aced tv frequencies
alex
parents:
diff changeset
105 (L) SECAM used in:
17651509aced tv frequencies
alex
parents:
diff changeset
106 France
17651509aced tv frequencies
alex
parents:
diff changeset
107 */
17651509aced tv frequencies
alex
parents:
diff changeset
108
17651509aced tv frequencies
alex
parents:
diff changeset
109 /* --------------------------------------------------------------------- */
17651509aced tv frequencies
alex
parents:
diff changeset
110
17651509aced tv frequencies
alex
parents:
diff changeset
111 struct CHANLIST {
18032
de6740c3ab2a 10l: huge amount of constant crap in data segment
rfelker
parents: 15472
diff changeset
112 char name[8];
2933
17651509aced tv frequencies
alex
parents:
diff changeset
113 int freq;
17651509aced tv frequencies
alex
parents:
diff changeset
114 };
17651509aced tv frequencies
alex
parents:
diff changeset
115
17651509aced tv frequencies
alex
parents:
diff changeset
116 struct CHANLISTS {
19110
08888397444e marks several strings inside structs as const when they hold just
reynaldo
parents: 18513
diff changeset
117 const char *name;
18032
de6740c3ab2a 10l: huge amount of constant crap in data segment
rfelker
parents: 15472
diff changeset
118 const struct CHANLIST *list;
de6740c3ab2a 10l: huge amount of constant crap in data segment
rfelker
parents: 15472
diff changeset
119 int count;
2933
17651509aced tv frequencies
alex
parents:
diff changeset
120 };
17651509aced tv frequencies
alex
parents:
diff changeset
121
17651509aced tv frequencies
alex
parents:
diff changeset
122 #define CHAN_COUNT(x) (sizeof(x)/sizeof(struct CHANLIST))
17651509aced tv frequencies
alex
parents:
diff changeset
123
17651509aced tv frequencies
alex
parents:
diff changeset
124 /* --------------------------------------------------------------------- */
17651509aced tv frequencies
alex
parents:
diff changeset
125
18032
de6740c3ab2a 10l: huge amount of constant crap in data segment
rfelker
parents: 15472
diff changeset
126 extern const struct CHANLISTS chanlists[];
15472
b40d7c9a6ace comment out useless/nonexistent variable breaking compile on gcc4
rfelker
parents: 2933
diff changeset
127 //extern struct STRTAB chanlist_names[];
2933
17651509aced tv frequencies
alex
parents:
diff changeset
128
17651509aced tv frequencies
alex
parents:
diff changeset
129 extern int chantab;
18513
rathann
parents: 18032
diff changeset
130 extern const struct CHANLIST *chanlist;
2933
17651509aced tv frequencies
alex
parents:
diff changeset
131 extern int chancount;
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 19271
diff changeset
132
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
133 #endif /* MPLAYER_FREQUENCIES_H */