I'm a desktop application developer who inherited a program that uses the x264vfw codec as part of a DirectShow graph. This program was written exclusively for 32-bit environments, but now I'm tasked with moving it to 64-bit. I need a 64-bit version of x264vfw. (I know that's not necessarily a given, but in this case, it is. I'll explain in further posts, if need be.)
We were getting our x264vfw from SourceForge, and I found an x64 installation there as well. When I installed it on a 64-bit OS PC, however, I saw no sign that x264 encoding was available. In x86 installations, GraphEdit shows the encoder very clearly as one of the Video Compressor filters. But in x64 I'm not seeing it listed in any category with anything, including GraphStudio, GraphEditPlus, or code I write myself. (And yes, I am using x64 versions of these applications.)
I know this is probably a stupid newbie question, but what am I missing? Why can't I detect the x64 version of x264vfw installed (apparently successfully) on a machine with an x64 OS? (Note that the same problem occurs with Komisar's x264vfw as well.)
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 17 of 17
Thread
-
-
I just downloaded and installed this version on my Win7 64bit machine:
https://www.videohelp.com/download/x264vfw.2146kMod.x86_64.exe
It shows up in VirtualDub64.
-
Thanks for the feedback. I hadn't tried VDub on my test machines.
Now that I do, I can indeed see a listing for x264vfw. Which is even more puzzling to me, because none of my other tools (x64 versions of GraphEdit, GraphEditPlus, GraphStudio, as mentioned above) seem capable of showing it. I'll have to dig through the VirtualDub source to find out how its search functions are so different from the ones I've written.
In the meantime, does anyone have a hint on how I might find the CLSID or moniker for this filter? Normally compressors like x264vfw wrap themselves in qcap.dll, and this allows them to be accessed by CLSID or moniker like other DirectShow filters. (GraphEdit et al. will list qcap.dll as the actual file behind x264vfw, for instance.) Apparently this isn't happening in my x64 PCs.
I'd be very interested in any insights about what might or might not be happening in my case. -
vfw and directshow are 2 independent systems
vdub uses vfw, that's why it can access x264vfw (and any other system installed vfw codecs)
graphedit / graphstudio are for directshow , not vfw.
You would need to modify x264 for directshow; roozhou has done that here, but the project isn't updated very frequently
http://sourceforge.net/projects/direct264/ -
-
It doesn't show up for me on a 32-bit OS in graphedit/studio
It looks like direct264 is 32-bit only, but maybe you can look at the sources and modify it for 64-bit, or at least see how it is able to construct a directshow filter graph -
Hmm. Direct264 was an good lead, but as I examine the source, I see that it's dedicated Win32 stuff. There are dozens of inline assembler blocks, which aren't supported in x64 compilation with Visual Studio. I might try a conversion to MASM and/or intrinsics on my own time, but I can't allocate company hours for what might be a major digression. Finding some form of DirectShow-compatible x264 that's accessible in x64 is my fundamental goal.
One of my original misconceptions was that x264vfw functioned as a relatively straightforward DirectShow filter, allowing me to connect it with an existing graph. Again, this was because I'm already doing this with the x86 version of x264vfw. Any idea how this was accomplished in x86 and how I might recreate that in x64? -
Sorry to poisondeathray for answering before his latest reply. (I started my answer before a long meeting and finished it afterwards.)
Just ran a sanity check on a freshly ghosted x86 PC. I ran x264vfw_34_2008bm_29021.exe, the file I inherited from the contractors who originally muddled this project. I'm making a potentially unwarranted assumption this file is an earlier version of the x264vfw project from SourceForge; I don't know exactly where my predecessors found this thing.
I checked GraphEdit before and after file installation. Before, the Video Compressor section said nothing about x264. Afterwards, x264vfw was available.
Further tests to follow. All of my assumptions may be very wrong. -
I think the "video compressors" section refers to ACM / VFW and DMO codecs, not directshow filters
You would still need some way of modifiying x264 source code for directshow for the directshow filter graph to connect, or are you saying you can construct a working graph with that ? -
Okay, back from testing (and lunch). I got the x86 version of x264vfw from SourceForge (x264vfw_35_2120bm_31356.exe). I ghosted a PC back to a fresh install, checked that x264vfw was not listed in GraphEdit, and then installed the file. Afterwards, x264vfw appeared as expected.
From the further comments, that seems not to have been controversial. I'm fairly certain that I'm not making wild, inaccurate claims.
However, in response to other comments, I should mention again that I already have a project in x86 where I grab an instance of x264vfw by its moniker (@device:cm:{33D9A760-90C8-11D0-BD43-00A0C911CE86}\x264) and connect it with a DirectShow graph. This section of the application works fairly well now. I just need to port it over to x64.
So to answer poisondeathray's question, I can indeed construct a working graph with what appears in GraphEdit's Video Compressors section... in x86, anyway. Now I'm wondering why (a) the x64 installation of x264vfw doesn't appear in the video compressors section of GraphEdit (the x64 version), and (b) I can't connect my graph with it in a similar fashion. (Granted, I haven't proven it's impossible to connect in x64, but since I can't get any information about its CLSID or moniker, I don't have any binding information in order to load x264vfw and make a connection.) -
You can ask komisar or roozhou (and many other programmers, including x264 dev's) for assistance directly, either at doom9 or doom10 forums . clsid is another knowlegable person that could probably help with a directshow implementation (he helps manage some projects like ffdshow, and codec tweak tool)
-
Not a pain or problem at all - That's what we're here for - to learn
If you find the solution, please post a summary so others can learn from it too
One last thing - did you try graph studio next, 64-bit ? It might be that graphedit and old graphstudio are 32-bit, so they do not communicate with 64-bit filters
http://code.google.com/p/graph-studio-next/ -
Yep. I know only too well that x64 DirectShow apps can only see and use x64 filters. I mentioned x64 GraphStudio, etc. explicitly in my first post of this thread.
Just to follow up on this problem, Doom10 had some insight into what was happening: http://doom10.org/index.php?topic=2135.new
The short answer is that the DirectShow wrapper for compressor vfw codecs (qcap.dll) doesn't include an interface for these in x64.
Similar Threads
-
x264vfw and aac question
By portella in forum Video ConversionReplies: 0Last Post: 29th Aug 2011, 06:37 -
Updating X264vfw
By hech54 in forum Video ConversionReplies: 1Last Post: 30th Jan 2011, 09:16 -
H.264 video is dim with overlay / x264vfw question
By serexl in forum Newbie / General discussionsReplies: 16Last Post: 9th Mar 2010, 21:07 -
VirtualDub x64 with ffdshow vfw x64 no H264
By SandyB in forum Newbie / General discussionsReplies: 8Last Post: 10th Aug 2009, 18:45 -
Help with x264vfw
By ingeralhaosului in forum Video ConversionReplies: 1Last Post: 14th Jun 2008, 16:00