PDA

View Full Version : Cleaning up directshow


check
18th June 2007, 14:55
Well, anyone who has poked the dshow framework would have noticed the large number of filters that seem to accumulate (http://www.cccp-project.net/smf/index.php?topic=1760.msg11464#msg11464) over (http://www.cccp-project.net/smf/index.php?topic=1751.0) time (http://www.cccp-project.net/smf/index.php?topic=1406.msg8593#msg8593). Even with the default windows install you start out with 110 filters or so. Anyway, this is never really a problem as unused filters just sit there benignly -- which is why you should never try the following :p.
I wanted to see how many filters you could cut out of the directshow list and still play stuff, everything listed here (http://www.cccp-project.net/wiki/index.php?title=FAQ#Supported_Formats) to be precise.

To cut a long story short, here's what I ended up with:
[DirectShow Filters]
[3 detected]
1> ffdshow Audio Decoder
Filename: C:\Program Files\Combined Community Codec Pack\Filters\FFDShow\ffdshow.ax
CLSID: {0F40E1E5-4F79-4988-B1A9-CC98794E6B55}
Date: 2007-06-12 | 18:26:36

2> ffdshow Video Decoder
Filename: C:\Program Files\Combined Community Codec Pack\Filters\FFDShow\ffdshow.ax
CLSID: {04FE9017-F873-410E-871E-AB91661A4EF7}
Date: 2007-06-12 | 18:26:36

3> Video Renderer
Filename: C:\WINDOWS\system32\quartz.dll
CLSID: {6BC1CFFA-8FC1-4261-AC22-CFB4CC38DB50}
Date: 2007-04-17 | 17:53:29

These three play everything listed above, bar WavPack and .flv (which requires their own filters). There are a few interesting tidbits here:
o You don't need a source filter as long as you register haali's splitter as the default handler for avi/mkv/ogm/mp4/ts
o you don't need a renderer, haali's splitter can connect to his renderer without a directshow entry. In theory VMR7/9 would work too, but... ewwww
o you don't need vsfilter registered, haali's splitter can be set to force load it whenever subtitles are detected.

The one thing I can't work out is why the Video Renderer is required, but that's a mystery for another day ;)

anonymez
19th June 2007, 04:17
LOL. :) You might be able to play a bunch of formats, but perhaps not as well as with other filters. That setup won't play a "regular" FLAC by the way, but you probably already know that.

The one thing I can't work out is why the Video Renderer is required, but that's a mystery for another day ;)

Because quartz.dll (part of DirectX) IS Directshow, in a sense. It also contains a few of MS's filters, including their DV Decoder. :)