Filter Categories
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The following tables list the CLSIDs for the DirectShow filter categories.
- DirectShow Filter Categories
- Other Filter Categories
- DirectShow Filter Meta-Category
- DMO Categories
- Related topics
DirectShow Filter Categories
The categories listed here are enumerated by the Filter Mapper. By default, however, the Filter Mapper ignores categories with merits of MERIT_DO_NOT_USE or less. For more information, see IFilterMapper2::EnumMatchingFilters. All of the categories listed here can also be enumerated with the System Device Enumerator.
The following categories are declared in Uuids.h. Include the header file Dshow.h.
Friendly Name | CLSID | Merit |
---|---|---|
Audio Capture Sources | CLSID_AudioInputDeviceCategory | MERIT_DO_NOT_USE |
Audio Compressors | CLSID_AudioCompressorCategory | MERIT_DO_NOT_USE |
Audio Renderers | CLSID_AudioRendererCategory | MERIT_NORMAL |
Device Control Filters | CLSID_DeviceControlCategory | MERIT_DO_NOT_USE |
DirectShow Filters | CLSID_LegacyAmFilterCategory | MERIT_NORMAL |
External Renderers | CLSID_TransmitCategory | MERIT_DO_NOT_USE |
Midi Renderers | CLSID_MidiRendererCategory | MERIT_NORMAL |
Video Capture Sources | CLSID_VideoInputDeviceCategory | MERIT_DO_NOT_USE |
Video Compressors | CLSID_VideoCompressorCategory | MERIT_DO_NOT_USE |
WDM Stream Decompression Devices | CLSID_DVDHWDecodersCategory Note: This category contains hardware DVD decoders. |
MERIT_DO_NOT_USE |
WDM Streaming Capture Devices | AM_KSCATEGORY_CAPTURE | MERIT_DO_NOT_USE |
WDM Streaming Crossbar Devices | AM_KSCATEGORY_CROSSBAR | MERIT_DO_NOT_USE |
WDM Streaming Rendering Devices | AM_KSCATEGORY_RENDER | MERIT_DO_NOT_USE |
WDM Streaming Tee/Splitter Devices | AM_KSCATEGORY_SPLITTER | MERIT_DO_NOT_USE |
WDM Streaming TV Audio Devices | AM_KSCATEGORY_TVAUDIO | MERIT_DO_NOT_USE |
WDM Streaming TV Tuner Devices | AM_KSCATEGORY_TVTUNER | MERIT_DO_NOT_USE |
WDM Streaming VBI Codecs | AM_KSCATEGORY_VBICODEC | MERIT_DO_NOT_USE |
The following categories are declared in the header file Ks.h.
Friendly Name | CLSID | Merit |
---|---|---|
WDM Streaming Communication Transforms | KSCATEGORY_COMMUNICATIONSTRANSFORM | MERIT_DO_NOT_USE |
WDM Streaming Data Transforms | KSCATEGORY_DATATRANSFORM | MERIT_DO_NOT_USE |
WDM Streaming Interface Transforms | KSCATEGORY_INTERFACETRANSFORM | MERIT_DO_NOT_USE |
WDM Streaming Mixer Devices | KSCATEGORY_MIXER | MERIT_DO_NOT_USE |
The following categories are declared in the header file Bdamedia.h. Include the following header files: ks.h, ksmedia.h, and bdamedia.h.
Friendly Name | CLSID | Merit |
---|---|---|
BDA Network Providers | KSCATEGORY_BDA_NETWORK_PROVIDER | MERIT_NORMAL |
BDA Receiver Components | KSCATEGORY_BDA_RECEIVER_COMPONENT | MERIT_DO_NOT_USE |
BDA Rendering Filters | KSCATEGORY_IP_SINK | MERIT_DO_NOT_USE |
BDA Source Filters | KSCATEGORY_BDA_NETWORK_TUNER | MERIT_DO_NOT_USE |
BDA Transport Information Renderers | KSCATEGORY_BDA_TRANSPORT_INFORMATION | MERIT_NORMAL |
Note
Decoders are registered under the "DirectShow Filters" category (CLSID_LegacyAmFilterCategory).
Other Filter Categories
The categories listed here can be enumerated with the System Device Enumerator, but are not visible to the Filter Mapper and are not used by Intelligent Connect.
The following categories are declared in the header file Qedit.h.
Friendly Name | CLID | Merit |
---|---|---|
Video Effects (1 input) | CLSID_VideoEffects1Category | MERIT_DO_NOT_USE |
Video Effects (2 inputs) | CLSID_VideoEffects2Category | MERIT_DO_NOT_USE |
These categories contain video effects and transitions for DirectShow Editing Services:
- "Video Effects (1 input)" contains video effects.
- "Video Effects (2 input)" contains video transitions.
For more information, see Enumerating Effects and Transitions.
The following categories are declared in the header file Uuids.h. Include the header file Dshow.h.
Friendly Name | CLID | Merit |
---|---|---|
EncAPI Encoders | CLSID_MediaEncoderCategory | MERIT_DO_NOT_USE |
EncAPI Multiplexers | CLSID_MediaMultiplexerCategory | MERIT_DO_NOT_USE |
DirectShow Filter Meta-Category
Friendly Name | CLSID | Merit |
---|---|---|
ActiveMovie Filter Categories | CLSID_ActiveMovieCategories | Not applicable |
This meta-category contains a list of filter categories. If a filter category does not appear within this list, the Filter Mapper ignores the category, which means the filter is not available for Intelligent Connect.
To enumerate the list of filter categories, call ICreateDevEnum::CreateClassEnumerator with the value CLSID_ActiveMovieCategories. The monikers returned by this method support the following properties.
Property Name | Description |
---|---|
"FriendlyName" | Category name (VT_BSTR). |
"Merit" | Category merit (VT_I4). If this property is absent, treat as MERIT_DO_NOT_USE. |
"CLSID" | Category CLSID (VT_BSTR). |
To add a new filter category to this list, call IFilterMapper2::CreateCategory.
DMO Categories
DirectX Media Objects (DMOs) use a different enumeration mechanism from DirectShow filters. For more information, see Registering a DMO. However, you can use the System Device Enumerator to enumerate DMO categories. The monikers bind to the DMO Wrapper Filter and automatically initialize the filter with the DMO.
In addition, some of the DMO categories are mapped to DirectShow filter categories for the purposes of intelligent connect:
DMO Category | DirectShow Equivalent |
---|---|
DMOCATEGORY_AUDIO_ENCODER | CLSID_AudioCompressorCategory |
DMOCATEGORY_AUDIO_DECODER | CLSID_LegacyAmFilterCategory |
DMOCATEGORY_VIDEO_ENCODER | CLSID_VideoCompressorCategory |
DMOCATEGORY_VIDEO_DECODER | CLSID_LegacyAmFilterCategory |
Note that the video effect and audio effect categories are not mapped to any DirectShow categories.