bt8x8 WDM drivers 3.1.28 tweaked by IvUs
Q1: What is a WDM-driver and why do I need it?
Q2: Where this driver is originated from?
Q3: My capture hardware is bt878 chip based. So, is your driver right for me?
Q6: Please make a tweak for my tuner card from vendor_name!
Q8: Why VirtualDub software fails to capture a frame higher than 288 (240) pixel rows?
A: First time the technology for creating and editing video was developed by Microsoft in November 1992. It was called simply “Video for Windows” (VFW in short). You see, it was long time ago. But today the PC hardware is much more powered and therefore requires an extended control interface that VFW does not offer. For example VFW lacks the standard way to change TV tuner channels, decode teletext and so on. Each hardware vendor developed its own implementation of software routines that are missing in the VFW standard.
To run beyound the limits Microsoft created a new multimedia technology called ActiveMovie and later DirectShow, as a part of DirectX library. However this one is based on a new type of hardware drivers called WDM (Windows Driver Model). They have a number of useful features: the same WDM drivers can work on a Win98 PC or on a machine running Windows 2000, drivers have much more detailed level of hardware control that can simplify software development and hide hardware-specific implementation details from a programmer.
Windows 2000 and Windows XP not only use WDM drivers, these OS' do require the drivers to be of WDM-type. On the other hand, using Windows 2000 you will get an additional advantages in video capture and editing, because the size of file can be over 4GB (on a NTFS volume), while the Windows 95/98 allows you to write files only less than 4GB. Also Windows 2000 offers you some better memory management, drive caching and accurate multitasking support which allows you to get rid of dropped frames.
A: In 2000 Conexant company (it is the vendor of BrookTree 848 and 878 chips) placed their reference 3.1.28 driver source code at their FTP site. Later Conexant closed the download but the sources were spread over the network. It is possible to find them using a search engine even today. I thought someone will polish these drivers and give them a commercial quality, because in their original state there were a number of bugs and limitations, but nobody started... So I did it for myself - see the history.txt. At this time Conexant and many other vendors who use reference 3.1.28 drivers didn't anything to fix them a bit. Instead, the vendors of TV tuners based on a Bt8x8 chip use their own propietary DLLs to select an audio source and to tune up the TV channels. Of course only the OEM software can use these 'secret' DLLs.
A: Yes - the driver will work, because it is developed for either bt848 or bt878 chip as they are very similar. If you see your tuner in the compatibility list, there is nothing to worry about. Otherwise you must read Q4.
A: Rather it will, but you can experience few problems. First, you will get installed “bt848 tweaked WDM Video Capture”, that is by default configured to use bt878. If your card is based on an older chip (i.e. bt848), probably you'll get few garbage stripes instead of clean picture. This can be fixed due to change InitPLL value from “1” to “0”. The change could be done using a registry editor or, right before you install, inside the Bt848.inf file.
Second, you may encounter problems using the tuner box itself (I mean that small UHF module inside the iron box on your TV board). It can be produced by few vendors (Philips, Temic, Alps...) that use different I2C addresses. Fortunately there usually are only two addresses, either 0xC0 or 0xC2. These values can be also changed manually inside the registry or in the bttuner.inf file, just look for TunerI2Caddress parameter.
Third, most serious problem. It is there because the bt848/878 chip itself does not route audio channel at all. To be able to choose an audio input source (TV/FM/EXT) each the hardware vendor uses its own small switching chip, furthermore they often use an unique board layout design. This results in that even the same vendor boards often are incompatible by audio routing scheme. In other words, if your card is not currently in our compatibility list, probably it will be easy to obtain finally a good picture but too hard to get a proper sound. See also Q6
A: Some rare devices do not have their unique SUBSYS_ID – it is just a zero. As a result, when you install the driver, Windows is unable to know the hardware exactly and does use the first compatible device driver found. Usually it is “bt848 tweaked WDM Video Capture”. Most likely it won't work right. If your card is present in our compatibility list, but device manager reports it as a “bt848 tweaked WDM Video Capture”, you need to update its driver manually using the Properties window and "choose from list" method.
A: Please keep in mind, I do not produce a TV tuners, neither I sell TV tuners nor I collect them... I can not provide a support for your particular capture board until I have one for testing purposes. Many other cards have been included in our compatibility list only because their respective users sent us an updated *.inf files. If you know exactly how to switch an audio channel for your tuner board, please drop me a note and I'll try to add some support for it. Borg offers you at http://www.borgtech.org some useful tools like btTool and btInspector. They allow you to "spy" for a particular bt8x8 controls while some other TV software works with your tuner. In short, you need to start some OEM software for you tuner that can properly route a sound. Next, run btTool. While cycling TV/FM/VHS/MUTE modes in a "native" software, do few bt8x8 register snapshots and send to me. This way probably works for about 80% TV tuner boards. The rest 20% use so smart technique that there is nothing to dig using btTool. You must also provide some information about your card PCI SUBSYS_ID. Just export this branch HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI from a registry to a text file and send it to me.
A: Sorry but I'll not add it immediately. The problem is that BorgTV and JTV are useless in testing WDM drivers: they both use their own drivers and do not need any WDM drivers to work. To check your drivers better do use any DirectShow based software. For example AMCAP.EXE from Microsoft or just my iuVCR.
A: VirtualDub, like any other VFW based software, uses so called wrapper to translate VFW calls to their counterparts in "DirectShow/WDM world". This slowdowns your PC a bit, and the wrapper grabs only one TV signal field. This results in only 288 lines for PAL/SECAM and 240 lines for NTSC. I think it would be possible to modify a wrapper to solve this problem but unfortunately I do not have enough free time and special equipment to work on it.
contact me here
© Ivan Uskov, 2001