📄 bttv-cards.c
字号:
.pll = PLL_28, .muxsel = { 2 }, .gpiomask = 0},{ /* Tomasz Pyra <hellfire@sedez.iq.pl> */ .name = "Prolink Pixelview PV-BT878P+ (Rev.4C,8E)", .video_inputs = 3, .audio_inputs = 4, .tuner = 0, .svhs = 2, .gpiomask = 15, .muxsel = { 2, 3, 1, 1}, .audiomux = { 0, 0, 11, 7, 13, 0}, // TV and Radio with same GPIO ! .needs_tvaudio = 1, .pll = PLL_28, .tuner_type = 25, .has_remote = 1, /* GPIO wiring: GPIO0: U4.A0 (hef4052bt) GPIO1: U4.A1 GPIO2: U4.A1 (second hef4052bt) GPIO3: U4.nEN, U5.A0, A5.nEN GPIO8-15: vrd866b ? */},{ .name = "Lifeview FlyVideo 98EZ (capture only) LR51", .video_inputs = 4, .audio_inputs = 0, .tuner = -1, .svhs = 2, .muxsel = { 2, 3, 1, 1}, // AV1, AV2, SVHS, CVid adapter on SVHS .pll = PLL_28, .no_msp34xx = 1,},{/* ---- card 0x48 ---------------------------------- */ /* Dariusz Kowalewski <darekk@automex.pl> */ .name = "Prolink Pixelview PV-BT878P+9B (PlayTV Pro rev.9B FM+NICAM)", .video_inputs = 4, .audio_inputs = 1, .tuner = 0, .svhs = 2, .gpiomask = 0x3f, .muxsel = { 2, 3, 1, 1 }, .audiomux = { 0x01, 0x00, 0x03, 0x03, 0x09, 0x02 }, .needs_tvaudio = 1, .no_msp34xx = 1, .no_tda9875 = 1, .pll = PLL_28, .tuner_type = 5, .audio_hook = pvbt878p9b_audio, // Note: not all cards have stereo .has_radio = 1, // Note: not all cards have radio .has_remote = 1, /* GPIO wiring: GPIO0: A0 hef4052 GPIO1: A1 hef4052 GPIO3: nEN hef4052 GPIO8-15: vrd866b GPIO20,22,23: R30,R29,R28 */},{ /* Clay Kunz <ckunz@mail.arc.nasa.gov> */ /* you must jumper JP5 for the card to work */ .name = "Sensoray 311", .video_inputs = 5, .audio_inputs = 0, .tuner = -1, .svhs = 4, .gpiomask = 0, .muxsel = { 2, 3, 1, 0, 0}, .audiomux = { 0 }, .needs_tvaudio = 0, .tuner_type = -1,},{ /* Miguel Freitas <miguel@cetuc.puc-rio.br> */ .name = "RemoteVision MX (RV605)", .video_inputs = 16, .audio_inputs = 0, .tuner = -1, .svhs = -1, .gpiomask = 0x00, .gpiomask2 = 0x07ff, .muxsel = { 0x33, 0x13, 0x23, 0x43, 0xf3, 0x73, 0xe3, 0x03, 0xd3, 0xb3, 0xc3, 0x63, 0x93, 0x53, 0x83, 0xa3 }, .no_msp34xx = 1, .no_tda9875 = 1, .tuner_type = -1, .muxsel_hook = rv605_muxsel,},{ .name = "Powercolor MTV878/ MTV878R/ MTV878F", .video_inputs = 3, .audio_inputs = 2, .tuner = 0, .svhs = 2, .gpiomask = 0x1C800F, // Bit0-2: Audio select, 8-12:remote control 14:remote valid 15:remote reset .muxsel = { 2, 1, 1, }, .audiomux = { 0, 1, 2, 2, 4 }, .needs_tvaudio = 0, .tuner_type = TUNER_PHILIPS_PAL, .pll = PLL_28, .has_radio = 1,},{/* ---- card 0x4c ---------------------------------- */ /* Masaki Suzuki <masaki@btree.org> */ .name = "Canopus WinDVR PCI (COMPAQ Presario 3524JP, 5112JP)", .video_inputs = 3, .audio_inputs = 1, .tuner = 0, .svhs = 2, .gpiomask = 0x140007, .muxsel = { 2, 3, 1, 1 }, .audiomux = { 0, 1, 2, 3, 4, 0 }, .tuner_type = TUNER_PHILIPS_NTSC, .audio_hook = windvr_audio,},{ .name = "GrandTec Multi Capture Card (Bt878)", .video_inputs = 4, .audio_inputs = 0, .tuner = -1, .svhs = -1, .gpiomask = 0, .muxsel = { 2, 3, 1, 0 }, .audiomux = { 0 }, .needs_tvaudio = 0, .no_msp34xx = 1, .pll = PLL_28, .tuner_type = -1,},{ .name = "Jetway TV/Capture JW-TV878-FBK, Kworld KW-TV878RF", .video_inputs = 4, .audio_inputs = 3, .tuner = 0, .svhs = 2, .gpiomask = 7, .muxsel = { 2, 3, 1, 1 }, // Tuner, SVid, SVHS, SVid to SVHS connector .audiomux = { 0 ,0 ,4, 4,4,4},// Yes, this tuner uses the same audio output for TV and FM radio! // This card lacks external Audio In, so we mute it on Ext. & Int. // The PCB can take a sbx1637/sbx1673, wiring unknown. // This card lacks PCI subsystem ID, sigh. // audiomux=1: lower volume, 2+3: mute // btwincap uses 0x80000/0x80003 .needs_tvaudio = 0, .no_msp34xx = 1, .pll = PLL_28, .tuner_type = 5, // Samsung TCPA9095PC27A (BG+DK), philips compatible, w/FM, stereo and // radio signal strength indicators work fine. .has_radio = 1, /* GPIO Info: GPIO0,1: HEF4052 A0,A1 GPIO2: HEF4052 nENABLE GPIO3-7: n.c. GPIO8-13: IRDC357 data0-5 (data6 n.c. ?) [chip not present on my card] GPIO14,15: ?? GPIO16-21: n.c. GPIO22,23: ?? ?? : mtu8b56ep microcontroller for IR (GPIO wiring unknown)*/},{ /* Arthur Tetzlaff-Deas, DSP Design Ltd <software@dspdesign.com> */ .name = "DSP Design TCVIDEO", .video_inputs = 4, .svhs = -1, .muxsel = { 2, 3, 1, 0}, .pll = PLL_28, .tuner_type = -1,},{ /* ---- card 0x50 ---------------------------------- */ .name = "Hauppauge WinTV PVR", .video_inputs = 4, .audio_inputs = 1, .tuner = 0, .svhs = 2, .muxsel = { 2, 0, 1, 1}, .needs_tvaudio = 1, .pll = PLL_28, .tuner_type = -1, .gpiomask = 7, .audiomux = {7},},{ .name = "IODATA GV-BCTV5/PCI", .video_inputs = 3, .audio_inputs = 1, .tuner = 0, .svhs = 2, .gpiomask = 0x0f0f80, .muxsel = {2, 3, 1, 0}, .audiomux = {0x030000, 0x010000, 0, 0, 0x020000, 0}, .no_msp34xx = 1, .pll = PLL_28, .tuner_type = TUNER_PHILIPS_NTSC_M, .audio_hook = gvbctv5pci_audio, .has_radio = 1,},{ .name = "Osprey 100/150 (878)", /* 0x1(2|3)-45C6-C1 */ .video_inputs = 4, /* id-inputs-clock */ .audio_inputs = 0, .tuner = -1, .svhs = 3, .muxsel = { 3, 2, 0, 1 }, .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1,},{ .name = "Osprey 100/150 (848)", /* 0x04-54C0-C1 & older boards */ .video_inputs = 3, .audio_inputs = 0, .tuner = -1, .svhs = 2, .muxsel = { 2, 3, 1 }, .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1,},{ /* ---- card 0x54 ---------------------------------- */ .name = "Osprey 101 (848)", /* 0x05-40C0-C1 */ .video_inputs = 2, .audio_inputs = 0, .tuner = -1, .svhs = 1, .muxsel = { 3, 1 }, .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1,},{ .name = "Osprey 101/151", /* 0x1(4|5)-0004-C4 */ .video_inputs = 1, .audio_inputs = 0, .tuner = -1, .svhs = -1, .muxsel = { 0 }, .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1,},{ .name = "Osprey 101/151 w/ svid", /* 0x(16|17|20)-00C4-C1 */ .video_inputs = 2, .audio_inputs = 0, .tuner = -1, .svhs = 1, .muxsel = { 0, 1 }, .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1,},{ .name = "Osprey 200/201/250/251", /* 0x1(8|9|E|F)-0004-C4 */ .video_inputs = 1, .audio_inputs = 1, .tuner = -1, .svhs = -1, .muxsel = { 0 }, .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1,},{ /* ---- card 0x58 ---------------------------------- */ .name = "Osprey 200/250", /* 0x1(A|B)-00C4-C1 */ .video_inputs = 2, .audio_inputs = 1, .tuner = -1, .svhs = 1, .muxsel = { 0, 1 }, .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1,},{ .name = "Osprey 210/220", /* 0x1(A|B)-04C0-C1 */ .video_inputs = 2, .audio_inputs = 1, .tuner = -1, .svhs = 1, .muxsel = { 2, 3 }, .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1,},{ .name = "Osprey 500", /* 500 */ .video_inputs = 2, .audio_inputs = 1, .tuner = -1, .svhs = 1, .muxsel = { 2, 3 }, .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1,},{ .name = "Osprey 540", /* 540 */ .video_inputs = 4, .audio_inputs = 1, .tuner = -1,#if 0 /* TODO ... */ .svhs = OSPREY540_SVID_ANALOG, .muxsel = { [OSPREY540_COMP_ANALOG] = 2, [OSPREY540_SVID_ANALOG] = 3, },#endif .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1,#if 0 /* TODO ... */ .muxsel_hook = osprey_540_muxsel, .picture_hook = osprey_540_set_picture,#endif},{ /* ---- card 0x5C ---------------------------------- */ .name = "Osprey 2000", /* 2000 */ .video_inputs = 2, .audio_inputs = 1, .tuner = -1, .svhs = 1, .muxsel = { 2, 3 }, .pll = PLL_28, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1, /* must avoid, conflicts with the bt860 */},{ /* M G Berberich <berberic@forwiss.uni-passau.de> */ .name = "IDS Eagle", .video_inputs = 4, .audio_inputs = 0, .tuner = -1, .tuner_type = -1, .svhs = -1, .gpiomask = 0, .muxsel = { 0, 1, 2, 3 }, .muxsel_hook = eagle_muxsel, .no_msp34xx = 1, .no_tda9875 = 1, .pll = PLL_28,},{ .name = "Pinnacle PCTV Sat", .video_inputs = 2, .audio_inputs = 0, .svhs = 1, .tuner = -1, .tuner_type = -1, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1, .gpiomask = 0x01, .audiomux = { 0, 0, 0, 0, 1 }, .muxsel = { 3, 0, 1, 2}, .needs_tvaudio = 0, .pll = PLL_28, .no_gpioirq = 1, .has_dvb = 1,},{ .name = "Formac ProTV II (bt878)", .video_inputs = 4, .audio_inputs = 1, .tuner = 0, .svhs = 3, .gpiomask = 2, // TV, Comp1, Composite over SVID con, SVID .muxsel = { 2, 3, 1, 1}, .audiomux = { 2, 2, 0, 0, 0 }, .pll = PLL_28, .has_radio = 1, .tuner_type = TUNER_PHILIPS_PAL, /* sound routing: GPIO=0x00,0x01,0x03: mute (?) 0x02: both TV and radio (tuner: FM1216/I) The card has onboard audio connectors labeled "cdrom" and "board", not soldered here, though unknown wiring. Card lacks: external audio in, pci subsystem id. */},{ /* ---- card 0x60 ---------------------------------- */ .name = "MachTV", .video_inputs = 3, .audio_inputs = 1, .tuner = 0, .svhs = -1, .gpiomask = 7, .muxsel = { 2, 3, 1, 1}, .audiomux = { 0, 1, 2, 3, 4}, .needs_tvaudio = 1, .tuner_type = 5, .pll = 1,},{ .name = "Euresys Picolo", .video_inputs = 3, .audio_inputs = 0, .tuner = -1, .svhs = 2, .gpiomask = 0, .no_msp34xx = 1, .no_tda9875 = 1, .no_tda7432 = 1, .muxsel = { 2, 0, 1}, .pll = PLL_28,},{ /* Luc Van Hoeylandt <luc@e-magic.be> */ .name = "ProVideo PV150", /* 0x4f */ .video_inputs = 2, .audio_inputs = 0, .tuner = -1, .svhs = -1, .gpiomask = 0, .muxsel = { 2, 3 }, .audiomux = { 0 }, .needs_tvaudio = 0, .no_msp34xx = 1, .pll = PLL_28,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -