I just made a Bust out Stupid Discovery.
Window XP DirectShow Filters are 32 bit (duh

)
Old Capture Cards and USB devices have drivers and filters.
Drivers are for the OS and must be 32 bit or 64 bit and (only) work on the 32 or 64 version.
Filters are for the applications and (can be) 32 bit or 64 bit and work on (Either) the 32 or 64 version of OS.
That means when getting an old card like the Luminate Angel II capture card working on Windows 7 x64 the device drivers (have to be 64 bit) but the capture application (can be 32 bit -and- may have to be).
Example:
I used 64 bit GraphEdit to attach to the running program Graph for Monsoon, it let me save a copy of that to a file.
Then I shutdown Monsoon and tried to re-open that graph in 64 bit GraphEdit.. it crashed.
The error message said the graph had (unregistered) components.
What I did not know at the time, was the Monsoon program was using some 32 bit DirectShow Filters and some 64 bit DirectShow filters.
The 64 bit GraphEdit showed them all the same without indicating which were which.
GraphEdit comes in two versions 32 bit GraphEdit and 64 bit GraphEdit
I installed 32 bit GraphEdit and it could open the saved Graph without crashing.
Better.. it could play the saved graph and access the compressed MPEG2 stream using Mainconcept filters installed and registered by the Monsoon program.
Best.. the exposed capture filter also had an unused Capture pin which I could then AVI decode and Color space Convert to an Uncompressed stream.
It gets me all excited to have learned so much all at once.. this means things like the ATI HomeConnect may not be hopeless.. it may all be down to Windows Media Center 2005 using 32 bit filters to decode Compressed streams.. and that could lead to understanding many things that simply crashed before.. I had assumed proprietary code was preventing their use.. this is mind blowing stuff.
It also means I have to re-think problems with the Pinnacle USB devices.. and problems with VLC and OBS and
VirtualDub using old hardware. It might be problems with crossbars are simply problems with the version installed, 32 bit or 64 bit and what the programs are using.
Irfanview has the exact same problems and limitations.. but warns you to use only the 32 bit or 64 bit plugins.. for similar reasons.. I never realized why until now.
Twain32 and Twain64 do the same for scanners.
Its mind blowing.
I'm probably overestimating the Importance of this.. but Wow.. it seems to explain so much.
This Works!
Angel-II 32 bit only 64 driver.jpg
I've looked online for solutions many times over the last three years.. vaguely suspecting something like this out of the corner of my minds eye.. I could never see the problem straight on.. I'm not even sure how I saw it this time.
No where have I seen anyone else explain this problem or how to work around it.
I recall a vauge warning in a Microsoft document about porting WDM apps from 32 bit to 64 bit.. but it was along the lines of make sure to use all 64 bit components to access the most memory and get the best performance.. never discussing continuing to use 32 bit components you didn't have the source to.. or how to register, install or activate those components if you had no other way of installing them without a third party application.
In a nutshell the problem is the 32 bit components (or filters) are "registered" in the Windows registry branch reserved for 32 bit components. Programs compiled as 64 bit programs ignore or do not look in that branch of the Windows registry.. so for 64 bit programs those 32 bit components (do not exist).
But 32 bit programs run on 64 bit Windows are run in an emulation mode that makes the environment they are running in appear to be 32 bit Windows.. so when they access the registry the 64 bit Windows re-directs their Windows registry calls to the "special" Windows registry branch reserved for 32 bit components... so for 32 bit programs those 32 bit components ("do" exist).
The simplest temporary "fix" is to run 32 bit programs, even 32 bit versions of GraphEdit, or 32 bit versions of other Capture programs.. a 64 bit version will have problems finding all the old 32 pieces required to decode and capture or display the video.
Example:
I would think a 64 bit version of
VirtualDub would have tons of problems with seeing all the filters registered for a capture device that had a 64 bit driver, but a 32 bit capture application on a 64 bit version of Windows.
The 32 bit version of VirtualDub run on 64 bit Windows should work much better, especially if a copy of the old 32 bit capture application were installed to bring over all those legacy 32 bit filters.
Same for a 32 bit version of VLC or 32 bit version of OBS and so on.