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

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.

Constants and GUIDs

Enumerating Devices and Filters

Intelligent Connect

Layout of the Registry Keys

Using the Filter Mapper

Using the System Device Enumerator