⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 btcard.cpp

📁 一个开放源码的bt848/878驱动程序的源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
/*
    BtCard.cpp: Part of the WDM Video Capture Driver for Bt848 based video capture cards
	Copyright (C) 2000-2002 by Eduardo Jos?Tagle.
 
	This library is free software; you can redistribute it and/or
	modify it under the terms of the GNU Library General Public
	License as published by the Free Software Foundation; either
	version 2 of the License, or (at your option) any later version.

	This library is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
	Library General Public License for more details.

	You should have received a copy of the GNU Library General Public
	License along with this library; if not, write to the Free
	Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

  Log:
  
10/19/2001	ejtagle				As Andrew Miller suggested, now PV951 lets user choose any tuner 
11/20/2001  Kevin Liao			Fixed a silly bug in VideoSetConnector that didn磘 select properly Composite0-3
12/19/2001  Dima Kornev			AverMedia TVPhone uses PLL_35
01/21/2002  Sven Grothklags		Fixed Typhoon TView RDS card entry and TDA9873/74 code!
02/14/2002	Takahiro Sakamoto	Fixed GV-BCTV4/PCI SVHS input.
03/03/2002  ejtagle             I have used the code kindly provided by Torbj鰎n Jansson <torbjorn.jansson@mbox200.swipnet.se>
								to implement IR on WinFast2000 card. The code that was sent by him worked pretty well,
								but i had to modify it to adapt it to the new internal structure of the IR driver, 
								so, if it does not work now, it's my fault - Mail me to ejtagle@tutopia.com!
05/12/2002  Torbj鰎n Jansson	The was one who tracked and solved the Dscaler incompatibility problems.... Thanks a lot!
08/30/2002  Jan Nikitenko & ejt Fixed MSP34xx support. Now Simple mode should work... This fixes several audio problems related to the MSP34xx support. Thank Jan!
10/22/2002  Fred Hoogduin		Fixed the Audio TV norm problems due to a bug of TunerSetCurrentStandard() . Thanks a lot!
05/06/2003  John Newbigin <jn@it.swin.edu.au> Added support for the Grandtec16 video capture card and some other small fixes
*/


/*
	TO FIX_
		I2C in hardware for multiread/write is not working with MSP34xx

*/


/*

Card Database:
--------------

  Typhoon TView RDS
	TDA9873H at 0xb6
	SAA6588  for RDS
	Temic 4009


 */

#include "custprop.h"
#include "BtCard.hpp"
#include "CppRt.hpp"		// To get New and delete ops
#include "PCI.hpp"
#include "Registry.hpp"
#include "EEprom.hpp"
#include "HwCapture\Hw.h"

// To get the PCI Bus Handling class
#include "pci_io.hpp"

/* ------------------------------------------------------------------------- */
/* array with description for bt848 / bt878 tv/grabber cards sorted by model */

