I'm working on adding video playback to a project with others and for some reason the video quality is much different on my computer versus others. We figure it has something to do with the filters that each computer has although we can't seem to pin down which filters specifically are different. The only major difference we have is that I'm running windows 8 while he's running windows 7. Are there OS differences at all or is it that I must have some different filters downloaded? Any insight would be great!
2 Answers
There have been few fundamental changes to DirectShow over last 10 years, so it's highly unlikely to be a direct cause of the difference you are seeing.
Your troubleshooting however should have started from another end - the filters you mentioned. DirectShow provides API, framework and environment for video streaming, decoding and playback. DirectShow pipelines might be different on the two systems in question, different decoders for the same format/data in particular. Then even same filters might use or not use hardware capabilities for video decoding, i.e. operate in different modes, and hence different output.
Since you were already comparing filters, you should have posted the details here for detailed discussion. Or alternatively, you could compare equal pipelines/graphs on the two systems to see if the presentation has any visual differences.

- 68,205
- 6
- 94
- 158
-
My problem stems from the fact that I do not, in fact, know how to compare the filters themselves or the pipelines. My understanding of directshow is very basic and all I've done is manage to make a stripped down video player. – Ian Panzica Dec 31 '13 at 04:58
-
1To efficiently debug/troubleshoot a DirectShow application, you need to master checking filter graphs on runtime, see [How can I reverse engineer a DirectShow graph?](http://stackoverflow.com/questions/27832/how-can-i-reverse-engineer-a-directshow-graph) for details and the easiest is to install Windows SDK, [Spy](http://alax.info/blog/777), and then on a running application use GraphEdit or similra to inspect application graphs. – Roman R. Dec 31 '13 at 13:50
-
I ended up making a tool to output the .grf files and was able to check them out and spot the major difference between the two machines. Thank you for your help! – Ian Panzica Jan 06 '14 at 15:30
You can use this function to save graph from your application to a .grf file.
Then you can open it in GraphEdit or GraphEditPlus to see which filters are used there. However you won't be able to open graph file on a different PC if it doesn't have some filters mentioned in the graph. For such cases I've made a little tool that dumps .grf files to text files, it can run on any machine, not requiring the filters to be present.

- 1,016
- 6
- 7
-
I ended up making a little tool using the function mentioned and have been able to check the output from the two machines. My machine has a PowerLink MPEG-4 Splitter on it which greatly increased the output quality of the video. It must have come pre-installed on my machine. – Ian Panzica Jan 06 '14 at 15:30