btcard.cpp
来自「一个开放源码的bt848/878驱动程序的源码」· C++ 代码 · 共 1,724 行 · 第 1/5 页
CPP
1,724 行
1,1,0, PLL_NONE, HwTuner::TC_Unknown },
{/* "Bt848A based with 14Mhz ref. Xtal", */ 4, 0, 0, No_Digital,
NONE, 3, 0,{0,3,2,1} , {0,0,0,0} ,
0,0,0, PLL_14, HwTuner::TC_Absent } ,
{/* "Bt8xx based with 28Mhz ref. Xtal and 4 Composite ins", */ 4, 0, 0, No_Digital,
NONE, NONE, 0,{0,3,2,1} , {0,0,0,0} ,
0,0,0, PLL_28, HwTuner::TC_Absent } ,
{/* "FlyVideo 2000S", */ 3, 3, 0, No_Digital,
0, 2, 0x18e0, { 2, 3, 0}, { 0x1080 , 0x18e0 , 0x1000 , 0x1000 , 0x1080 },
1,1,0, PLL_28, HwTuner::TC_Unknown },
{/* "Hoontech 878TV/FM", */ 3, 1, 0, No_Digital,
0, 2, 0x0000300F, { 2, 3, 0}, { 0x1002 , 0x1002 , 0x4002 , 0x4002 , 0x3003 }, // Audio tuner uses 0x700F
1,1,0, PLL_28, HwTuner::TC_Unknown },
{/* "KWorld TV878RF-PRO", */ 3, 4, 0, No_Digital,/* Contributed by Zvone <zdigas@public.srce.hr> */
0, 2, 0x1c8007, { 2, 3, 1, 0}, { 0x1c0000 , 0x080009 , 0x080002 , 0x080002 , 0x080009 },
1,1,0, PLL_28, HwTuner::TC_Unknown }, // (Philips BG+DK tuner)
{/* "Gallant InterVisionTV IV550", */ 3, 3, 0, No_Digital,/* Contributed by A. Jackson <ade.jackson@btopenworld.com> */
0, 2, 0x0080ff, { 2, 3, 1, 0}, { 0x000001 , 0x000001 , 0x000041 , 0x000041 , 0x000040 },
1,1,0, PLL_28, HwTuner::TC_Unknown },
{/* "Mach TV 878", */ 3, 4, 0, No_Digital,
1, 2, 0x1c800f, { 2, 3, 1, 0}, { 0x08000a , 0x080009 , 0x08000c , 0x08000c , 0x08000c },
1,1,0, PLL_28, HwTuner::TC_Unknown },
/* 0x58 */
{/* "Asonic Skyeye BT878", */ 3, 3, 0, No_Digital,
0, 2, 0x00000f, { 2, 3, 1, 0}, { 0x000001 , 0x000001 , 0x000002 , 0x000002 , 0x000009 },
1,1,0, PLL_28, HwTuner::TC_Unknown },
{/* "Jetway PciTV Station", */ 1, 1, 0, No_Digital,/* Justin Smith <moose_999@hotmail.com> PAL BGI RC */
0, NONE, 0x1c8007, { 2, 3, 1, 0}, { 0x080000 , 0x080000 , 0x080003 , 0x080003 , 0x080003 },
1,1,0, PLL_28, HwTuner::TC_Unknown },
{/* "Boeder TV/FM Capture Card 68.404", */ 3, 4, 0, No_Digital,/* T鮪u Janno <tjanno@neti.ee> */
0, 2, 0xfff03f, { 2, 3, 1, 0}, { 0xebb002 , 0xebb003 , 0xebb002 , 0xebb002 , 0xebb003 },
1,1,1, PLL_28, HwTuner::TC_Unknown },
{/* "Spirit TV Tuner", */ 3, 3, 0, No_Digital,/* Metabolis <meta@wiw.org> */
0, 2, 0x00000f, { 2, 3, 1, 0}, { 0x000002 , 0x000002 , 0x000001 , 0x000001 , 0x000003 },
1,1,0, PLL_28, HwTuner::TC_Unknown },
{/* "AVerMedia TVPhone (old)", */ 3, 1, 0, No_Digital,
0, 3,0x00702c, { 2, 3, 1}, { 0x00600e, 0x006006, 0x00600a, 0x00600a, 0x006002} ,
1,1,0, PLL_35, HwTuner::TC_Unknown },
{/* "SDI Silk 100 (S-Video Jumper)", */ 4, 1, 1, CCIR656_Digital,
NONE, 0,0, { 2, 0, 1, 3, 2}, { 0, 0, 0, 0, 0} ,
0,0,0, PLL_28, HwTuner::TC_Absent },
{/* "SDI Silk 100 (C-Video Jumper)", */ 4, 1, 1, CCIR656_Digital,
NONE, NONE,0, { 0, 1, 2, 3}, { 0, 0, 0, 0, 0} ,
0,0,0, PLL_28, HwTuner::TC_Absent },
{/* "Sasem 4-Channel Dev Board (S-Video Jumper)", */ 4, 1, 1, CCIR656_Digital,
NONE, 0,0, { 2, 2, 2,2,2}, { 0, 0, 0, 0, 0} ,
0,0,0, PLL_28, HwTuner::TC_Absent },
/* 0x60 */
{/* "Typhoon TV-Tuner Art.Nr.: 50272", */ 3, 1, 0, No_Digital,
0, 2, 0xffffff, { 2, 1, 3,0}, { 0xffff21, 0xffff21, 0xffff24, 0xffff24, 0xffff29} ,
1,1,0, PLL_28, HwTuner::TC_Unknown },
{/* "3cam PCI Video Capture Card", */ 3, 1, 0, No_Digital,
NONE, 2, 0x00000f, { 2, 3, 1,0}, { 0x000001, 0x000001, 0x000002, 0x000002, 0x000001} ,
1,1,0, PLL_28, HwTuner::TC_Absent },
{/* "Cucus Video Capture Card", */ 1, 1, 0, No_Digital,
NONE, NONE, 0x00000f, { 3, 0, 0,0}, { 0x000003, 0x000003, 0x000003, 0x000003, 0x000003} ,
0,0,0, PLL_28, HwTuner::TC_Absent },
{/* "High-speed Video Capture Card C8-T.N.C.", */ 2, 1, 0, No_Digital,
NONE, 1, 0x00000f, { 3, 1, 0,0}, { 0x000001, 0x000001, 0x000001, 0x000001, 0x000001} ,
0,0,0, PLL_28, HwTuner::TC_Absent },
{/* "Skywell Magic TV Card", */ 3, 1, 0, No_Digital,
0, 1, 0x000007, { 2, 1, 3, 0}, { 0, 0, 2, 0, 1} ,
1,1,0, PLL_28, HwTuner::TC_Unknown },
{/* "SDI Silk 200 (S-Video Jumper)", */ 4, 1, 3, CCIR656_Digital,
NONE, 0, 0x1F800, { 2, 0, 1, 3, 2}, { 0xD, 0xE, 0xB, 0x7, 0} ,
0,0,0, PLL_28, HwTuner::TC_Absent },
{/* "SDI Silk 200 (C-Video Jumper)", */ 4, 1, 3, CCIR656_Digital,
NONE, NONE, 0x1F800, { 0, 1, 2, 3, 2}, { 0xD, 0xE, 0xB, 0x7, 0} ,
0,0,0, PLL_28, HwTuner::TC_Absent },
{/* "Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP)", */ 3, 1, 0, No_Digital,
0, 2, 0x7, { 2, 3, 1, 0}, { 0, 1, 2, 3, 4} ,
0,0,0, PLL_28, HwTuner::TC_Unknown },
/* 0x68 */
{/* "Primavision Video Capture card", */ 4, 0, 0, No_Digital,
NONE, NONE, 0x0, { 2, 2, 2, 2}, { 0, 0, 0, 0, 0} ,
0,0,0, PLL_28, HwTuner::TC_Absent },
{/* "GrandTec 16", */ 16, 1, 0, No_Digital,
NONE, NONE, 0/*0x18e0*/, { 2, 1, 3, 0}, { 0, 0, 0, 0, 0},
0,0,0, PLL_28, HwTuner::TC_Absent },
{/* "Trust 814 PCI", */ 4, 1, 0, No_Digital,
NONE, NONE, 0, { 2, 2, 2, 2}, { 0, 0, 0, 0, 0},
0,0,0, PLL_28, HwTuner::TC_Absent },
{/* "SweetSpot/PDI Deluxe", */ 2, 1, 4, CCIR656_Digital,
NONE, 0, 0, { 1, 3, 0, 0, 0/*and up...*/}, { 0,0,0,0,0 },
1,1,0, PLL_28, HwTuner::TC_Absent },
{/* "Aimslab VHX Deluxe", */ 3, 1, 0, No_Digital,
0, 2, 7, { 2, 1, 1}, { 0, 2, 1,/*1,2,*/ 3, 4}, // (Composite over SVideo)
1,1,0, PLL_NONE, HwTuner::TC_Unknown },
/* 0x6D */
{/* "Custom card...", */ 3, 1, 1, No_Digital,
0, 2, 0x18e0, { 2, 3, 0}, { 0x1080 , 0x18e0 , 0x1000 , 0x1000 , 0x1080 },
1,1,0, PLL_28, HwTuner::TC_Unknown }
};
// Table with relationship between Vendor and Subvendor code and card
/* ----------------------------------------------------------------------- */
/* list of card IDs for bt878+ cards */
BtCard::CARD BtCard::Card[] = {
{ 0x00011002, BtCard::ATI_TVWONDER /*,"ATI TV Wonder" */},
{ 0x00011461, BtCard::AVPHONE98 /*,"AVerMedia TVPhone98" */},
{ 0x00021461, BtCard::AVERMEDIA98 /*,"Avermedia TVCapture 98" */},
{ 0x00031002, BtCard::ATI_TVWONDERVE /*,"ATI TV Wonder/VE" */},
{ 0x00031461, BtCard::AVPHONE98 /*,"AVerMedia TVPhone98" */},
{ 0x00041461, BtCard::AVERMEDIA98 /*,"AVerMedia TVCapture 98" */},
{ 0x001211bd, BtCard::PINNACLE /*,"Pinnacle PCTV" */},
{ 0x001c11bd, BtCard::PINNACLE /*,"Pinnacle PCTV Sat" */},
{ 0x00790e11, BtCard::WINDVR /*,"Canopus WinDVR PCI" */},
{ 0x010114c7, BtCard::MODTEC_205 /*,"Modular Technology PCTV" */},
{ 0x010115cb, BtCard::GMV1 /*,"AG GMV1" */},
{ 0x013214F1, BtCard::CONEXANTFOGHORNREVA /*,"Conexant Foghorn NTSC/ATSC-A"*/ },
{ 0x023214F1, BtCard::CONEXANTFOGHORNREVB /*,"Conexant Foghorn NTSC/ATSC-B"*/ },
{ 0x03116000, BtCard::SENSORAY311 /*,"Sensoray 311" */},
{ 0x033214F1, BtCard::CONEXANTFOGHORNREVC /*,"Conexant Foghorn NTSC/ATSC-C"*/ },
{ 0x10b42636, BtCard::HAUPPAUGE878 /*,"STB ???" */},
{ 0x1117153b, BtCard::TERRATVALUE /*,"Terratec TValue" */},
{ 0x1118153b, BtCard::TERRATVALUE /*,"Terratec TValue" */},
{ 0x1119153b, BtCard::TERRATVALUE /*,"Terratec TValue" */},
{ 0x111a153b, BtCard::TERRATVALUE /*,"Terratec TValue" */},
{ 0x1123153b, BtCard::TERRATVRADIO /*,"Terratec TV Radio+" */},
{ 0x1127153b, BtCard::TERRATV /*,"Terratec TV+" */},
{ 0x1134153b, BtCard::TERRATVALUE /*,"Terratec TValue" */},
{ 0x1135153b, BtCard::TERRATVALUER /*,"Terratec TValue Radio" */},
{ 0x1200bd11, BtCard::PINNACLE /*,"Pinnacle PCTV" */},
{ 0x1322127A, BtCard::ROCKWELLNTSCXEVK /*,"Rockwell Bt878A NTSC XEVK"*/ },
{ 0x13eb0070, BtCard::HAUPPAUGE878 /*,"Hauppauge WinTV" */},
{ 0x14610002, BtCard::AVERMEDIA98 /*,"Avermedia TVCapture 98" */},
{ 0x182214F1, BtCard::CONEXANTNTSCXEVK /*,"Conexant Bt878A NTSC XEVK"*/ },
{ 0x18501851, BtCard::CHRONOS_VS2 /*,"Flyvideo 98 (LR50)/ Chronos Video Shuttle II" */},
{ 0x18511851, BtCard::FLYVIDEO98EZ /*,"Flyvideo 98EZ (LR51)/ CyberMail AV" */},
{ 0x18521852, BtCard::TYPHOON_TVIEW /*,"Flyvideo 98FM (LR50)/ Typhoon TView TV/FM Tuner / CyberVideo Xtreme" */},
{ 0x217d6606, BtCard::WINFAST2000 /*,"Leadtek WinFast TV 2000" */},
{ 0x263610b4, BtCard::STB2 /*,"STB TV PCI FM, P/N 6000704" */},
{ 0x3000121a, BtCard::VOODOOTV_FM /*,"3Dfx VoodooTV FM/ VoodooTV 200"*/},
{ 0x3000144f, BtCard::MAGICTVIEW063 /*,"(Askey Magic/others) TView99 CPH06x" */},
{ 0x300014ff, BtCard::MAGICTVIEW061 /*,"TView 99 (CPH061)" */},
{ 0x3002144f, BtCard::MAGICTVIEW061 /*,"(Askey Magic/others) TView99 CPH05x" */},
{ 0x300214ff, BtCard::PHOEBE_TVMAS /*,"Phoebe TV Master (CPH060)" */},
{ 0x3005144f, BtCard::MAGICTVIEW061 /*,"(Askey Magic/others) TView99 CPH061/06L (T1/LC)"*/},
{ 0x300214ff, BtCard::PHOEBE_TVMAS /*,"Phoebe TV Master" */},
{ 0x3100121a, BtCard::VOODOOTV_FM /*,"3Dfx VoodooTV FM/ VoodooTV 200 (OEM)"*/},
{ 0x31323334, BtCard::GRANDTEC /*,"GrandTec XCapture"*/ },
{ 0x39000070, BtCard::HAUPPAUGE878 /*,"Hauppauge WinTV-D" */},
{ 0x400a15b0, BtCard::ZOLTRIX_GENIE /*,"Zoltrix Genie TV" */},
{ 0x400d15b0, BtCard::ZOLTRIX_GENIE /*,"Zoltrix Genie TV / Radio" */},
{ 0x401015b0, BtCard::ZOLTRIX_GENIE /*,"Zoltrix Genie TV / Radio" */},
{ 0x401615b0, BtCard::ZOLTRIX_GENIE /*,"Zoltrix Genie TV / Radio" */},
{ 0x402010fc, BtCard::GVBCTV3PCI /*,"I-O Data Co. GV-BCV3/PCI" */},
{ 0x405010fc, BtCard::GVBCTV4PCI /*,"I-O Data Co. GV-BCV4/PCI" */},
{ 0x45000070, BtCard::HAUPPAUGE878 /*,"Hauppauge WinTV/PVR" */},
{ 0x5018153b, BtCard::TERRATVALUE /*,"Terratec TValue" */},
{ 0x6606107d, BtCard::WINFAST2000 /*,"Leadtek WinFast TV 2000" */},
{ 0xa0fca1a0, BtCard::ZOLTRIX /*,"Face to Face Tvmax" */},
{ 0xff000070, BtCard::HAUPPAUGE878 /*,"Osprey-100" */},
{ 0xff010070, BtCard::HAUPPAUGE878 /*,"Osprey-200" */},
{ 0x81828384, BtCard::GRANDTEC16 /*,"GrandTec Grand X Guard 16" */},
{ 0x01020304, BtCard::TRUST814PCI /*,"Trust 814 PCI" */},
#if 0 /* probably wrong */
{ 0x6606217d, BtCard::WINFAST2000 /*,"Leadtek WinFast TV 2000" */},
#endif
{ 0, BtCard::UNKNOWN /*, NULL */}
};
// Miro Specific
/* Mapping from MIRO coding to the tuners supported */
HwTuner::Tuner BtCard::miro_tunermap[] =
{
HwTuner::TC_TEMIC_PAL ,HwTuner::TC_TEMIC_NTSC ,HwTuner::TC_PHILIPS_NTSC ,HwTuner::TC_PHILIPS_SECAM,
HwTuner::TC_Absent ,HwTuner::TC_PHILIPS_PAL ,HwTuner::TC_TEMIC_NTSC ,HwTuner::TC_TEMIC_PAL,
HwTuner::TC_PHILIPS_SECAM ,HwTuner::TC_TEMIC_PAL ,HwTuner::TC_Absent ,HwTuner::TC_PHILIPS_PAL,
HwTuner::TC_PHILIPS_PAL ,HwTuner::TC_PHILIPS_NTSC ,HwTuner::TC_TEMIC_PAL_DK ,HwTuner::TC_PHILIPS_PAL_I,
HwTuner::TC_TEMIC_4006FH5_PAL ,HwTuner::TC_PHILIPS_NTSC ,HwTuner::TC_TEMIC_NTSC_M ,HwTuner::TC_PHILIPS_PAL_I,
HwTuner::TC_Absent ,HwTuner::TC_PHILIPS_PAL_I ,HwTuner::TC_Absent ,HwTuner::TC_PHILIPS_SECAM,
HwTuner::TC_PHILIPS_PAL_I ,HwTuner::TC_PHILIPS_NTSC ,HwTuner::TC_TEMIC_PAL_DK ,HwTuner::TC_PHILIPS_PAL_I,
HwTuner::TC_Absent ,HwTuner::TC_Absent ,HwTuner::TC_Absent ,HwTuner::TC_Absent
};
bool BtCard::miro_fmtuner[] =
{
false ,false ,false ,false ,
false ,false ,false ,false ,
false ,false ,false ,false ,
false ,false ,false ,true ,
true ,true ,true ,true ,
true ,true ,true ,false ,
false ,false ,false ,false ,
false ,false ,false ,false
};
// Hauppauge Specific
BtCard::hauppauge_tunerentry BtCard::hauppauge_tuner[] =
{
{ HwTuner::TC_Absent /*,"" */},
{ HwTuner::TC_Absent /*,"External" */},
{ HwTuner::TC_Absent /*,"Unspecified" */},
{ HwTuner::TC_PHILIPS_PAL /*,"Philips FI1216" */},
/*4*/
{ HwTuner::TC_PHILIPS_SECAM /*,"Philips FI1216MF" */},
{ HwTuner::TC_PHILIPS_NTSC /*,"Philips FI1236" */},
{ HwTuner::TC_PHILIPS_PAL_I /*,"Philips FI1246" */},
{ HwTuner::TC_PHILIPS_PAL_DK /*,"Philips FI1256" */},
/*8*/
{ HwTuner::TC_PHILIPS_PAL /*,"Philips FI1216 MK2" */},
{ HwTuner::TC_PHILIPS_SECAM /*,"Philips FI1216MF MK2" */},
{ HwTuner::TC_PHILIPS_NTSC /*,"Philips FI1236 MK2" */},
{ HwTuner::TC_PHILIPS_PAL_I /*,"Philips FI1246 MK2" */},
/*12*/
{ HwTuner::TC_PHILIPS_PAL_DK /*,"Philips FI1256 MK2" */},
{ HwTuner::TC_TEMIC_NTSC /*,"Temic 4032FY5" */},
{ HwTuner::TC_TEMIC_PAL /*,"Temic 4002FH5" */},
{ HwTuner::TC_TEMIC_PAL_I /*,"Temic 4062FY5" */},
/*16*/
{ HwTuner::TC_PHILIPS_PAL /*,"Philips FR1216 MK2" */},
{ HwTuner::TC_PHILIPS_SECAM /*,"Philips FR1216MF MK2" */},
{ HwTuner::TC_PHILIPS_NTSC /*,"Philips FR1236 MK2" */},
{ HwTuner::TC_PHILIPS_PAL_I /*,"Philips FR1246 MK2" */},
/*20*/
{ HwTuner::TC_PHILIPS_PAL_DK /*,"Philips FR1256 MK2" */},
{ HwTuner::TC_PHILIPS_PAL /*,"Philips FM1216" */},
{ HwTuner::TC_PHILIPS_SECAM /*,"Philips FM1216MF" */},
{ HwTuner::TC_PHILIPS_NTSC /*,"Philips FM1236" */},
/*24*/
{ HwTuner::TC_PHILIPS_PAL_I /*,"Philips FM1246" */},
{ HwTuner::TC_PHILIPS_PAL_DK /*,"Philips FM1256" */},
{ HwTuner::TC_TEMIC_4036FY5_NTSC /*,"Temic 4036FY5" */},
{ HwTuner::TC_Absent /*,"Samsung TCPN9082D" */},
/*28*/
{ HwTuner::TC_Absent /*,"Samsung TCPM9092P" */},
{ HwTuner::TC_TEMIC_4006FH5_PAL /*,"Temic 4006FH5" */},
{ HwTuner::TC_Absent /*,"Samsung TCPN9085D" */},
{ HwTuner::TC_Absent /*,"Samsung TCPB9085P" */},
/*32*/
{ HwTuner::TC_Absent /*,"Samsung TCPL9091P" */},
{ HwTuner::TC_TEMIC_4039FR5_NTSC /*,"Temic 4039FR5" */},
{ HwTuner::TC_PHILIPS_FQ1216ME /*,"Philips FQ1216 ME" */},
{ HwTuner::TC_TEMIC_4066FY5_PAL_I /*,"Temic 4066FY5" */},
/*36*/
{ HwTuner::TC_Absent /*,"Philips TD1536" */},
{ HwTuner::TC_Absent /*,"Philips TD1536D" */},
{ HwTuner::TC_PHILIPS_NTSC /*,"Philips FMR1236" */},
{ HwTuner::TC_Absent /*,"Philips FI1256MP" */},
/*40*/
{ HwTuner::TC_Absent /*,"Samsung TCPQ9091P" */},
{ HwTuner::TC_TEMIC_4006FN5_MULTI_PAL /*,"Temic 4006FN5" */},
{ HwTuner::TC_TEMIC_4009FR5_PAL /*,"Temic 4009FR5" */},
{ HwTuner::TC_TEMIC_4046FM5 /*,"Temic 4046FM5" */},
/*44*/
{ HwTuner::TC_TEMIC_4009FN5_MULTI_PAL_FM /*,"Temic 4009FN5" */},
{ HwTuner::TC_Absent /*,"Philips TD1536D_FH_44" */},
{ HwTuner::TC_LG_NTSC_FM /*,"LG TP18NSR01F" */},
{ HwTuner::TC_LG_PAL_FM /*,"LG TP18PSB01D" */},
{ HwTuner::TC_LG_PAL /*,"LG TP18PSB11D" */},
{ HwTuner::TC_LG_PAL_I_FM /*,"LG TAPC-I001D" */},
{ HwTuner::TC_LG_PAL_I /*,"LG TAPC-I701D" */}
};
/* ----------------------------------------------------------------------- */
/* AVermedia specific */
HwTuner::Tuner BtCard::avermedia_tuner_0_table[] = {
HwTuner::TC_PHILIPS_NTSC, HwTuner::TC_PHILIPS_PAL,
HwTuner::TC_PHILIPS_PAL, HwTuner::TC_PHILIPS_PAL,
HwTuner::TC_PHILIPS_PAL, HwTuner::TC_PHILIPS_PAL,
HwTuner::TC_PHILIPS_SECAM, HwTuner::TC_PHILIPS_SECAM,
HwTuner::TC_PHILIPS_SECAM, HwTuner::TC_PHILIPS_PAL};
#if 0
HwTuner::Tuner BtCard::avermedia_tuner_0_fm_table[] = {
PHILIPS_FR1236_NTSC, PHILIPS_FR1216_PAL,
PHILIPS_FR1216_PAL, PHILIPS_FR1216_PAL,
PHILIPS_FR1216_PAL, PHILIPS_FR1216_PAL,
PHILIPS_FR1236_SECAM, PHILIPS_FR1236_SECAM,
PHILIPS_FR1236_SECAM, PHILIPS_FR1216_PAL};
#endif
HwTuner::Tuner BtCard::avermedia_tuner_1_table[] = {
HwTuner::TC_TEMIC_NTSC, HwTuner::TC_TEMIC_PAL,
HwTuner::TC_TEMIC_PAL, HwTuner::TC_TEMIC_PAL,
HwTuner::TC_TEMIC_PAL, HwTuner::TC_TEMIC_PAL,
HwTuner::TC_TEMIC_4012FY5, HwTuner::TC_TEMIC_4012FY5, //HwTuner::TC_TEMIC_SECAM
HwTuner::TC_TEMIC_4012FY5, HwTuner::TC_TEMIC_PAL};
// I2C Addresses
#define I2C_STBEE 0xae
#define I2C_HAUPEE 0xa0
// PCX200
#define I2C_MAX517 0x5E
#define I2C_12C508 0x1E
// Audio functions: All these depend on the Hardware
bool BtCard::AudioSetInput( AudioConnector audioConnector )
{
// If Specified Tuner OR Radio, use appropiate connector instead of specified
if (audioConnector == AudioConTuner ||
audioConnector == AudioConRadio) {
audioConnector = TunerConnector;
}
// Only set the connector if unmuted and the connector has changed!
if (!bAudioMuted &&
(AudioMux != audioConnector) ) {
// Get card information
CInfo* Info = GetCardInfo();
// Enable the corresponding GPIO pins to select audio sources...
GetBtPisces().SetGPOE( GetBtPisces().GetGPOE() | Info->gpoe );
// Set the correct bits to enable the Line Source
ULONG Val;
GetBtPisces().GetGPDATA(&Val,1,0);
Val &= ~Info->gpoe; // Keep all bits not involved into audio switching: all the others set to 0
Val |= Info->gpoe & Info->audiomux[audioConnector]; // And select the audio source without disrupting the other bits...
GetBtPisces().SetGPDATA(&Val,1,0);
// Now, For all the AudioChips, set the input!
for (DWORD Idx = 0 ; Idx < AudioCount ; Idx ++) {
AudioChip[Idx]->SetAudioConnector(audioConnector);
}
}
// Remember last source !!
AudioMux = audioConnector;
return true;
}
// Unmute card
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?