BtCard::CInfo BtCard::Info[] = 
{
	/* 0x00 */
        {/* " *** UNKNOWN *** ", */ 4, 1, 0, No_Digital,
			0, 2, 0, { 2, 3, 1, 0}, { 0, 0, 0, 0, 0},
			1,1,0, PLL_NONE, HwTuner::TC_Unknown },
        {/* "MIRO PCTV", */ 4, 1, 0, No_Digital,
			0, 2,15, { 2, 3, 1, 1}, { 2, 0, 0, 0,10},
			1,1,0, PLL_NONE, HwTuner::TC_Unknown },
        {/* "Hauppauge (bt84)", */ 4, 1, 0, No_Digital,
			0, 2, 7, { 2, 3, 1, 1}, { 0, 1, 2, 3, 4},
			1,1,0, PLL_NONE, HwTuner::TC_Unknown },
        {/* "STB", */ 3, 1, 0, No_Digital,
			0, 2, 7, { 2, 3, 1}, { 4, 0, 2, 3, 1},
			0,1,0, PLL_NONE, HwTuner::TC_Unknown }, // NEVER has an MSP34xx present!

        {/* "Intel", */ 3, 1, 0, No_Digital,
			0, NONE, 7, { 2, 3, 1}, { 0, 1, 2, 3, 4},
			1,1,0, PLL_NONE, HwTuner::TC_Unknown },
		{/* "Diamond DTV2000", */ 4, 1, 0, No_Digital,
			0, 2, 3, { 2, 3, 1, 0}, { 0, 1, 0, 1, 3},
			1,1,0, PLL_NONE, HwTuner::TC_Unknown },
		{/* "AVerMedia TVPhone", */ 3, 1, 0, No_Digital,
			0, 3,0x0c, { 2, 3, 1}, { 0x0c, 0x04, 0x08, 0x04, 0} , 
			1,1,0, PLL_35, HwTuner::TC_Unknown }, // Per recomendation of Dima Kornev
        {/* "MATRIX-Vision MV-Delta", */ 5, 1, 0, No_Digital,
			NONE, 3, 0, { 2, 3, 1, 0, 0},{0 },
			1,1,0, PLL_NONE, HwTuner::TC_Unknown },

	/* 0x08 */
        {/* "Fly Video II (Bt848)", */ 3, 1, 0, No_Digital,
			0, 2, 0xc00, { 2, 3, 1},{ 0, 0xc00, 0x800, 0x400, 0xc00},
			1,1,0, PLL_NONE, HwTuner::TC_Unknown }, // I have received reports that the TV audio is not working properly...
        {/* "TurboTV", */ 3, 1, 0, No_Digital,
			0, 2, 3, { 2, 3, 1}, { 1, 1, 2, 3, 0},
			1,1,0, PLL_NONE, HwTuner::TC_Unknown },
        {/* "Standard BT878 (Hauppauge (bt878))", */ 4, 1, 0, No_Digital,
			0, 2, 0x0f /* old:7*/ , { 2, 0, 1, 1}, { 0, 1, 2, 3, 4},
			1,1,0, PLL_28,   HwTuner::TC_Unknown },
        {/* "MIRO PCTV pro", */ 3, 1, 0, No_Digital,
			0, 2, 0x3000F, { 2, 3, 1}, {0x20001, 0x10001, 0, 0,10}, 
		//  0, 2, 0x3000F, { 2, 3, 1, 1}, {1, 0x10001, 0, 0,10}, 
			1,1,0, PLL_NONE, HwTuner::TC_Unknown },

		{/* "ADS Technologies Channel Surfer TV", */ 3, 1, 0, No_Digital,
			0, 2, 15, { 2, 3, 1}, { 13, 14, 11, 7, 0}, // dTV says TunerInput = 2
			1,1,0, PLL_NONE, HwTuner::TC_Unknown },
        {/* "AVerMedia TVCapture 98", */ 3, 4, 0, No_Digital,
			0, 2, 15, { 2, 3, 1}, { 13, 14, 11, 7, 0},
			1,1,0, PLL_28,   HwTuner::TC_Unknown },
        {/* "Aimslab VHX", */ 3, 1, 0, No_Digital,
			0, 2, 7, { 2, 3, 1}, { 0, 2, 1,/*1,2,*/ 3, 4}, // Works for me!
			1,1,0, PLL_NONE,  HwTuner::TC_Unknown  },
        {/* "Zoltrix TV-Max", */ 3, 1, 0,  No_Digital,
			0, 2,15, { 2, 3, 1}, {0 , 0, 1 , 0, 10},
			1,1,0, PLL_NONE,  HwTuner::TC_Unknown  },

	/* 0x10 */
        {/* "Pixelview PlayTV (bt878)", */ 3, 1, 0, No_Digital,
			0, 2, 0x01fe00, { 2, 3, 1}, { 0x01c000, 0, 0x018000, 0x014000, 0x002000 },
			1,1,0, PLL_28,    HwTuner::TC_Unknown  },
        {/* "Leadtek WinView 601", */ 3, 1, 0, No_Digital,
			0, 2, 0x830018, { 2, 3, 1}, { 0x4fa007,0x4ca007,0xcfa007,0xcfa007,0xcfa007},
			1,1,1, PLL_NONE,  HwTuner::TC_Unknown  }, 
        {/* "AVEC Intercapture", */ 3, 2, 0, No_Digital,
			0, 2, 0, {2, 3, 1}, {1, 0, 0, 0, 0},
			1,1,0, PLL_NONE,  HwTuner::TC_Unknown  },
		{/* "LifeView FlyKit w/o Tuner", */ 3, 1, 0, No_Digital,
			NONE, NONE, 0x8dff00, { 2, 3, 1}, { 0 },
			0,0,0, PLL_NONE,  HwTuner::TC_Unknown  },

        {/* "CEI Raffles Card", */ 3, 3, 0, No_Digital,
			0, 2, 0, {2, 3, 1}, {0, 0, 0, 0 ,0},
			0,1,0, PLL_NONE,  HwTuner::TC_Unknown  }, // NEVER has an MSP34xx present!
		{/* "Lucky Star Image World ConferenceTV", */ 3, 1, 0, No_Digital,
			0, 2, 0x00fffe07, { 2, 3, 1}, { 131072, 1, 1638400, 3, 4},
			1,1,0, PLL_28,   HwTuner::TC_PHILIPS_PAL_I },
		{/* "Phoebe Tv Master + FM (CPH050)", */ 3, 1, 0, No_Digital,
			0, 2, 0xc00, { 2, 3, 1},{0, 1, 0x800, 0x400, 0xc00},
			1,1,0, PLL_NONE,  HwTuner::TC_Unknown  },
        {/* "Modular Technology MM205 PCTV, bt878", */ 2, 1, 0, No_Digital,
			0, NONE, 7, { 2, 3 }, { 0, 0, 0, 0, 0 },
			0,1,0, PLL_28,  HwTuner::TC_ALPS_TSBB5_PAL_I  },

	/* 0x18 */
        {/* "[many vendors] CPH05X/06X (bt878)", */ 4, 1, 0, No_Digital,
			0, 2, 0xe00, { 2, 3, 1, 0 }, {0x400, 0x200, 0x000, 0x000, 0xc00},
			1,1,0, PLL_28,    HwTuner::TC_Unknown  },
        {/* "Terratec/Vobis TV-Boostar", */ 3, 1, 0, No_Digital,
			0, 2, 16777215 , { 2, 3, 1}, { 131072, 1, 1638400, 3,4},
			1,1,0, PLL_NONE,  HwTuner::TC_Unknown  },
        {/* "Newer Hauppauge WinCam (bt878)", */ 4, 1, 0, No_Digital,
			0, 3, 7, { 2, 0, 1, 1}, { 0, 1, 2, 3, 4},
			1,1,0, PLL_NONE,  HwTuner::TC_Unknown  },
        {/* "MAXI TV Video PCI2", */ 3, 1, 0, No_Digital,
			0, 2, 0xffff, { 2, 3, 1}, { 0, 1, 2, 3, 0xc00},
			1,1,0, PLL_NONE, HwTuner::TC_PHILIPS_SECAM},

        {/* "Terratec TerraTV+", */ 3, 1, 0, No_Digital,
			0, 2, 0x70000, { 2, 3, 1}, { 0x20000, 0x30000, 0x10000, 0x00000, 0x40000},
			1,1,0, PLL_NONE,  HwTuner::TC_PHILIPS_PAL},
        {/* "Imagenation PXC200", */ 5, 1, 0,  No_Digital,/* Jannik Fritsch <jannik@techfak.uni-bielefeld.de> */
			NONE, 1/* was: 4*/, 0, { 2, 3, 1, 0, 0}, { 0 }, 
			1,1,0, PLL_NONE,  HwTuner::TC_Unknown  },
        {/* "FlyVideo 98", */ 3, 1, 0, No_Digital,
			0, 2, 0x1800, {2, 3, 1}, { 0, 0x0800, 0x1000, 0x1000, 0x1800},
			1,1,0, PLL_NONE,  HwTuner::TC_Unknown  },
        {/* "iProTV", */ 3, 1, 0, No_Digital,
			0, 2, 1, { 2, 3, 1}, { 1, 0, 0, 0, 0 },
			1,1,0, PLL_NONE,  HwTuner::TC_Unknown  },

	/* 0x20 */
		{/* "Intel Create and Share PCI", */ 4, 1, 0, No_Digital,
			0, 2, 7, { 2, 3, 1, 1} /*{ 2, 3, 1, 1}*/ , { 4, 4, 4, 4, 4}, /* Per Christophe Ego suggestion/testing to get color image on composite input */
			1,1,0, PLL_NONE,  HwTuner::TC_Unknown /* No tuner by default! */ },
		{/* "Terratec TerraTValue", */ 3, 1, 0, No_Digital,
			0, 2, 0xffff00, { 2, 3, 1}, { 0x500, 0, 0x300, 0x900, 0x900},
			1,1,0, PLL_28,  HwTuner::TC_PHILIPS_PAL  }, 
		{/* "Leadtek WinFast 2000", */ 3, 1, 0, No_Digital,
			0, 2, 0x803000, { 2, 3, 1}, { 0x422000,0x001000,0x621100,0x620000,0x800000},
			1,1,0, PLL_28,    HwTuner::TC_Unknown  },
		{/* "Flyvideo 98 (LR50Q) / Chronos Video Shuttle II", */ 3, 3, 0, No_Digital,
			0, 2, 0x1800, { 2, 3, 1}, { 0, 0x800, 0x1000, 0x1000, 0x1800},
			1,1,0, PLL_28,    HwTuner::TC_Unknown  },
		{/* "Flyvideo 98FM (LR50Q) / Typhoon TView TV/FM Tuner", */ 3, 3, 0, No_Digital,
			0, 2, 0x1800, { 2, 3, 1}, { 0, 0x800, 0x1000, 0x1000, 0x1800},
			1,1,0, PLL_28,    HwTuner::TC_Unknown  },
		{/* "PixelView PlayTV pro", */ 3, 1, 0, No_Digital,
			0, 2, 0xff, { 2, 3, 1}, { 0x21, 0x20, 0x24, 0x2c, 0x29 }, 
			0,1,0, PLL_28,    HwTuner::TC_Unknown  },
		{/* "TView99 CPH06X", */ 4, 1, 0, No_Digital,
			0, 2, 0x551e00, { 2, 3, 1, 0}, { 0x551400, 0x551200, 0, 0,  0x551c00 }, 
			1,1,0, PLL_28,  HwTuner::TC_Unknown  },
		{/* "Pinnacle PCTV Studio/Rave", */ 3, 1, 0, No_Digital,
			0, 2, 0x03000F, { 2, 3, 1}, { 2, 0, 0, 0, 1},
			1,1,0, PLL_28,  HwTuner::TC_Unknown  },

	/* 0x28 */
        {/* "STB2", */ 3, 1, 0, No_Digital,
			0, 2, 7, { 2, 3, 1}, { 4, 0, 2, 3, 1},
			0,1,0, PLL_NONE,  HwTuner::TC_Unknown }, // NEVER has an MSP34xx present!
        {/* "AVerMedia TVPhone 98", */ 3, 4, 0, No_Digital,
			0, 2, 12, { 2, 3, 1}, { 13, 4, 11, 7, 0},
			1,1,1, PLL_28,    HwTuner::TC_Unknown },
        {/* "ProVideo PV951", */ 3, 1, 0, No_Digital,/* pic16c54 */
			0, 2, 0, { 2, 3, 1}, { 0, 0, 0, 0, 0},
			0,1,0, PLL_28,   HwTuner::TC_Unknown }, // Due to mods suggested by Andrew Miller, let user select tuner
		{/* "Little OnAir TV", */ 3, 1, 0, No_Digital,
			0, 2, 0xe00b, {2, 3, 1}, {0xff9ff6, 0xff9ff6, 0xff1ff7, 0, 0xff3ffc},
			0,1,0, PLL_NONE,  HwTuner::TC_Unknown  },

		{/* "Sigma TVII-FM", */ 2, 1, 0, No_Digital,
			0, NONE, 3, {2, 3}, {1, 1, 0, 2, 3},
			0,1,0, PLL_NONE,  HwTuner::TC_Unknown  },	
		{/* "MATRIX-Vision MV-Delta 2", */ 5, 1, 0, No_Digital,
			NONE, 3, 0, { 2, 3, 1, 0, 0},{0 }, 
			0,1,0, PLL_28,  HwTuner::TC_Unknown  },
		{/* "Zoltrix Genie TV/FM", */ 3, 1, 0, No_Digital,
			0, 2, 0xbcf03f, { 2, 3, 1}, { 0xbc803f, 0xbc903f, 0xbcb03f, 0, 0xbcb03f}, 
			0,1,0, PLL_28,  HwTuner::TC_TEMIC_4039FR5_NTSC },
		{/* "Terratec TV/Radio+", */ 3, 1, 0,  No_Digital,/* Radio ?? */
			0, 2, 0x1f0000, { 2, 3, 1}, { 0xe2ffff, 0xebffff, 0, 0, 0xe0ffff },
			0,1,1, PLL_35,  HwTuner::TC_PHILIPS_PAL_I },

	/* 0x30 */
		{/* "Dynalink Magic TView ", */ 3, 1, 0,  No_Digital,
			0, 2, 15, { 2, 3, 1}, {2,0,0,0,1},
			1,1,0, PLL_28,  HwTuner::TC_Unknown },
		{/* "GV-BCTV3" , */ 3, 1, 0, No_Digital,
			0, 2,0x010C00, {2,3,0} , {0x10000, 0, 0x10000, 0, 0},
			0,1,0, PLL_28,  HwTuner::TC_ALPS_TSHC6_NTSC } ,
		{/* "Prolink PV-BT878P+4E / PixelView PlayTV PAK / Lenco MXTV-9578 CP" ,*/ 4, 1, 1, RQS_Digital,
			0, 2,0xAA0000,{2,3,1,1} , { 0x20000, 0, 0x80000, 0x80000, 0xa8000},
			0,1,0, PLL_28,  HwTuner::TC_PHILIPS_PAL_I } ,
		{/* "Eagle Wireless Capricorn2 (bt878A)" ,*/ 4, 1, 0, No_Digital,
			0, 2, 7 , { 2, 0, 1, 1}, { 0, 1, 2, 3, 4}, 
			1,1,0, PLL_28,  HwTuner::TC_Unknown } ,

		{/* "Pinnacle PCTV Studio Pro", */ 3, 1, 0,  No_Digital,/* David H鋜deman <david@2gen.com> */
			0, 2, 0x03000F, { 2, 3, 1}, { 1, 0x10001, 0, 0, 10},  
			1,1,0, PLL_28,  HwTuner::TC_Unknown } ,
		{/* "Typhoon TView RDS + FM Stereo / KNC1 TV Station RDS", */ 3, 3, 0,  No_Digital,/* Claas Langbehn <claas@bigfoot.com>, Sven Grothklags <sven@upb.de> */
			0, 2, 0x1c, {2 , 3 , 1}, { 0, 0, 0x10, 8, 4 },  
			1,1,1, PLL_28,  HwTuner::TC_TEMIC_4009FR5_PAL } , /* has_radio = 1*/
		{/* "Livetec LT 9415 TV (LR90 Rev.F)", */ 4, 1, 0,  No_Digital,/* Tim R鰏termundt <rosterm@uni-muenster.de>  */
			0, 2, 0x1060, { 2, 3, 1, 0},	{ 0x0000,0x0800,0x1000,0x1000,0x18e0 },  
			1,1,1, PLL_28,  HwTuner::TC_PHILIPS_PAL } , /* has_radio = 1*/
		{/* "BESTBUY Easy TV (model CPH031)", */ 4, 1, 0, No_Digital,/* Miguel Angel Alvarez <maacruz@navegalia.com> */
			0 ,2, 0xF , { 2, 3, 1, 0}, { 2, 0, 0, 0, 10}, 
			1,1,0, PLL_28, HwTuner::TC_TEMIC_PAL } ,

	/* 0x38 */
		{/* "FlyVideo '98/FM / CyberVideo Xtreme", */ 3, 3, 0,  No_Digital,/* Gordon Heydon <gjheydon@bigfoot.com ('98) */
			0 ,2, 0x1800, { 2, 3, 0}, { 0, 0x800, 0x1000, 0x1000, 0x1800},
			1,1,0, PLL_28, HwTuner::TC_Unknown } ,
		{/* "GrandTec 'Grand Video Capture'", */ 2, 0, 0,  No_Digital,/* Steve Hosgood <steve@equiinet.com> */
			NONE, 1 , 0, {3,1} , {0,0,0,0} , 
			0,0,0, PLL_35, HwTuner::TC_Absent } ,
		{/* "Phoebe TV Master Only (No FM) CPH060" , */ 3, 1, 0,  No_Digital,/* Daniel Herrington <daniel.herrington@home.com> */
			0, 2, 0x0e00, {2,3,1} , { 0x400, 0x400, 0x400, 0x400, 0x800 }, 
			1,1,0, PLL_NONE, HwTuner::TC_TEMIC_4036FY5_NTSC } ,
		{/* "TV Capturer (CPH03X)", */ 4, 1, 0,  No_Digital,/* Matti Mottus <mottus@physic.ut.ee> */
			0, 2, 0x03000F, { 2, 3, 1, 0}, { 2,0,0,0,1 }, 
			1,1,0, PLL_28, HwTuner::TC_TEMIC_PAL } ,

		{/* "MM100PCTV",*/ 3, 1, 0, No_Digital,// Fixed by ejt
			0, 2, /*11*/ 0xF, { 2, 3 ,1}, { 2, 0, /*0*/1, 1, /*8*/ 3}, 
			1,1,0, PLL_NONE, HwTuner::TC_TEMIC_PAL } ,
		{/* "AG Electronics GMV1", */ 2, 0, 0, No_Digital,/* Adrian Cox <adrian@humboldt.co.uk */
			NONE, 1, 0xF, { 2, 2}, 
			0,1,0, PLL_28, HwTuner::TC_Absent }, 
		{/* "BESTBUY Easy TV (bt878, model CPH061))", */ 3, 2, 0, No_Digital, /* Miguel Angel Alvarez <maacruz@navegalia.com> */
			0, 2, 0xFF, { 2, 3, 1}, { 1, 0, 4, 4, 9},
			1,1,0, PLL_28, HwTuner::TC_PHILIPS_PAL },
		{/* "ATI TV-Wonder", */ 3, 1, 0,  No_Digital,/* Lukas Gebauer <geby@volny.cz> */
			0, 2, 0xf03f, { 2, 3, 1}, { 0xbffe, 0, 0xbfff, 0, 0xbffe},
			1,1,0, PLL_28, HwTuner::TC_TEMIC_4006FN5_MULTI_PAL },

	/* 0x40 */
		{/* "ATI TV-Wonder VE", */ 2, 1, 0,  No_Digital,/* Peter Ploskov <asysta@mail.techno-link.com> */
			0, NONE, 0x300f, { 2, 3, 1}, {0x1002, 0x1002, 0x3003, 0x3003, 0x3003},
			0,1,0, PLL_28, HwTuner::TC_TEMIC_4006FN5_MULTI_PAL }, // TEMIC4006FN5
		{/* "FlyVideo 2000", */ 3, 3, 0,  No_Digital,/* DeeJay <deejay@westel900.net (2000S) */
			0, 2, 0x18e0, { 2, 3, 0}, { 0,0x18e0,0x1000,0x1000,0x1080 },
			1,1,0, PLL_28, HwTuner::TC_Unknown },
		{/* "Terratec TValueRadio", */ 3, 1, 0,  No_Digital,
			0, 2, 0xffff00, { 2, 3, 1}, { 0x500, 0x500, 0x300, 0x900, 0x900},
			1,1,1, PLL_28, HwTuner::TC_PHILIPS_PAL },
		{/* "GV-BCTV4/PCI", */ 3, 1, 0, No_Digital,
			0, 2, 0x010f00, { 2, 3, 1}, { 0x10000, 0, 0x10000, 0, 0}, // was {2,3,0} before, Takahiro Sakamoto <takas@yl.is.s.u-tokyo.ac.jp>
			0,1,0, PLL_28, HwTuner::TC_SHARP_2U5JF5540_NTSC },

		{/* "3Dfx VoodooTV FM (Euro), VoodooTV 200 (USA)", */ 4, 1, 0, No_Digital,
			0, NONE, 0x4e8a00, { 2, 3 ,0 ,1}, {0x947fff, 0x987fff,0x947fff,0x947fff, 0x947fff}, 
			1,1,1, PLL_28, HwTuner::TC_MT2032 }, /* has_radio */
		{/* "Active Imaging AIMMS", */ 3, 4, 0, No_Digital,
			0, 2, 15, { 2,3,1,1}, {0, 0,0,0, 0}, 
			1,1,0, PLL_28, HwTuner::TC_Unknown },
		{/* "PV-BT878P+", */ 1, 0, 0, No_Digital,
			NONE, 0, 0, { 2}, { 0, 0, 11, 7, 13},
			1,1,0, PLL_28, HwTuner::TC_LG_PAL_I_FM },
		{/* "Flyvideo 98EZ (capture only)", */ 4, 0, 0, No_Digital,
			NONE, 2, 0, { 2,3,1,1 }, { 0, 0, 11, 7, 13},
			0,1,0, PLL_28, HwTuner::TC_Unknown},

	/* 0x48 */
		{/* "Prolink PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM)", */ 3, 1, 0, No_Digital,
			0, 2, 0x3c, { 2,3,0,1 }, { 0x01, 0x00, 0x03, 0x03, 0x09},
			0,1,1, PLL_28, HwTuner::TC_Unknown},
		{/* "Sensoray 311", */ 5, 0, 0, No_Digital,
			NONE, 4, 0, { 2,3,1,0 }, { 0 },
			1,0,0, PLL_28, HwTuner::TC_Unknown},
		{/* "Conexant Bt878 NTSC XEVK", */ 3, 1, 1, No_Digital,
			0, 2, 0xFFFEFF, { 2, 3, 1}, { 0x001000, 0x001000, 0x000000, 0x000000, 0x003000},
			1,1,0, PLL_NONE, HwTuner::TC_PHILIPS_NTSC	} ,
		{/* "Rockwell Bt878 NTSC XEVK", */ 3, 1, 1, No_Digital,
			0, 2, 0xFFFEFF, { 2, 3, 1}, { 0x001000, 0x001000, 0x000000, 0x000000, 0x003000},
			1,1,0, PLL_NONE, HwTuner::TC_PHILIPS_NTSC } ,

		{/* "Conexant Foghorn NTSC/ATSC-A", */ 3, 1, 1, No_Digital,
			0, 2, 0xFF00F8, { 2, 3, 1}, { 0x000048, 0x000048, 0x000048, 0x000048, 0x000048},
			1,1,0, PLL_NONE, HwTuner::TC_PHILIPS_1236D_NTSC_INPUT1 } ,
		{/* "Conexant Foghorn NTSC/ATSC-B", */ 3, 1, 1, No_Digital,
			0, 2, 0xFF00F8, { 2, 3, 1}, { 0x000048, 0x000048, 0x000048, 0x000048, 0x000048},
			1,1,0, PLL_NONE, HwTuner::TC_PHILIPS_1236D_NTSC_INPUT1 } ,
		{/* "Conexant Foghorn NTSC/ATSC-C", */ 3, 1, 1, No_Digital,
			0, 2, 0xFF00F8, { 2, 3, 1}, { 0x000048, 0x000048, 0x000048, 0x000048, 0x000048},
			1,1,0, PLL_NONE, HwTuner::TC_PHILIPS_1236D_NTSC_INPUT1 } ,
		{/* "RS BT Card", */ 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 },

	/* 0x50 */
        {/* "Tekram M205 Pro", */ 3, 1, 0,  No_Digital,/* Thai Khanh <thaivankhanh@yahoo.com> */
			0, 2, 0x000078, { 2, 3, 1}, {0x000068, 0x000068, 0x000061, 0x000061, 0x000060},

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -