The TV Tuner support shipped with Windows 98 and Windows 98 SE operating systems was suitable only for TV Tuning in the U.S. market. Although the general framework for International tuning was in place, there were some problems that prevented its use outside the U.S.
The TV Tuner filter (kstvtune.ax) includes internal tables for mapping channel numbers to frequencies. Fixed channel numbers are not appropriate for all markets. For instance, the European channel numbers are not actually used by consumers. Instead, the consumer is expecting to choose and assign their own channel numbers for the frequencies used by the broadcast or cable operators in their area.
This problem has been addressed by changing the notion of channel numbers to that of frequency indexes. Ordinal numbers are still used to select frequencies, but they are now treated more as indexes into tables of frequencies, than as channel numbers. In areas where channel numbers make sense (especially the US markets or markets using the US channel lineup), the indexes continue to correspond directly with the channel numbers.
Since the frequency tables were built into the TV Tuner filter, it wasn't possible to update the frequencies if they were incorrect or had become obsolete. It was also not possible to add new frequencies. This was less of a problem with broadcast frequencies, although errors in these tables could not be fixed without shipping a new binary. However, this was a very big problem with cable frequencies. Most non-US cable operators are free to broadcast on frequencies of their choosing, often mixing frequencies from different standards into the same channel lineup. This problem has been addressed in two ways. One, by providing a "Unicable" frequency table for any country lacking a standard cable channel standards authority; and two, by providing a Windows Registry-based mechanism to override one or more frequencies in the frequency tables.
The data encapsulated by the TV Tuner filter includes frequency tables, color standards, and the per-country frequency and color standard assignments. Errors in these tables and assignments could not be corrected without shipping a new TV Tuner filter. This problem has been addressed via a combination of the steps described above, as well as exhaustive research leading to updates to the internal tables and assignments. A significant amount of effort was spent to ensure that the broadcast frequencies and color standard assignments are correct for each country.
This document describes how to use the new features, and includes the frequency tables and country assignments. The new features are being introduced in Windows Millennium Beta 2. As a beta partner, we hope that you will provide feedback on these new features as you apply them to your product plans.
The most significant aspect of the new international tuning support was the simplest to implement... in fact no code changes were necessary. It's simply to not think "Channel Number" anymore; think "Frequency Index". The ramification of this is: the TV viewing application should not expose the frequency index numbers directly to the end-user. Instead, there should be an internal mapping from the Channel Number the user sees to the Frequency Index the app uses to tune to a particular frequency. In some countries, the U.S. being the most obvious, the application can do a one-to-one mapping from channel number to frequency index. But an International Tuning-ready application will allow the end-user (or an agent on behalf of the end-user) to select the channel number to use for each frequency (or index).
The TV Tuner filter continues to use frequency tables, as before, simply because the frequency tables are the end-result of a significant amount of research. There is no point in moving this responsibility up to the TV viewing application.
Despite our best efforts, there will be situations when the frequency tables are not sufficient, or have errors or have become obsolete. To address this problem, the frequencies in the TV Tuner filter's frequency tables may be selectively overridden via the registry.
Figure 1:
[HKEY_LOCAL_MACHINE\Software\Microsoft\TV System Services\TVAutoTune\TS0-1] "12"=dword:04022750 "AutoTune"=hex:00,00,00,00,50,0c,4b,03,d0,99,a6,03,50,27,02,04,d0,bd,9a,04,50,\ 4b,f6,04,50,1a,72,0a,00,00,00,00,50,35,29,0b,d0,c2,84,0b,50,50,e0,0b,d0,dd,\ 3b,0c,50,6b,97,0c,d0,20,3a,07,50,ae,95,07,d0,3b,f1,07,50,c9,4c,08,d0,56,a8,\ 08,50,e4,03,09,d0,71,5f,09,50,ff,ba,09,d0,8c,16,0a,d0,f8,f2,0c,50,86,4e,0d,\ d0,13,aa,0d,50,a1,05,0e,d0,2e,61,0e,50,bc,bc,0e,d0,49,18,0f,50,d7,73,0f,d0,\ 64,cf,0f,50,f2,2a,10,d0,7f,86,10,50,0d,e2,10,d0,9a,3d,11,50,28,99,11,d0,b5,\ f4,11,50,43,50,12,d0,d0,ab,12,50,5e,07,13,d0,eb,62,13,74,6d,bf,13,00,00,00,\ 00,00,00,00,00,d0,21,d1,14,50,af,2c,15,d0,3c,88,15,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,d0,8d,ad,17,50,1b,09,18,d0,a8,64,18,50,\ 36,c0,18,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,f4,e0,fa,20,50,7a,55,21,00,\ 00,00,00,00,00,00,00,d0,22,68,22,00,00,00,00,00,00,00,00,50,cb,7a,23,00,00,\ 00,00,50,e6,31,24,d0,73,8d,24,00,00,00,00,d0,8e,44,25,50,1c,a0,25,d0,a9,fb,\ 25,50,37,57,26,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,74,87,df,06,\ d0,c4,b2,26,50,52,0e,27,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\ 00,00,00,00,00,00,00,00,00,00,00
Figure 1(and the text version above) shows the registry path where fine-tuning and frequency overrides are stored. In this case, "TS0-1" indicates Tuning Space 0 for cable frequencies (1). There would be a TS0-0 for broadcast frequencies in tuning space 0. The structure of these registry entries has been changed from the previous version, to support the new frequency override mechanism. Previously, the TS*-* keys were binary values consisting of the fine-tuning information for the active frequency table at the time the fine-tuning was performed. In the new format, the fine-tuning information has been moved to the "AutoTune" subkey. All other subkeys are frequency override candidates. To qualify as a frequency override value, the key name must be a valid number within the range of the low and high index values of the currently active frequency table. Additionally, the value of the subkey must be of DWORD type, and must specify a frequency in Hz. Entries that don't qualify as frequency overrides are simply ignored. In the example in Figure 1, the override is for the frequency at index 12 with 67.25MHz.
There may be any number of frequency overrides for a particular tuning space, although there isn't much point in having more overrides than there are frequency indexes. It is not possible to guarantee which of two or more indexes having the same key name will be chosen as the override value.
The IAMTVTuner::put_TuningSpace method allows the application to choose which set of overrides and fine-tuning information to use. It is the application's responsibility to maintain the relationship between the Tuning Space and the frequency table.
Any application that adds frequency overrides to the registry must ensure that the registry location(s) for the tuning space(s) is(are) using the new format. The TV Tuner filter can be utilized to perform the conversion. The old registry format will be converted to the new format whenever the IAMTVTuner::StoreAutoTune method is called. Note that it is not necessary to collect any fine-tuning information before calling the StoreAutoTune method. It is also perfectly reasonable to instantiate a TV Tuner filter as part of a setup process to perform fine-tuning, or simply to do the conversion.
The following sections describe some recommended practices when using the TV Tuner filter (kstvtune.ax).
Fine-tuning Information collection is recommended for broadcast frequencies only. Cable frequencies are generally expected to be exact, while broadcast frequencies may be adjusted up or down several kHz by the broadcast station to reduce potential interference with neighboring channels. Applications may continue to use the IAMTVTuner::AutoTune method to perform fine-tuning for broadcast frequencies. This method lets the application use an index to select a frequency from the currently active table, perform a tune operation, and report the result of the tune operation (whether or not horizontal lock was achieved) in one operation. This method ignores any frequency overrides, so if it is determined that a frequency in the TV Tuner filter's frequency tables is in error, the AutoTune will not give the desired results for that frequency index.
An application will call AutoTune once for each frequency index in the range reported by IAMTVTuner::ChannelMinMax. Once the application is finished, it must call IAMTVTuner::StoreAutoTune to save the fine-tuning information in the registry. Because the AutoTune method does not properly deal with frequency overrides, the StoreAutoTune must be followed by a call to IAMTVTuner::put_TuningSpace to retrieve the overrides again.
An alternative is to mimic the operation of the AutoTune method using the IAMTVTuner::put_Channel and IAMTuner::SignalPresent methods. The put_Channel and AutoTune methods share the same implementation, so the results of calls to put_Channel also are available for IAMTVTuner::StoreAutoTune to save in the registry. The following operations are equivalent to IAMTVTuner::AutoTune:
HRESULT MyAutoTune(IAMTVTuner *pTuner, long lIndex, long *plFoundSignal) { long SignalStrength = AMTUNER_NOSIGNAL; HRESULT hr; hr = pTuner->put_Channel(lIndex, AMTUNER_SUBCHAN_DEFAULT, AMTUNER_SUBCHAN_DEFAULT); if (NOERROR == hr) pTuner->SignalPresent(&SignalStrength); // Assume AMTUNER_HASNOSIGNALSTRENGTH means tuned *plFoundSignal = (SignalStrength != AMTUNER_NOSIGNAL); return hr; }
The return codes available from the put_Channel and AutoTune methods have been expanded slightly, to compensate for the less reliable characteristics of broadcast reception. With broadcast reception, it is not always possible to get a horizontal lock, although the picture is viewable. In these cases, the tuner hardware will have a frequency lock, but the decoder won't have horizontal lock. This condition can be detected when using put_Channel or AutoTune by examining the return code.
S_OK (or NOERROR)The tune operation succeeded, the tuner got a frequency lock (and, for AutoTune, the FoundSignal parameter has been updated with the status of the decoder, indicating whether or not horizontal lock was achieved). When performing an AutoTune operation on a broadcast frequency, the application has the option of ignoring the FoundSignal parameter, since the tuner is reporting a frequency lock. Note that there is the possibility of a frequency lock on noise, but this possibility should be weighed against skipping viewable channels.
S_FALSEThere were no errors in during the tune operation, but the tuner was not able to get a frequency lock. It is highly unlikely that there is a viewable channel resulting from this operation.
E_*Any other return code indicates some error occurred.
The application chooses frequency tables and color standards by selecting the appropriate country code(s) (using the IAMTVTuner::put_CountryCode method). The country codes along with their frequency table and color standard assignments are given in section 5 below.
In order to properly support the use of frequency overrides, it is strongly recommended that the application associate a unique tuning space number with each country code that might be selected. A reasonable approach would be to use the country code value as the tuning space value. Then, every time the application switches to a new country code, it would also switch to the corresponding tuning space (in that order). This will ensure that the frequency overrides and fine-tuning information are correct for the newly-active frequency tables.
Worldwide, there is a finite, known set of broadcast frequency standards. These standards have been identified by their country of origin, but in many cases, multiple countries share the same standard. The TV Tuner filter (kstvtune.ax) defines a table for each standard.
Unfortunately, the same cannot be said for cable frequency standards. The cable providers in some countries are free to broadcast programming on frequencies of their choosing. Frequencies from multiple standards are often mixed. In most cases, this practice correlates directly with the country of origin for each of the frequency standards. The TV Tuner filter defines tables for the few cable standards (and countries) that have dependable cable frequency allocations. For all others, the Unicable frequency table must be used.
The frequency tables in the following sections are extracted verbatim from the resource file definitions used to build the tables in the TV Tuner filter. Each table starts with its resource ID. You can use these resource IDs to cross-reference from the Country Code assignments, presented in section 5.2 below, to determine which tables are in use for each country or locale.
The frequency indexes in the Australia table are not suitable for use as channel numbers. Also note that channels 3, 4, 5, and 5A are being phased out for other uses.
F_OZ__BROAD RCDATA BEGIN 1L, // Lowest index 53L, // Highest index 46250000L, // 0 (1) VHF Band 1 57250000L, // 1 (2) 64250000L, // 2 (3) VHF Band 2 86250000L, // 3 (4) 95250000L, // 4 (5) 102250000L, // 5 (6) 138250000L, // 5a (7) VHF Band 3 175250000L, // 6 (8) 182250000L, // 7 (9) 189250000L, // 8 (10) 196250000L, // 9 (11) 209250000L, // 10 (12) 216250000L, // 11 (13) 223250000L, // 12 (14) 527250000L, // 28 (15) UHF Band 4 534250000L, // 29 (16) 541250000L, // 30 (17) 548250000L, // 31 (18) 555250000L, // 32 (19) 562250000L, // 33 (20) 569250000L, // 34 (21) 576250000L, // 35 (22) 604250000L, // 39 (23) UHF Band 5 611250000L, // 40 (24) 618250000L, // 41 (25) 625250000L, // 42 (26) 632250000L, // 43 (27) 639250000L, // 44 (28) 646250000L, // 45 (29) 653250000L, // 46 (30) 660250000L, // 47 (31) 667250000L, // 48 (32) 674250000L, // 49 (33) 681250000L, // 50 (34) 688250000L, // 51 (35) 695250000L, // 52 (36) 702250000L, // 53 (37) 709250000L, // 54 (38) 716250000L, // 55 (39) 723250000L, // 56 (40) 730250000L, // 57 (41) 737250000L, // 58 (42) 744250000L, // 59 (43) 751250000L, // 60 (44) 758250000L, // 61 (45) 765250000L, // 62 (46) 772250000L, // 63 (47) 779250000L, // 64 (48) 786250000L, // 65 (49) 793250000L, // 66 (50) 800250000L, // 67 (51) 807250000L, // 68 (52) 814250000L, // 69 (53) END
There was no data supporting a standardized cable lineup, so the Unicable frequency table will be used.
The frequency indexes in the China table are suitable for use as channel numbers.
F_CHN_BROAD RCDATA BEGIN 1L, // Lowest channel 36L, // Highest channel 49750000L, // 1 57750000L, // 2 65750000L, // 3 77250000L, // 4 85250000L, // 5 168250000L, // 6 176250000L, // 7 184250000L, // 8 192250000L, // 9 200250000L, // 10 208250000L, // 11 216250000L, // 12 471250000L, // 13 479250000L, // 14 487250000L, // 15 495250000L, // 16 503250000L, // 17 511250000L, // 18 519250000L, // 19 527250000L, // 20 535250000L, // 21 543250000L, // 22 551250000L, // 23 559250000L, // 24 605250000L, // 25 613250000L, // 26 621250000L, // 27 629250000L, // 28 637250000L, // 29 645250000L, // 30 653250000L, // 31 661250000L, // 32 669250000L, // 33 677250000L, // 34 685250000L, // 35 693250000L, // 36 END
F_CHN_CABLE RCDATA BEGIN 1L, // Lowest channel 52L, // Highest channel 49750000L, // 1 57750000L, // 2 65750000L, // 3 77250000L, // 4 85250000L, // 5 112250000L, // 6 120250000L, // 7 128250000L, // 8 136250000L, // 9 144250000L, // 10 152250000L, // 11 160250000L, // 12 168250000L, // 13 176250000L, // 14 184250000L, // 15 192250000L, // 16 200250000L, // 17 208250000L, // 18 216250000L, // 19 224250000L, // 20 232250000L, // 21 240250000L, // 22 248250000L, // 23 256250000L, // 24 264250000L, // 25 272250000L, // 26 280250000L, // 27 288250000L, // 28 471250000L, // 29 479250000L, // 30 487250000L, // 31 495250000L, // 32 503250000L, // 33 511250000L, // 34 519250000L, // 35 527250000L, // 36 535250000L, // 37 543250000L, // 38 551250000L, // 39 559250000L, // 40 567250000L, // 41 575250000L, // 42 583250000L, // 43 591250000L, // 44 599250000L, // 45 607250000L, // 46 615250000L, // 47 623250000L, // 48 631250000L, // 49 639250000L, // 50 647250000L, // 51 655250000L, // 52 END
The frequency indexes in the Czech Republic tables are not suitable for use as channel numbers.
F_CZE_BROAD RCDATA BEGIN 1L, // Lowest index 69L, // Highest index 49750000L, // 1 57750000L, // 2 59250000L, // 3 65750000L, // 4 77250000L, // 5 85250000L, // 6 93250000L, // 7 175250000L, // 8 183250000L, // 9 191250000L, // 10 199250000L, // 11 207250000L, // 12 215250000L, // 13 223250000L, // 14 0L, // 15 Not used 0L, // 16 Not used 0L, // 17 Not used 0L, // 18 Not used 0L, // 19 Not used 0L, // 20 Not used 471250000L, // 21 479250000L, // 22 487250000L, // 23 495250000L, // 24 503250000L, // 25 511250000L, // 26 519250000L, // 27 527250000L, // 28 535250000L, // 29 543250000L, // 30 551250000L, // 31 559250000L, // 32 567250000L, // 33 575250000L, // 34 583250000L, // 35 591250000L, // 36 599250000L, // 37 607250000L, // 38 615250000L, // 39 623250000L, // 40 631250000L, // 41 639250000L, // 42 647250000L, // 43 655250000L, // 44 663250000L, // 45 671250000L, // 46 679250000L, // 47 687250000L, // 48 695250000L, // 49 703250000L, // 50 711250000L, // 51 719250000L, // 52 727250000L, // 53 735250000L, // 54 743250000L, // 55 751250000L, // 56 759250000L, // 57 767250000L, // 58 775250000L, // 59 783250000L, // 60 791250000L, // 61 799250000L, // 62 807250000L, // 63 815250000L, // 64 823250000L, // 65 831250000L, // 66 839250000L, // 67 847250000L, // 68 855250000L, // 69 END
There was no data supporting a standardized cable lineup, so the Unicable frequency table (see below) will be used.
The frequency indexes in the Eastern Europe tables are not suitable for use as channel numbers.
F_EEU_BROAD RCDATA BEGIN 1L, // Lowest index 69L, // Highest index 49750000L, // 1 59250000L, // 2 77250000L, // 3 85250000L, // 4 93250000L, // 5 175250000L, // 6 183250000L, // 7 191250000L, // 8 199250000L, // 9 207250000L, // 10 215250000L, // 11 223250000L, // 12 0L, // 13 Not used 0L, // 14 Not used 0L, // 15 Not used 0L, // 16 Not used 0L, // 17 Not used 0L, // 18 Not used 0L, // 19 Not used 0L, // 20 Not used 471250000L, // 21 479250000L, // 22 487250000L, // 23 495250000L, // 24 503250000L, // 25 511250000L, // 26 519250000L, // 27 527250000L, // 28 535250000L, // 29 543250000L, // 30 551250000L, // 31 559250000L, // 32 567250000L, // 33 575250000L, // 34 583250000L, // 35 591250000L, // 36 599250000L, // 37 607250000L, // 38 615250000L, // 39 623250000L, // 40 631250000L, // 41 639250000L, // 42 647250000L, // 43 655250000L, // 44 663250000L, // 45 671250000L, // 46 679250000L, // 47 687250000L, // 48 695250000L, // 49 703250000L, // 50 711250000L, // 51 719250000L, // 52 727250000L, // 53 735250000L, // 54 743250000L, // 55 751250000L, // 56 759250000L, // 57 767250000L, // 58 775250000L, // 59 783250000L, // 60 791250000L, // 61 799250000L, // 62 807250000L, // 63 815250000L, // 64 823250000L, // 65 831250000L, // 66 839250000L, // 67 847250000L, // 68 855250000L, // 69 END
There was no data supporting a standardized cable lineup, so the Unicable frequency table (see below) will be used.
The frequency indexes in the France tables are not suitable for use as channel numbers.
F_FRA_BROAD RCDATA BEGIN 2L, // Lowest index 69L, // Highest index 55750000L, // 2 60500000L, // 3 63750000L, // 4 176000000L, // 5 184000000L, // 6 192000000L, // 7 200000000L, // 8 208000000L, // 9 216000000L, // 10 0L, // 11 Not used 0L, // 12 Not used 0L, // 13 Not used 0L, // 14 Not used 0L, // 15 Not used 0L, // 16 Not used 0L, // 17 Not used 0L, // 18 Not used 0L, // 19 Not used 0L, // 20 Not used 471250000L, // 21 479250000L, // 22 487250000L, // 23 495250000L, // 24 503250000L, // 25 511250000L, // 26 519250000L, // 27 527250000L, // 28 535250000L, // 29 543250000L, // 30 551250000L, // 31 559250000L, // 32 567250000L, // 33 575250000L, // 34 583250000L, // 35 591250000L, // 36 599250000L, // 37 607250000L, // 38 615250000L, // 39 623250000L, // 40 631250000L, // 41 639250000L, // 42 647250000L, // 43 655250000L, // 44 663250000L, // 45 671250000L, // 46 679250000L, // 47 687250000L, // 48 695250000L, // 49 703250000L, // 50 711250000L, // 51 719250000L, // 52 727250000L, // 53 735250000L, // 54 743250000L, // 55 751250000L, // 56 759250000L, // 57 767250000L, // 58 775250000L, // 59 783250000L, // 60 791250000L, // 61 799250000L, // 62 807250000L, // 63 815250000L, // 64 823250000L, // 65 831250000L, // 66 839250000L, // 67 847250000L, // 68 855250000L, // 69 END
There was no data supporting a standardized cable lineup, so the Unicable frequency table (see below) will be used.
The frequency indexes in the French Overseas Territories broadcast table are suitable for use as channel numbers; the cable frequency indexes will not suitable for use as channel numbers.
F_FOT_BROAD RCDATA BEGIN 4L, // Lowest channel 9L, // Highest channel 175250000L, // 4 183250000L, // 5 191250000L, // 6 199250000L, // 7 207250000L, // 8 215250000L, // 9 END
There was no data supporting a standardized cable lineup, so the Unicable frequency table (see below) will be used.
The frequency indexes in the Ireland tables are not suitable for use as channel numbers.
F_IRE_BROAD RCDATA BEGIN 1L, // Lowest index 10L, // Highest index 45750000L, // A 53750000L, // B 61750000L, // C 175250000L, // D 183750000L, // E 191250000L, // F 199250000L, // G 207250000L, // H 215250000L, // I 223250000L, // J END
There was no data supporting a standardized cable lineup, so the Unicable frequency table (see below) will be used.
The frequency indexes in the Italy tables are not suitable for use as channel numbers.
F_ITA_BROAD RCDATA BEGIN 1L, // Lowest index 10L, // Highest index 53750000L, // 1 A 59750000L, // 2 B 82750000L, // 3 C 175250000L, // 4 D 183750000L, // 5 E 192250000L, // 6 F 201250000L, // 7 G 210250000L, // 8 H 217250000L, // 9 H1 224250000L, // 10 H2 END
There was no data supporting a standardized cable lineup, so the Unicable frequency table (see below) will be used.
The frequency indexes in the Japan tables are suitable for use as channel numbers.
F_JAP_BROAD RCDATA BEGIN 1L, // Lowest channel 62L, // Highest channel 91250000L, // 1 97250000L, // 2 103250000L, // 3 171250000L, // 4 177250000L, // 5 183250000L, // 6 189250000L, // 7 193250000L, // 8 199250000L, // 9 205250000L, // 10 211250000L, // 11 217250000L, // 12 471250000L, // 13 477250000L, // 14 483250000L, // 15 489250000L, // 16 495250000L, // 17 501250000L, // 18 507250000L, // 19 513250000L, // 20 519250000L, // 21 525250000L, // 22 531250000L, // 23 537250000L, // 24 543250000L, // 25 549250000L, // 26 555250000L, // 27 561250000L, // 28 567250000L, // 29 573250000L, // 30 579250000L, // 31 585250000L, // 32 591250000L, // 33 597250000L, // 34 603250000L, // 35 609250000L, // 36 615250000L, // 37 621250000L, // 38 627250000L, // 39 633250000L, // 40 639250000L, // 41 645250000L, // 42 651250000L, // 43 657250000L, // 44 663250000L, // 45 669250000L, // 46 675250000L, // 47 681250000L, // 48 687250000L, // 49 693250000L, // 50 699250000L, // 51 705250000L, // 52 711250000L, // 53 717250000L, // 54 723250000L, // 55 729250000L, // 56 735250000L, // 57 741250000L, // 58 747250000L, // 59 753250000L, // 60 759250000L, // 61 765250000L, // 62 END
F_JAP_CABLE RCDATA BEGIN 1L, // Lowest channel 113L, // Highest channel 91250000L, // 1 97250000L, // 2 103250000L, // 3 109250000L, // 4 115250000L, // 5 121250000L, // 6 127250000L, // 7 133250000L, // 8 139250000L, // 9 145250000L, // 10 151250000L, // 11 157250000L, // 12 165250000L, // 13 171250000L, // 14 177250000L, // 15 183250000L, // 16 189250000L, // 17 193250000L, // 18 199250000L, // 19 205250000L, // 20 211250000L, // 21 217250000L, // 22 223250000L, // 23 231250000L, // 24 237250000L, // 25 243250000L, // 26 249250000L, // 27 253250000L, // 28 259250000L, // 29 265250000L, // 30 271250000L, // 31 277250000L, // 32 283250000L, // 33 289250000L, // 34 295250000L, // 35 301250000L, // 36 307250000L, // 37 313250000L, // 38 319250000L, // 39 325250000L, // 40 331250000L, // 41 337250000L, // 42 343250000L, // 43 349250000L, // 44 355250000L, // 45 361250000L, // 46 367250000L, // 47 373250000L, // 48 379250000L, // 49 385250000L, // 50 391250000L, // 51 397250000L, // 52 403250000L, // 53 409250000L, // 54 415250000L, // 55 421250000L, // 56 427250000L, // 57 433250000L, // 58 439250000L, // 59 445250000L, // 60 451250000L, // 61 457250000L, // 62 463250000L, // 63 471250000L, // Test 477250000L, // Test 483250000L, // Test 489250000L, // Test 495250000L, // Test 501250000L, // Test 507250000L, // Test 513250000L, // Test 519250000L, // Test 525250000L, // Test 531250000L, // Test 537250000L, // Test 543250000L, // Test 549250000L, // Test 555250000L, // Test 561250000L, // Test 567250000L, // Test 573250000L, // Test 579250000L, // Test 585250000L, // Test 591250000L, // Test 597250000L, // Test 603250000L, // Test 609250000L, // Test 615250000L, // Test 621250000L, // Test 627250000L, // Test 633250000L, // Test 639250000L, // Test 645250000L, // Test 651250000L, // Test 657250000L, // Test 663250000L, // Test 669250000L, // Test 675250000L, // Test 681250000L, // Test 687250000L, // Test 693250000L, // Test 699250000L, // Test 705250000L, // Test 711250000L, // Test 717250000L, // Test 723250000L, // Test 729250000L, // Test 735250000L, // Test 741250000L, // Test 747250000L, // Test 753250000L, // Test 759250000L, // Test 765250000L, // Test END
The frequency indexes in the New Zealand broadcast table are suitable for use as channel numbers; the cable frequency indexes will not suitable for use as channel numbers.
F_NZ__BROAD RCDATA BEGIN 1L, // Lowest channel 11L, // Highest channel 45250000L, // 1 55250000L, // 2 62250000L, // 3 175250000L, // 4 182250000L, // 5 189250000L, // 6 196250000L, // 7 203250000L, // 8 210250000L, // 9 217250000L, // 10 224250000L, // 11 END
There was no data supporting a standardized cable lineup, so the Unicable frequency table (see below) will be used.
The NTSC tables are appropriate for any locale using the NTSC standard channel line-ups. Both Broadcast and Cable lineups are standardized and stable. Also, the frequency indexes are suitable for use as channel numbers.
F_USA_BROAD RCDATA BEGIN 2L, // Lowest channel 69L, // Highest channel 55250000L, // 2 61250000L, // 3 67250000L, // 4 77250000L, // 5 83250000L, // 6 175250000L, // 7 181250000L, // 8 187250000L, // 9 193250000L, // 10 199250000L, // 11 205250000L, // 12 211250000L, // 13 471250000L, // 14 477250000L, // 15 483250000L, // 16 489250000L, // 17 495250000L, // 18 501250000L, // 19 507250000L, // 20 513250000L, // 21 519250000L, // 22 525250000L, // 23 531250000L, // 24 537250000L, // 25 543250000L, // 26 549250000L, // 27 555250000L, // 28 561250000L, // 29 567250000L, // 30 573250000L, // 31 579250000L, // 32 585250000L, // 33 591250000L, // 34 597250000L, // 35 603250000L, // 36 609250000L, // 37 615250000L, // 38 621250000L, // 39 627250000L, // 40 633250000L, // 41 639250000L, // 42 645250000L, // 43 651250000L, // 44 657250000L, // 45 663250000L, // 46 669250000L, // 47 675250000L, // 48 681250000L, // 49 687250000L, // 50 693250000L, // 51 699250000L, // 52 705250000L, // 53 711250000L, // 54 717250000L, // 55 723250000L, // 56 729250000L, // 57 735250000L, // 58 741250000L, // 59 747250000L, // 60 753250000L, // 61 759250000L, // 62 765250000L, // 63 771250000L, // 64 777250000L, // 65 783250000L, // 66 789250000L, // 67 795250000L, // 68 801250000L, // 69 END
F_USA_CABLE RCDATA BEGIN 1L, // Lowest channel 158L, // Highest channel 73250000L, // 1 55250000L, // 2 61250000L, // 3 67250000L, // 4 77250000L, // 5 83250000L, // 6 175250000L, // 7 181250000L, // 8 187250000L, // 9 193250000L, // 10 199250000L, // 11 205250000L, // 12 211250000L, // 13 121250000L, // 14 127250000L, // 15 133250000L, // 16 139250000L, // 17 145250000L, // 18 151250000L, // 19 157250000L, // 20 163250000L, // 21 169250000L, // 22 217250000L, // 23 223250000L, // 24 229250000L, // 25 235250000L, // 26 241250000L, // 27 247250000L, // 28 253250000L, // 29 259250000L, // 30 265250000L, // 31 271250000L, // 32 277250000L, // 33 283250000L, // 34 289250000L, // 35 295250000L, // 36 301250000L, // 37 307250000L, // 38 313250000L, // 39 319250000L, // 40 325250000L, // 41 331250000L, // 42 337250000L, // 43 343250000L, // 44 349250000L, // 45 355250000L, // 46 361250000L, // 47 367250000L, // 48 373250000L, // 49 379250000L, // 50 385250000L, // 51 391250000L, // 52 397250000L, // 53 403250000L, // 54 409250000L, // 55 415250000L, // 56 421250000L, // 57 427250000L, // 58 433250000L, // 59 439250000L, // 60 445250000L, // 61 451250000L, // 62 457250000L, // 63 463250000L, // 64 469250000L, // 65 475250000L, // 66 481250000L, // 67 487250000L, // 68 493250000L, // 69 499250000L, // 70 505250000L, // 71 511250000L, // 72 517250000L, // 73 523250000L, // 74 529250000L, // 75 535250000L, // 76 541250000L, // 77 547250000L, // 78 553250000L, // 79 559250000L, // 80 565250000L, // 81 571250000L, // 82 577250000L, // 83 583250000L, // 84 589250000L, // 85 595250000L, // 86 601250000L, // 87 607250000L, // 88 613250000L, // 89 619250000L, // 90 625250000L, // 91 631250000L, // 92 637250000L, // 93 643250000L, // 94 91250000L, // 95 97250000L, // 96 103250000L, // 97 109250000L, // 98 115250000L, // 99 649250000L, // 100 655250000L, // 101 661250000L, // 102 667250000L, // 103 673250000L, // 104 679250000L, // 105 685250000L, // 106 691250000L, // 107 697250000L, // 108 703250000L, // 109 709250000L, // 110 715250000L, // 111 721250000L, // 112 727250000L, // 113 733250000L, // 114 739250000L, // 115 745250000L, // 116 751250000L, // 117 757250000L, // 118 763250000L, // 119 769250000L, // 120 775250000L, // 121 781250000L, // 122 787250000L, // 123 793250000L, // 124 799250000L, // 125 805250000L, // 126 811250000L, // 127 817250000L, // 128 823250000L, // 129 829250000L, // 130 835250000L, // 131 841250000L, // 132 847250000L, // 133 853250000L, // 134 859250000L, // 135 865250000L, // 136 871250000L, // 137 877250000L, // 138 883250000L, // 139 889250000L, // 140 895250000L, // 141 901250000L, // 142 907250000L, // 143 913250000L, // 144 919250000L, // 145 925250000L, // 146 931250000L, // 147 937250000L, // 148 943250000L, // 149 949250000L, // 150 955250000L, // 151 961250000L, // 152 967250000L, // 153 973250000L, // 154 979250000L, // 155 985250000L, // 156 991250000L, // 157 997250000L, // 158 END
The frequency indexes in the United Kingdom tables are not suitable for use as channel numbers.
F_UK__BROAD RCDATA BEGIN 1L, // Lowest index 69L, // Highest index 45750000L, // 1 53750000L, // 2 61750000L, // 3 175250000L, // 4 183250000L, // 5 191250000L, // 6 199250000L, // 7 207250000L, // 8 215250000L, // 9 223250000L, // 10 231250000L, // 11 0L, // 12 not used 0L, // 13 not used 0L, // 14 not used 0L, // 15 not used 0L, // 16 not used 0L, // 17 not used 0L, // 18 not used 0L, // 19 not used 0L, // 20 not used 471250000L, // 21 479250000L, // 22 487250000L, // 23 495250000L, // 24 503250000L, // 25 511250000L, // 26 519250000L, // 27 527250000L, // 28 535250000L, // 29 543250000L, // 30 551250000L, // 31 559250000L, // 32 567250000L, // 33 575250000L, // 34 583250000L, // 35 591250000L, // 36 599250000L, // 37 607250000L, // 38 615250000L, // 39 623250000L, // 40 631250000L, // 41 639250000L, // 42 647250000L, // 43 655250000L, // 44 663250000L, // 45 671250000L, // 46 679250000L, // 47 687250000L, // 48 695250000L, // 49 703250000L, // 50 711250000L, // 51 719250000L, // 52 727250000L, // 53 735250000L, // 54 743250000L, // 55 751250000L, // 56 759250000L, // 57 767250000L, // 58 775250000L, // 59 783250000L, // 60 791250000L, // 61 799250000L, // 62 807250000L, // 63 815250000L, // 64 823250000L, // 65 831250000L, // 66 839250000L, // 67 847250000L, // 68 855250000L, // 69 END
F_UK__CABLE RCDATA BEGIN 1L, // Lowest index 107L, // Highest index 48250000L, // 1 E2 49750000L, // 2 E2A 55250000L, // 3 E3 62250000L, // 4 E4 69250000L, // 5 S01 76250000L, // 6 S02 83250000L, // 7 S03 90250000L, // 8 S04 97250000L, // 9 S05 105250000L, // 10 S1 112250000L, // 11 S2 119250000L, // 12 S3 126250000L, // 13 S4 133250000L, // 14 S5 140250000L, // 15 S6 147250000L, // 16 S7 154250000L, // 17 S8 161250000L, // 18 S9 168250000L, // 19 S10 175250000L, // 20 E5 182250000L, // 21 E6 189250000L, // 22 E7 196250000L, // 23 E8 203250000L, // 24 E9 210250000L, // 25 E10 217250000L, // 26 E11 224250000L, // 27 E12 231250000L, // 28 S11 238250000L, // 29 S12 245250000L, // 30 S13 252250000L, // 31 S14 259250000L, // 32 S15 266250000L, // 33 S16 273250000L, // 34 S17 280250000L, // 35 S18 287250000L, // 36 S19 294250000L, // 37 S20 303250000L, // 38 S21 311250000L, // 39 S22 319250000L, // 40 S23 327250000L, // 41 S24 335250000L, // 42 S25 343250000L, // 43 S26 351250000L, // 44 S27 359250000L, // 45 S28 367250000L, // 46 S29 375250000L, // 47 S30 383250000L, // 48 S31 391250000L, // 49 S32 399250000L, // 50 S33 407250000L, // 51 S34 415250000L, // 52 S35 423250000L, // 53 S36 431250000L, // 54 S37 439250000L, // 55 S38 447250000L, // 56 S39 455250000L, // 57 S40 463250000L, // 58 S41 471250000L, // 59 479250000L, // 60 487250000L, // 61 495250000L, // 62 503250000L, // 63 511250000L, // 64 519250000L, // 65 527250000L, // 66 535250000L, // 67 543250000L, // 68 551250000L, // 69 559250000L, // 70 567250000L, // 71 575250000L, // 72 583250000L, // 73 591250000L, // 74 599250000L, // 75 607250000L, // 76 615250000L, // 77 623250000L, // 78 631250000L, // 79 639250000L, // 80 647250000L, // 81 655250000L, // 82 663250000L, // 83 671250000L, // 84 679250000L, // 85 687250000L, // 86 695250000L, // 87 703250000L, // 88 711250000L, // 89 719250000L, // 90 727250000L, // 91 735250000L, // 92 743250000L, // 93 751250000L, // 94 759250000L, // 95 767250000L, // 96 775250000L, // 97 783250000L, // 98 791250000L, // 99 799250000L, // 100 807250000L, // 101 815250000L, // 102 823250000L, // 103 831250000L, // 104 839250000L, // 105 847250000L, // 106 855250000L, // 107 END
The frequency indexes in the Western Europe tables are not suitable for use as channel numbers.
F_WEU_BROAD RCDATA BEGIN 1L, // Lowest index 69L, // Highest index 48250000L, // 2 49750000L, // 2A 55250000L, // 3 62250000L, // 4 175250000L, // 5 182250000L, // 6 189250000L, // 7 196250000L, // 8 203250000L, // 9 210250000L, // 10 217250000L, // 11 224250000L, // 12 0L, // 13 Not used 0L, // 14 Not used 0L, // 15 Not used 0L, // 16 Not used 0L, // 17 Not used 0L, // 18 Not used 0L, // 19 Not used 0L, // 20 Not used 471250000L, // 21 479250000L, // 22 487250000L, // 23 495250000L, // 24 503250000L, // 25 511250000L, // 26 519250000L, // 27 527250000L, // 28 535250000L, // 29 543250000L, // 30 551250000L, // 31 559250000L, // 32 567250000L, // 33 575250000L, // 34 583250000L, // 35 591250000L, // 36 599250000L, // 37 607250000L, // 38 615250000L, // 39 623250000L, // 40 631250000L, // 41 639250000L, // 42 647250000L, // 43 655250000L, // 44 663250000L, // 45 671250000L, // 46 679250000L, // 47 687250000L, // 48 695250000L, // 49 703250000L, // 50 711250000L, // 51 719250000L, // 52 727250000L, // 53 735250000L, // 54 743250000L, // 55 751250000L, // 56 759250000L, // 57 767250000L, // 58 775250000L, // 59 783250000L, // 60 791250000L, // 61 799250000L, // 62 807250000L, // 63 815250000L, // 64 823250000L, // 65 831250000L, // 66 839250000L, // 67 847250000L, // 68 855250000L, // 69 END
There was data supporting a standardized cable lineup for some countries. However, for those countries not reporting channel lineup data, the Unicable frequency table (see below) will be used.
F_WEU_CABLE RCDATA BEGIN 1L, // Lowest index 107L, // Highest index 48250000L, // 1 E2 49750000L, // 2 E2A 55250000L, // 3 E3 62250000L, // 4 E4 69250000L, // 5 S01 76250000L, // 6 S02 83250000L, // 7 S03 90250000L, // 8 S04 97250000L, // 9 S05 105250000L, // 10 S1 112250000L, // 11 S2 119250000L, // 12 S3 126250000L, // 13 S4 133250000L, // 14 S5 140250000L, // 15 S6 147250000L, // 16 S7 154250000L, // 17 S8 161250000L, // 18 S9 168250000L, // 19 S10 175250000L, // 20 E5 182250000L, // 21 E6 189250000L, // 22 E7 196250000L, // 23 E8 203250000L, // 24 E9 210250000L, // 25 E10 217250000L, // 26 E11 224250000L, // 27 E12 231250000L, // 28 S11 238250000L, // 29 S12 245250000L, // 30 S13 252250000L, // 31 S14 259250000L, // 32 S15 266250000L, // 33 S16 273250000L, // 34 S17 280250000L, // 35 S18 287250000L, // 36 S19 294250000L, // 37 S20 303250000L, // 38 S21 311250000L, // 39 S22 319250000L, // 40 S23 327250000L, // 41 S24 335250000L, // 42 S25 343250000L, // 43 S26 351250000L, // 44 S27 359250000L, // 45 S28 367250000L, // 46 S29 375250000L, // 47 S30 383250000L, // 48 S31 391250000L, // 49 S32 399250000L, // 50 S33 407250000L, // 51 S34 415250000L, // 52 S35 423250000L, // 53 S36 431250000L, // 54 S37 439250000L, // 55 S38 447250000L, // 56 S39 455250000L, // 57 S40 463250000L, // 58 S41 471250000L, // 59 479250000L, // 60 487250000L, // 61 495250000L, // 62 503250000L, // 63 511250000L, // 64 519250000L, // 65 527250000L, // 66 535250000L, // 67 543250000L, // 68 551250000L, // 69 559250000L, // 70 567250000L, // 71 575250000L, // 72 583250000L, // 73 591250000L, // 74 599250000L, // 75 607250000L, // 76 615250000L, // 77 623250000L, // 78 631250000L, // 79 639250000L, // 80 647250000L, // 81 655250000L, // 82 663250000L, // 83 671250000L, // 84 679250000L, // 85 687250000L, // 86 695250000L, // 87 703250000L, // 88 711250000L, // 89 719250000L, // 90 727250000L, // 91 735250000L, // 92 743250000L, // 93 751250000L, // 94 759250000L, // 95 767250000L, // 96 775250000L, // 97 783250000L, // 98 791250000L, // 99 799250000L, // 100 807250000L, // 101 815250000L, // 102 823250000L, // 103 831250000L, // 104 839250000L, // 105 847250000L, // 106 855250000L, // 107 END
Due to its length, the Unicable table is not included here. The goal behind the Unicable table is to include a comprehensive set of frequencies (basically all other tables combined, plus some real-world observations) in one table to facilitate an automated channel scan without resorting to a linear search of the entire frequency spectrum. For those frequencies not covered by this table, the consumer will be required to enter a frequency through a custom user interface, resulting in a frequency override entry in the registry (see section 0 above).
The number in the first column is the country code, as provided by international telephone dialing standards. This country code number can be passed to the IAMTVTuner::put_CountryCode method to select the color standard, and default frequency mappings.
RCDATA_COUNTRYLIST RCDATA BEGIN 1, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // United States of America // Anguilla // Antigua // Bahamas // Barbados // Bermuda // British Virgin Islands // Canada // Cayman Islands // Dominica // Dominican Republic // Grenada // Jamaica // Montserrat // Nevis // St. Kitts // St. Vincent and the Grenadines // Trinidad and Tobago // Turks and Caicos Islands // Barbuda // Puerto Rico // Saint Lucia // United States Virgin Islands 2, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Canada (WIN.INI is bogus for this one country) 20, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_B, // Egypt 212, F_UNI_CABLE, F_FIX_BROAD, AnalogVideo_SECAM_B, // Morocco 213, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Algeria 216, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_B, // Tunisia 218, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_B, // Libya 220, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Gambia 221, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Senegal Republic 222, F_UNI_CABLE, F_FIX_BROAD, AnalogVideo_SECAM_B, // Mauritania 223, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_SECAM_K, // Mali 224, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_SECAM_K, // Guinea 225, F_UNI_CABLE, F_FIX_BROAD, AnalogVideo_SECAM_K, // Ivory Coast 226, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_SECAM_K, // Burkina Faso 227, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Niger 228, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Togo 229, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Benin 230, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_B, // Mauritius 231, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Liberia 232, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Sierra Leone 233, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Ghana 234, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Nigeria 235, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Chad 236, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Central African Republic 237, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Cameroon 238, F_UNI_CABLE, F_FIX_BROAD, AnalogVideo_FIX___, // Cape Verde Islands 239, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Sao Tome and Principe 240, F_UNI_CABLE, F_FIX_BROAD, AnalogVideo_SECAM_B, // Equatorial Guinea 241, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Gabon 242, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_D, // Congo 243, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Zaire 244, F_UNI_CABLE, F_FIX_BROAD, AnalogVideo_PAL_I, // Angola 245, F_UNI_CABLE, F_FIX_BROAD, AnalogVideo_FIX___, // Guinea-Bissau 246, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Diego Garcia 247, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Ascension Island 248, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Seychelle Islands 249, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Sudan 250, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B,, // Rwanda 251, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Ethiopia 252, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Somalia 253, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Djibouti 254, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Kenya 255, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Tanzania 256, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Uganda 257, F_UNI_CABLE, F_FIX_BROAD, AnalogVideo_SECAM_K, // Burundi 258, F_UNI_CABLE, F_FIX_BROAD, AnalogVideo_PAL_B, // Mozambique 260, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Zambia 261, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Madagascar 262, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Reunion Island 263, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Zimbabwe 264, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_I, // Namibia 265, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Malawi 266, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_I, // Lesotho 267, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_SECAM_K, // Botswana 268, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Swaziland 269, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_SECAM_K, // Mayotte Island 269, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Comoros 27, F_UNI_CABLE, F_UK__BROAD, AnalogVideo_PAL_I, // South Africa 290, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // St. Helena 291, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Eritrea 297, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Aruba 298, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Faroe Islands 299, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Greenland 30, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_B, // Greece 31, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Netherlands 32, F_WEU_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Belgium 33, F_UNI_CABLE, F_FRA_BROAD, AnalogVideo_SECAM_L, // France 34, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Spain 350, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Gibraltar 351, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Portugal 352, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Luxembourg 353, F_UNI_CABLE, F_IRE_BROAD, AnalogVideo_PAL_I, // Ireland 354, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Iceland 355, F_UNI_CABLE, F_ITA_BROAD, AnalogVideo_PAL_B, // Albania 356, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Malta 357, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Cyprus 358, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Finland 359, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Bulgaria 36, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Hungary 370, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Lithuania 371, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_SECAM_D, // Latvia 372, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Estonia 373, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Moldova 374, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Armenia 375, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Belarus 376, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Andorra 377, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_G, // Monaco 378, F_UNI_CABLE, F_ITA_BROAD, AnalogVideo_PAL_B, // San Marino 380, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Ukraine 381, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Yugoslavia 385, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Croatia 386, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Slovenia 387, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Bosnia and Herzegovina 389, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // F.Y.R.O.M. (Former Yugoslav Republic of Macedonia) 39, F_UNI_CABLE, F_ITA_BROAD, AnalogVideo_PAL_B, // Italy 39, F_UNI_CABLE, F_ITA_BROAD, AnalogVideo_PAL_B, // Vatican City 40, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_PAL_D, // Romania 41, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Switzerland 41, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Liechtenstein 420, F_UNI_CABLE, F_CZE_BROAD, AnalogVideo_PAL_D, // Czech Republic 421, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Slovak Republic 43, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Austria 44, F_UK__CABLE, F_UK__BROAD, AnalogVideo_PAL_I, // United Kingdom 45, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Denmark 46, F_WEU_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Sweden 47, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Norway 48, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_PAL_B, // Poland 49, F_WEU_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Germany 500, F_UNI_CABLE, F_UK__BROAD, AnalogVideo_PAL_I, // Falkland Islands 501, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Belize 502, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Guatemala 503, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // El Salvador 504, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Honduras 505, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Nicaragua 506, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Costa Rica 507, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Panama 508, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // St. Pierre and Miquelon 509, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Haiti 51, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Peru 52, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Mexico 53, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Cuba 53, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Guantanamo Bay 54, F_USA_CABLE, F_USA_BROAD, AnalogVideo_PAL_N, // Argentina 55, F_USA_CABLE, F_USA_BROAD, AnalogVideo_PAL_M, // Brazil 56, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Chile 57, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Colombia 58, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Venezuela 590, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Guadeloupe 590, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // French Antilles 591, F_USA_CABLE, F_USA_BROAD, AnalogVideo_PAL_N, // Bolivia 592, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Guyana 593, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Ecuador 594, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // French Guiana 595, F_USA_CABLE, F_USA_BROAD, AnalogVideo_PAL_N, // Paraguay 596, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // Martinique 597, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Suriname 598, F_USA_CABLE, F_USA_BROAD, AnalogVideo_PAL_N, // Uruguay 599, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Netherlands Antilles 60, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Malaysia 61, F_UNI_CABLE, F_OZ__BROAD, AnalogVideo_PAL_B, // Australia 61, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Cocos-Keeling Islands 62, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Indonesia 63, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Philippines 64, F_UNI_CABLE, F_NZ__BROAD, AnalogVideo_PAL_B, // New Zealand 65, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Singapore 66, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Thailand 670, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Saipan Island 670, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Rota Island 670, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Tinian Island 671, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Guam 672, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Christmas Island 672, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Australian Antarctic Territory 672, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Norfolk Island 673, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Brunei 674, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Nauru 675, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Papua New Guinea 676, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Tonga 677, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Solomon Islands 678, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Vanuatu 679, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Fiji 680, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Palau 681, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_SECAM_K, // Wallis and Futuna Islands 682, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Cook Islands 683, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Niue 684, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // American Samoa 685, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Western Samoa 686, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Kiribati Republic 687, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // New Caledonia 688, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Tuvalu 689, F_UNI_CABLE, F_FOT_BROAD, AnalogVideo_SECAM_K, // French Polynesia 690, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Tokelau 691, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Micronesia 692, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Marshall Islands 7, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Russia 7, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Kazakhstan 7, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Kyrgyzstan 7, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Tajikistan 7, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Turkmenistan 7, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Uzbekistan 81, F_JAP_CABLE, F_JAP_BROAD, AnalogVideo_NTSC_M_J, // Japan 82, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Korea (South) 84, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Vietnam 850, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Korea (North) 852, F_UNI_CABLE, F_UK__BROAD, AnalogVideo_PAL_I, // Hong Kong 853, F_UNI_CABLE, F_UK__BROAD, AnalogVideo_PAL_I, // Macau 855, F_USA_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Cambodia 856, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Laos 86, F_CHN_CABLE, F_CHN_BROAD, AnalogVideo_PAL_D, // China 871, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // INMARSAT (Atlantic-East) 872, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // INMARSAT (Pacific) 873, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // INMARSAT (Indian) 874, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // INMARSAT (Atlantic-West) 880, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Bangladesh 886, F_USA_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Taiwan, Republic of China 90, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Turkey 91, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // India 92, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Pakistan 93, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Afghanistan 94, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Sri Lanka 95, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_NTSC_M, // Myanmar 960, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Maldives 961, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_B, // Lebanon 962, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Jordan 963, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_B, // Syria 964, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_B, // Iraq 965, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Kuwait 966, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_B, // Saudi Arabia 967, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Yemen 968, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Oman 971, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // United Arab Emirates 972, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Israel 973, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Bahrain 974, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_PAL_B, // Qatar 975, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_FIX___, // Bhutan 976, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Mongolia 977, F_UNI_CABLE, F_USA_BROAD, AnalogVideo_PAL_B, // Nepal 98, F_UNI_CABLE, F_WEU_BROAD, AnalogVideo_SECAM_B, // Iran 994, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Azerbaijan 995, F_UNI_CABLE, F_EEU_BROAD, AnalogVideo_SECAM_D, // Georgia 0, 0, 0, 0 // Zero marks the end of the list END