📄 audiotable.h
字号:
/*+++ *******************************************************************\
*
* Copyright and Disclaimer:
*
* ---------------------------------------------------------------
* This software is provided "AS IS" without warranty of any kind,
* either expressed or implied, including but not limited to the
* implied warranties of noninfringement, merchantability and/or
* fitness for a particular purpose.
* ---------------------------------------------------------------
*
* Copyright (c) 2008 Conexant Systems, Inc.
* All rights reserved.
*
\******************************************************************* ---*/
extern "C"
{
#include <wdm.h>
}
#include <ksmedia.h>
#include "merlin.h" //For the AUDIO_STANDARD typedefs
////////////////////////////////////////////////////////////////////////////////
//Country codes
#define CTRY_ALBANIA 355 // Albania
#define CTRY_ALGERIA 213 // Algeria
#define CTRY_ARGENTINA 54 // Argentina
#define CTRY_ARMENIA 374 // Armenia
#define CTRY_AUSTRALIA 61 // Australia
#define CTRY_AUSTRIA 43 // Austria
#define CTRY_AZERBAIJAN 994 // Azerbaijan
#define CTRY_BAHRAIN 973 // Bahrain
#define CTRY_BELARUS 375 // Belarus
#define CTRY_BELGIUM 32 // Belgium
#define CTRY_BELIZE 501 // Belize
#define CTRY_BOLIVIA 591 // Bolivia
#define CTRY_BRAZIL 55 // Brazil
#define CTRY_BRUNEI_DARUSSALAM 673 // Brunei Darussalam
#define CTRY_BULGARIA 359 // Bulgaria
#define CTRY_CANADA 2 // Canada
#define CTRY_CARIBBEAN 1 // Caribbean
#define CTRY_CHILE 56 // Chile
#define CTRY_COLOMBIA 57 // Colombia
#define CTRY_COSTA_RICA 506 // Costa Rica
#define CTRY_CROATIA 385 // Croatia
#define CTRY_CZECH 420 // Czech Republic
#define CTRY_DENMARK 45 // Denmark
#define CTRY_DOMINICAN_REPUBLIC 1 // Dominican Republic
#define CTRY_ECUADOR 593 // Ecuador
#define CTRY_EGYPT 20 // Egypt
#define CTRY_EL_SALVADOR 503 // El Salvador
#define CTRY_ESTONIA 372 // Estonia
#define CTRY_FAEROE_ISLANDS 298 // Faeroe Islands
#define CTRY_FINLAND 358 // Finland
#define CTRY_FRANCE 33 // France
#define CTRY_GEORGIA 995 // Georgia
#define CTRY_GERMANY 49 // Germany
#define CTRY_GREECE 30 // Greece
#define CTRY_GUATEMALA 502 // Guatemala
#define CTRY_HONDURAS 504 // Honduras
#define CTRY_HONG_KONG 852 // Hong Kong S.A.R., P.R.C.
#define CTRY_HUNGARY 36 // Hungary
#define CTRY_ICELAND 354 // Iceland
#define CTRY_INDIA 91 // India
#define CTRY_INDONESIA 62 // Indonesia
#define CTRY_IRAN 981 // Iran
#define CTRY_IRAQ 964 // Iraq
#define CTRY_IRELAND 353 // Ireland
#define CTRY_ISRAEL 972 // Israel
#define CTRY_ITALY 39 // Italy
#define CTRY_JAMAICA 1 // Jamaica
#define CTRY_JAPAN 81 // Japan
#define CTRY_JORDAN 962 // Jordan
#define CTRY_KAZAKSTAN 7 // Kazakstan
#define CTRY_KENYA 254 // Kenya
#define CTRY_KUWAIT 965 // Kuwait
#define CTRY_LATVIA 371 // Latvia
#define CTRY_LEBANON 961 // Lebanon
#define CTRY_LIBYA 218 // Libya
#define CTRY_LIECHTENSTEIN 41 // Liechtenstein
#define CTRY_LITHUANIA 370 // Lithuania
#define CTRY_LUXEMBOURG 352 // Luxembourg
#define CTRY_MACAU 853 // Macau
#define CTRY_MACEDONIA 389 // the Former Yugoslav Republic of Macedonia
#define CTRY_MALAYSIA 60 // Malaysia
#define CTRY_MEXICO 52 // Mexico
#define CTRY_MONACO 33 // Principality of Monaco
#define CTRY_MOROCCO 212 // Morocco
#define CTRY_NETHERLANDS 31 // Netherlands
#define CTRY_NEW_ZEALAND 64 // New Zealand
#define CTRY_NICARAGUA 505 // Nicaragua
#define CTRY_NORWAY 47 // Norway
#define CTRY_OMAN 968 // Oman
#define CTRY_PAKISTAN 92 // Islamic Republic of Pakistan
#define CTRY_PANAMA 507 // Panama
#define CTRY_PARAGUAY 595 // Paraguay
#define CTRY_PERU 51 // Peru
#define CTRY_PHILIPPINES 63 // Republic of the Philippines
#define CTRY_POLAND 48 // Poland
#define CTRY_PORTUGAL 351 // Portugal
#define CTRY_PRCHINA 86 // People's Republic of China
#define CTRY_PUERTO_RICO 1 // Puerto Rico
#define CTRY_QATAR 974 // Qatar
#define CTRY_ROMANIA 40 // Romania
#define CTRY_RUSSIA 7 // Russia
#define CTRY_SAUDI_ARABIA 966 // Saudi Arabia
#define CTRY_SERBIA 381 // Serbia
#define CTRY_SINGAPORE 65 // Singapore
#define CTRY_SLOVAK 421 // Slovak Republic
#define CTRY_SLOVENIA 386 // Slovenia
#define CTRY_SOUTH_AFRICA 27 // South Africa
#define CTRY_SOUTH_KOREA 82 // South Korea
#define CTRY_SPAIN 34 // Spain
#define CTRY_SWEDEN 46 // Sweden
#define CTRY_SWITZERLAND 41 // Switzerland
#define CTRY_SYRIA 963 // Syria
#define CTRY_TAIWAN 886 // Taiwan Region
#define CTRY_TATARSTAN 7 // Tatarstan
#define CTRY_THAILAND 66 // Thailand
#define CTRY_TRINIDAD_Y_TOBAGO 1 // Trinidad y Tobago
#define CTRY_TUNISIA 216 // Tunisia
#define CTRY_TURKEY 90 // Turkey
#define CTRY_UAE 971 // U.A.E.
#define CTRY_UKRAINE 380 // Ukraine
#define CTRY_UNITED_KINGDOM 44 // United Kingdom
#define CTRY_UNITED_STATES 1 // United States
#define CTRY_URUGUAY 598 // Uruguay
#define CTRY_UZBEKISTAN 7 // Uzbekistan
#define CTRY_VENEZUELA 58 // Venezuela
#define CTRY_VIET_NAM 84 // Viet Nam
#define CTRY_YEMEN 967 // Yemen
#define CTRY_ZIMBABWE 263 // Zimbabwe
//===========================================================================
// Country code to audio and video standard mapping table
//
//
//===========================================================================
typedef struct _TV_AUDIO_ENTRY{
KS_AnalogVideoStandard video_standard;
AUDIO_STANDARD audio_standard;
}TV_AUDIO_ENTRY, *PTV_AUDIO_ENTRY;
//Each video standard maps to a single primary and fallback audio standard
//NOTE: There is one exception, and that is South Korea which uses
// NTSC_M Video and A2 Audio
static const TV_AUDIO_ENTRY g_video_to_audio_table[] =
{
// Video Standard Primary Audio
{KS_AnalogVideo_NTSC_M, AUDIO_STANDARD_BTSC},
{KS_AnalogVideo_NTSC_M_J, AUDIO_STANDARD_EIAJ},
{KS_AnalogVideo_PAL_B, AUDIO_STANDARD_NICAM_BG}, //Fallback = A2 BG
{KS_AnalogVideo_PAL_D, AUDIO_STANDARD_NICAM_DK}, //Fallback = A2 DK
{KS_AnalogVideo_PAL_G, AUDIO_STANDARD_NICAM_BG}, //Fallback = A2 BG
{KS_AnalogVideo_PAL_I, AUDIO_STANDARD_NICAM_I}, //Fallback = A1
{KS_AnalogVideo_PAL_M, AUDIO_STANDARD_BTSC},
{KS_AnalogVideo_PAL_N, AUDIO_STANDARD_BTSC},
{KS_AnalogVideo_SECAM_B, AUDIO_STANDARD_NICAM_BG}, //Fallback = A2 BG
{KS_AnalogVideo_SECAM_D, AUDIO_STANDARD_NICAM_DK}, //Fallback = A2 DK
{KS_AnalogVideo_SECAM_L, AUDIO_STANDARD_NICAM_L} //Fallback = AM
};
//Video standard and FM-deemphasis by coutry code.
typedef struct _COUNTRY_TABLE_ENTRY{
DWORD country_code;
KS_AnalogVideoStandard video_standard;
}COUNTRY_TABLE_ENTRY, *PCOUNTRY_TABLE_ENTRY;
static const COUNTRY_TABLE_ENTRY g_country_to_video_table[] =
{
// Country Code Video Standard
{CTRY_UNITED_STATES, KS_AnalogVideo_NTSC_M},
{CTRY_UNITED_KINGDOM, KS_AnalogVideo_PAL_I},
{CTRY_GERMANY, KS_AnalogVideo_PAL_B},
{CTRY_JAPAN, KS_AnalogVideo_NTSC_M_J},
{CTRY_SPAIN, KS_AnalogVideo_PAL_B},
{CTRY_ALBANIA, KS_AnalogVideo_PAL_B},
{CTRY_ALGERIA, KS_AnalogVideo_PAL_B},
{CTRY_ARGENTINA, KS_AnalogVideo_PAL_N},
{CTRY_ARMENIA, KS_AnalogVideo_SECAM_D},
{CTRY_AUSTRALIA, KS_AnalogVideo_PAL_B},
{CTRY_AUSTRIA, KS_AnalogVideo_PAL_B},
{CTRY_AZERBAIJAN, KS_AnalogVideo_SECAM_D},
{CTRY_BAHRAIN, KS_AnalogVideo_PAL_B},
{CTRY_BELARUS, KS_AnalogVideo_SECAM_D},
{CTRY_BELGIUM, KS_AnalogVideo_PAL_B},
{CTRY_BELIZE, KS_AnalogVideo_NTSC_M},
{CTRY_BOLIVIA, KS_AnalogVideo_NTSC_M},
{CTRY_BRAZIL, KS_AnalogVideo_PAL_M},
{CTRY_BRUNEI_DARUSSALAM, KS_AnalogVideo_PAL_B},
{CTRY_BULGARIA, KS_AnalogVideo_SECAM_D},
{CTRY_CANADA, KS_AnalogVideo_NTSC_M},
{CTRY_CHILE, KS_AnalogVideo_NTSC_M},
{CTRY_COLOMBIA, KS_AnalogVideo_NTSC_M},
{CTRY_COSTA_RICA, KS_AnalogVideo_NTSC_M},
{CTRY_CROATIA, KS_AnalogVideo_PAL_B},
{CTRY_CZECH, KS_AnalogVideo_PAL_D},
{CTRY_DENMARK, KS_AnalogVideo_PAL_B},
{CTRY_ECUADOR, KS_AnalogVideo_NTSC_M},
{CTRY_EGYPT, KS_AnalogVideo_SECAM_B},
{CTRY_EL_SALVADOR, KS_AnalogVideo_NTSC_M},
{CTRY_ESTONIA, KS_AnalogVideo_PAL_B},
{CTRY_FAEROE_ISLANDS, KS_AnalogVideo_PAL_B},
{CTRY_FINLAND, KS_AnalogVideo_PAL_B},
{CTRY_FRANCE, KS_AnalogVideo_SECAM_L},
{CTRY_GEORGIA, KS_AnalogVideo_SECAM_D},
{CTRY_GREECE, KS_AnalogVideo_PAL_B},
{CTRY_GUATEMALA, KS_AnalogVideo_NTSC_M},
{CTRY_HONDURAS, KS_AnalogVideo_NTSC_M},
{CTRY_HONG_KONG, KS_AnalogVideo_PAL_I},
{CTRY_HUNGARY, KS_AnalogVideo_PAL_B},
{CTRY_ICELAND, KS_AnalogVideo_PAL_B},
{CTRY_INDIA, KS_AnalogVideo_PAL_B},
{CTRY_INDONESIA, KS_AnalogVideo_PAL_B},
{CTRY_IRAN, KS_AnalogVideo_SECAM_B},
{CTRY_IRAQ, KS_AnalogVideo_SECAM_B},
{CTRY_IRELAND, KS_AnalogVideo_PAL_I},
{CTRY_ISRAEL, KS_AnalogVideo_PAL_B},
{CTRY_ITALY, KS_AnalogVideo_PAL_B},
{CTRY_JORDAN, KS_AnalogVideo_PAL_B},
{CTRY_KAZAKSTAN, KS_AnalogVideo_SECAM_D},
{CTRY_KENYA, KS_AnalogVideo_PAL_B},
{CTRY_KUWAIT, KS_AnalogVideo_PAL_B},
{CTRY_LATVIA, KS_AnalogVideo_PAL_B},
{CTRY_LEBANON, KS_AnalogVideo_PAL_B},
{CTRY_LIBYA, KS_AnalogVideo_PAL_B},
{CTRY_LIECHTENSTEIN, KS_AnalogVideo_PAL_B},
{CTRY_LITHUANIA, KS_AnalogVideo_PAL_B},
{CTRY_LUXEMBOURG, KS_AnalogVideo_PAL_B},
{CTRY_MACAU, KS_AnalogVideo_PAL_I},
{CTRY_MACEDONIA, KS_AnalogVideo_PAL_B},
{CTRY_MALAYSIA, KS_AnalogVideo_PAL_B},
{CTRY_MEXICO, KS_AnalogVideo_NTSC_M},
{CTRY_MONACO, KS_AnalogVideo_SECAM_L},
{CTRY_MOROCCO, KS_AnalogVideo_SECAM_B},
{CTRY_NETHERLANDS, KS_AnalogVideo_PAL_B},
{CTRY_NEW_ZEALAND, KS_AnalogVideo_PAL_B},
{CTRY_NICARAGUA, KS_AnalogVideo_NTSC_M},
{CTRY_NORWAY, KS_AnalogVideo_PAL_B},
{CTRY_OMAN, KS_AnalogVideo_PAL_B},
{CTRY_PAKISTAN, KS_AnalogVideo_PAL_B},
{CTRY_PANAMA, KS_AnalogVideo_NTSC_M},
{CTRY_PARAGUAY, KS_AnalogVideo_PAL_N},
{CTRY_PERU, KS_AnalogVideo_NTSC_M},
{CTRY_PHILIPPINES, KS_AnalogVideo_NTSC_M},
{CTRY_POLAND, KS_AnalogVideo_PAL_D},
{CTRY_PORTUGAL, KS_AnalogVideo_PAL_B},
{CTRY_PRCHINA, KS_AnalogVideo_PAL_D},
{CTRY_QATAR, KS_AnalogVideo_PAL_B},
{CTRY_ROMANIA, KS_AnalogVideo_PAL_D},
{CTRY_RUSSIA, KS_AnalogVideo_SECAM_D},
{CTRY_SAUDI_ARABIA, KS_AnalogVideo_PAL_B},
{CTRY_SERBIA, KS_AnalogVideo_PAL_B},
{CTRY_SINGAPORE, KS_AnalogVideo_PAL_B},
{CTRY_SLOVAK, KS_AnalogVideo_PAL_B},
{CTRY_SLOVENIA, KS_AnalogVideo_PAL_B},
{CTRY_SOUTH_AFRICA, KS_AnalogVideo_PAL_I},
{CTRY_SOUTH_KOREA, KS_AnalogVideo_NTSC_M},
{CTRY_SWEDEN, KS_AnalogVideo_PAL_B},
{CTRY_SWITZERLAND, KS_AnalogVideo_PAL_B},
{CTRY_SYRIA, KS_AnalogVideo_SECAM_B},
{CTRY_TAIWAN, KS_AnalogVideo_NTSC_M},
{CTRY_TATARSTAN, KS_AnalogVideo_SECAM_D},
{CTRY_THAILAND, KS_AnalogVideo_PAL_B},
{CTRY_TUNISIA, KS_AnalogVideo_SECAM_B},
{CTRY_TURKEY, KS_AnalogVideo_PAL_B},
{CTRY_UAE, KS_AnalogVideo_PAL_B},
{CTRY_UKRAINE, KS_AnalogVideo_SECAM_D},
{CTRY_URUGUAY, KS_AnalogVideo_PAL_N},
{CTRY_UZBEKISTAN, KS_AnalogVideo_SECAM_D},
{CTRY_VENEZUELA, KS_AnalogVideo_NTSC_M},
{CTRY_VIET_NAM, KS_AnalogVideo_SECAM_D},
{CTRY_YEMEN, KS_AnalogVideo_PAL_B},
{CTRY_ZIMBABWE, KS_AnalogVideo_PAL_B},
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -