Multimedia DirectShow Filters
The LEADTOOLS Multimedia SDK includes a fully enabled development license for many components, as well as evaluation versions of several optional filters and video/audio codecs. You may consider licensing these for inclusion with your multimedia application to add value to your product. For instructions on licensing any of the DirectShow filters described below, see the Licensing section of the help file or contact oemsales@leadtools.com. Evaluation versions are noted as such in the Feature column.
Video Filters
Feature |
Filter/Interface(s) |
Header |
Comments |
Help Files |
Video Add |
LMVAdd.DLL - ILMVAdd, ILMVAddDisp |
ILMVAdd.h |
The add filter can be used for enhancing night vision or dropping more light on dark sources to clarify objects. The effect is performed in 2 ways, the first yields a frame rate divided by the number of added frames, while the other almost preserves the frame rate by using previous frames to output each sample. The output is of course not the same from the two methods. The filters functionality is exposed through both user and programming interfaces. |
|
Video Auto Contrast |
LMVAutoCont.dll - ILMVAutoCont |
ILMVAutoCont.h |
The Auto Contrast filter performs color leveling at the luminance (grayscale) level, introducing no color cast. It makes the dark values darker and the light values lighter, which automatically enhances shadows and brightens the video stream. It also maximizes the tonal range of the image and enhances the contrast and intensity using the image's histogram and a color distribution-based algorithm. |
|
Video Auto Intensity |
LMVAutoInt.dll - ILMVAutoInt |
ILMVAutoInt.h |
The Auto Intensity filter performs color leveling on the RGB channel
(the sum of the R, G, and B channels), introducing no color cast. |
|
Video Auto Level |
LMVAutoLvl.dll - ILMVAutoLvl |
ILMVAutoLvl.h |
The Auto Level filter performs color leveling on the individual R, G
and B channels, treating each of the R, G and B channels as a separate
entity, introducing no color cast. |
|
Video Callback (evaluation) |
LMVCalBk2.DLL- ILMVCalBk, ILMVCalBkDisp |
ILMVCalBk2.h |
The Video callback filter can be used to capture or change video data in a multimedia stream. For example, you can apply any of the LEADTOOLS Image processing filters on the frame, and then render the results. |
|
Video Color |
LMVClr.DLL - ILMVColor |
ILMVClr.h |
The Color filter provides the ability to change some color attributes of the streaming video. The filter can change the video brightness, contrast, hue, and saturation, in addition to an invert colors option. The above changes can be applied to a selected area (rectangle) only by changing the "Effect Area" attributes in the property page or using SetCropAttributes from the programming interface. |
|
Video Color Replacement |
LMVClrRp.DLL - LMVColorRep |
ColorRep.h |
The filter replaces a color with another color over the video stream. The filter uses the HSV color space. |
|
Video Crop (evaluation) |
LMVCrop2.DLL - ILMVCrop, ILMVCropDisp |
ILMVCrop2.h |
The Crop filter is used to extract areas from a source movie, a graphical representation is provided to show and modify the desired rectangle position and size. The cropped rectangle can be as small as 1x1. The filters functionality is exposed through both user and programming interfaces. |
|
Video Deblocking |
LMVDblck.dll - ILMVDeblock |
ILMVDblck.h |
The deblocking filter is a DirectShow transform filter that performs deblocking on a video stream. The deblocking is applied to raw RGB data and is not related to a specific decoder output. The filter accepts block size and first block offset parameters to deblocking paths and the beginning of the blocked area. If the block size and first block offset do not match the blocks in the passed video sample, the filter is not expected to give satisfactory results. Two algorithms are currently offered to perform deblocking, 2-Lines and 4-Lines. The filter exposes its functionality through both user and programming interfaces. |
|
Video Deinterlace (evaluation) |
LMVDeitr2.DLL - ILMVDeinterlace, ILMVDeinterlaceDisp |
ILMVDeinterlace2.h |
The deinterlace filter converts interlaced video to make it a progressive
scan video. |
|
Video Edge Enhance |
LMVEdgEnh.dll - ILMVEdgEnh |
ILMVEdgEnh.h |
The edge enhancer filter is a DirectShow transform filter that performs edge enhancement on a video stream. The filter exposes its functionality through both user and programming interfaces. |
|
Video Emboss |
LMVEmbs.DLL - ILMVEmboss, ILMVEmbossDisp |
ILMVEmboss.h |
This filter offers embossing a video stream providing different parameters to control the effect. The effect can be applied to a selected area (rectangle) only by changing the "Effect Area" attributes in the property page or using SetCropAttributes from the programming interface. |
|
Video Frame Controller (evaluation) |
LMVFramCtrl2.dll - ILMVFramCtrl |
ILMVFramCtrl2.h |
The Frame Rate Control filter provides the ability to change the frame rate of the passing video stream. |
|
Video Gamma Correction |
LMVGamma.DLL - ILMVGamma |
ILMVGamma.h |
This filter performs gamma correction to a video stream. Possible gamma values are between 1 and 500. |
|
Video Histogram Equalize (evaluation) |
LMVHstg2.DLL - ILMVHistogEq |
ILMVHstg2.h |
This filter performs Histogram Equalization to a video stream. Equalization can be done for a single channel; Red, Green, or Blue, or for all channels; master. |
|
Video Histogram View (evaluation)
|
LMVHstg2.DLL - ILMVHistogVw |
ILMVHstg2.h |
Histogram View filter draws the running histogram of a video stream in its property page. The filter also provides access to the histogram array through its programming interface. The histogram can be viewed for a single channel or for all channels. |
|
Video EFX Aging |
LMVMiscFX.dll - ILMVAging, ILMMCommon |
LMVMiscFX.h |
The EFX aging filter gives a movie the look and feel of an old style movie (Color or B&W). |
|
Video EFX BumpMap |
LMVMiscFX.dll - ILMVBumpMap, ILMMCommon |
LMVMiscFX.h |
The EFX bump map filter embeds the texture of an image or frame into the movie frames. |
|
Video EFX Dizzy |
LMVMiscFX.dll - ILMVDizzy, ILMMCommon |
LMVMiscFX.h |
The EFX dizzy filter rotates, zooms and blurs movie frames to create a dizziness-like effect. |
|
Video EFX Glass Tile |
LMVMiscFX.dll - ILMVGlassTile, ILMMCommon |
LMVMiscFX.h |
The EFX glass tile filter will create a stained glass effect on each movie frame. |
|
Video EFX Lens |
LMVMiscFX.dll - ILMVLens, ILMMCommon |
LMVMiscFX.h |
The EFX lens filter adds a fish eye-like effect to the movie. |
|
Video EFX Maze |
LMVMiscFX.dll - ILMVMaze, ILMMCommon |
LMVMiscFX.h |
The EFX maze filter distorts the movie into a crystal maze. |
|
Video EFX Rain |
LMVMiscFX.dll - ILMVRain, ILMMCommon |
LMVMiscFX.h |
The EFX rain filter adds rain drops to the video. |
|
Video EFX Fire |
LMVMtnFX.dll - ILMVFire, ILMMCommon |
LMVMtnFX.h |
The EFX fire filter draws flames around a moving object. |
|
Video EFX Ghost |
LMVMtnFX.dll - ILMVGhost, ILMMCommon |
LMVMtnFX.h |
The EFX ghost filter makes moving objects invisible. |
|
Video EFX Hologram |
LMVMtnFX.dll - ILMVHologram, ILMMCommon |
LMVMtnFX.h |
The EFX hologram filter draws a holographic-like shadow of a moving object. |
|
Video EFX Lightning |
LMVMtnFX.dll - ILMVLightning, ILMMCommon |
LMVMtnFX.h |
The EFX lightning filter draws lightning sparks around a moving object. |
|
Video EFX Motion Blur |
LMVMtnFX.dll - ILMVMotionBlur, ILMMCommon |
LMVMtnFX.h |
The EFX motion blur filter creates a motion blur effect for moving objects. It gives the appearance of a random glow around the motion. |
|
Video EFX Motion Emboss |
LMVMtnFX.dll - ILMVMotionEmboss, ILMMCommon |
LMVMtnFX.h |
The EFX motion emboss filter applies an Emboss effect to moving objects. |
|
Video EFX Motion Mosaic |
LMVMtnFX.dll - ILMVMotionMosaic, ILMMCommon |
LMVMtnFX.h |
The EFX motion mosaic filter applies a mosaic effect to moving objects. |
|
Video EFX Motion Scan |
LMVMtnFX.dll - ILMVMotionScan, ILMMCommon |
LMVMtnFX.h |
The EFX motion scan filter will scan one line per frame and draw it to the destination. This gives the effect of distorting the moving objects. |
|
Video EFX Particles |
LMVMtnFX.dll - ILMVParticles, ILMMCommon |
LMVMtnFX.h |
The EFX particles filter distorts an object, when it moves, into small particles. It then joins the particles to reform the object when it stops moving. |
|
Video EFX Streak |
LMVMtnFX.dll - ILMVStreak, ILMMCommon |
LMVMtnFX.h |
The EFX streak filter shows moving objects as they are traced in slow motion. |
|
Video EFX Wave |
LMVMtnFX.dll - ILMVWave, ILMMCommon |
LMVMtnFX.h |
The EFX wave filter makes waves around moving objects. |
|
Video Mosaic |
LMVMosc.DLL - ILMVMosaic, ILMVMosaicDisp |
ILMVMosaic.h |
Mosaic effect transforms any image into something that looks as though it were created by positioning a number of tiling elements, each of constant color and an approximate size. This filter applies the mosaic effect to a video stream with the ability to set the mosaic square size. The mosaic effect can be applied to a selected area (rectangle) only by changing the "Effect Area" attributes in the property page or using SetCropAttributes from the programming interface. |
|
Video Motion Detection (evaluation) |
LMVMtnDet2.dll - ILMVMtnDet, ILMVMtnDetUserCallback |
ILMVMtnDet2.h |
The filter compares the current frame with the previous frame. Every time there is a difference between frames, the filter calls a user callback. You can programmatically find the rectangles where motion is detected. |
|
RGB Converter |
LMVRGBxf.DLL - ILMVConvRGB |
ILMVRGB.h |
This is an RGB color space converter that supports conversion between different RGB formats. The filter supports the following formats: RGB8 (gray and palettized), RGB565, RGB555, RGB24, and RGB32. The input or output format can be set to AUTO, to enable free negotiation with the up or down stream filter. The filters functionality is exposed through both user and programming interfaces. |
|
Video Rotation (evaluation) |
LMVRot2.DLL - ILMVRotation |
ILMVRot2.h |
The Rotation filter enables rotating a video stream by the standard angles; 0, 90, 180, and 270 in addition to flip and reverse options. The filters functionality is exposed through both user and programming interfaces. |
|
Video Resize (evaluation) |
LMVRsz2.DLL - ILMVResize |
ILMVRsz2.h |
The Resize filter is used to change the dimensions of a source movie; the result is a new media, with new dimensions and size. The resize filter offers three types of resizing algorithms; Resample, Bicubic interpolation, and Normal. The user interface, as will as the programming interface, friendly enable the selection of the filter parameters; Width, Height, Keep aspect ratio, etc. In addition to the ability to select any desired size through specifying the width and height, the user can select a ratio size (i.e. 2X, Normal, X/2, ...). |
|
Video Text Overlay (evaluation) |
LMVTOvLy2.dll - ILMVTOvLy |
ILMVTOvLy2.h |
This is a DirectShow transform filter that performs text overlaying on a video stream. It supports a wide range of text options from font and wrapping to rotation and transparency. The filter exposes its functionality through both user and programming interfaces. |
|
Video UnSharpMask (evaluation) |
LMVUsMsk2.dll - ILMVUshrpMsk |
ILMVUsMsk2.h |
The unsharp mask filter is a DirectShow transform filter that performs a sharpening effect on a video stream. The filter exposes its functionality through both user and programming interfaces. The processing time of the filter is high, so the filter will be slow, and low frame rate is expected. All the functionality in the filters property page is available via the programming interface of the filter. |
|
Video Video Overlay |
LMVVOvLy2.dll - ILMVVOvLy |
ILMVVOvLy2.h |
This is a DirectShow transform filter that enables overlaying video and images on a video stream |
|
YUV Converter |
LMVYUVxf.DLL - none |
None |
The YUV converter filter can accept a variety of YUV formats and convert them to RGB. No RGB input is accepted. Currently, neither a user interface is available nor a programming interface. |
|
Still Image Reader |
ltStlImgRd.dll - ILTStlImgRd |
ILTStlImgRd.h |
This filter allows DirectShow applications (such as Windows Media Player) to read a variety of still image file formats, including: Windows BMP Compuserve GIF TIFF PNG JPEG JPEG 2000 LEAD CMP LEAD CMW (Wavelet) Targa TGA PCX And many more |
|
Still Image Writer |
ltStlImgWrt.dll - ILTStlImgWrt |
ILTStlImgWrt.h |
This filter allows any DirectShow application (such as Windows Media Player) to save the video stream to a variety of different still image file formats, including: Windows BMP Compuserve GIF TIFF PNG JPEG JPEG 2000 LEAD CMP LEAD CMW (Wavelet) Targa TGA PCX And many more |
|
Audio Filters
Feature |
Filter/Interface(s) |
Header |
Comments |
Help Files |
Audio Callback |
LMACalBk.DLL- ILMACalBk, ILMACalBkDisp |
ILMACalBk.h |
The Audio callback filter can be used to capture or change audio in a multimedia stream. |
|
Audio Chorus |
LMAChrs.DLL - ILMAChorus, ILMAChorusDisp |
ILMAChorus.h |
The chorus filter can be used to add a chorus effect. The chorus effect makes one instrument sound like many instruments are being played. It adds some thickness to the sound. |
|
Audio Detection (evaluation) |
LMADet2.DLL - ILMADet, ILMADetUserCallback |
ILMADet2.h |
The Audio Detection filter determines whether there is sound or not. The filter uses a silence threshold: every sound above this threshold is considered sound, everything below is considered silence. |
|
Audio Echo |
LMAEcho.DLL - ILMAEcho, ILMAEchoDisp |
ILMAEcho.h |
The echo filter can be used to add an echo effect. The echo effect reflects a sound wave back to its source with sufficient strength and time lag to be separately distinguished. |
|
Audio Flanger |
LMAFlng.DLL - ILMAFlanger, ILMAFlangerDisp |
ILMAFlanger.h |
The flanger filter can be used to add a flange effect. Flanging has a characteristic sound often described as a "whooshing" sound, similar to the sound of a jet plane flying overhead. |
|
Audio Phaser |
LMAPhase.DLL - ILMAPhaser, ILMAPhaserDisp |
ILMAPhase.h |
The phase filter can be used to add the distinctive phaser sound. This distinctive sound is obtained by creating one or more notches in the frequency domain that eliminate sounds at the notch frequencies. Notches are created by filtering the signal, and mixing the filter output with the input signal. The flanger, a specific type of phasing, also makes use of notches. |
|
Audio Volume |
LMAVol.DLL - ILMAVolume |
ILMAVolume.h |
The Audio Volume filter allows the user to change the volume of sound samples. |
|
Audio VU Meter |
LMAVUMeter.DLL - ILMAVUMeter, ILMAVUMeterDisp |
ILMAVUMeter.h |
The VU meter filter can be used to add a VU meter to an audio stream. The VU meter allows the user to retrieve left and right channel audio power levels. The filter can be used to monitor the output level of other filters placed before it in the stream. |
|
Miscellaneous Filters
Feature |
Filter/Interface(s) |
Header |
Comments |
Help Files |
ISO Multiplexer |
LMISOMux.dll DSKernel2.dll |
|
The LEAD ISO Multiplexer can be used to create files based on the ISO base file format described in ISO/IEC 14496-12. The ISO base file format should not be confused with the files used to store CD images or DVD images (which have the .ISO extension). The LEAD ISO Multiplexer does not support every video and audio compression. The following compressions are supported: MPEG-4 (MPEG-4 Part 2) video compression H.264 (MPEG-4 Part 10) video compression AAC audio compression (PCM) uncompressed audio |
|
Ogg Multiplexer |
LMOggMux.dll
|
|
The Ogg Multiplexer can be used to create Ogg files. This filter will accept any media type (any audio or video compressor). Ogg is a new file format, made popular by Vorbis audio compression. |
|
MPEG-1 Multiplexer |
LMMpg1Mx2.dll DSKernel2.dll
|
|
The LEAD MPEG-1 Multiplexer filter can be used to create MPEG-1 files. This filter requires compression compatible with MPEG-1 Audio and MPEG-1 Video compression. We recommend using the LEAD MPEG Audio Encoder and LEAD MPEG2 Video Encoder in conjunction with this filter. |
|
MPEG-2 Multiplexer |
LMMpg2Mx2.dll DSKernel2.dll |
|
The LEAD MPEG-2 Multiplexer can be used to create MPEG-2 files. This filter requires compression compatible with MPEG-1 Audio or MPEG-2 Audio and MPEG-1 Video or MPEG-2 Video compression. The following compressions are supported: MPEG-1 Audio compression (Layer 2 or Layer 3) AC3 Audio compression (preferred audio compression for DVD) LPCM Audio format (uncompressed audio used for DVD) There are two main reasons to create MPEG-2 files: 1) To create MPEG-2 files for file interchange purposes. In this case, it is recommended to use the LEAD MPEG Audio Encoder and LEAD MPEG2 Video Encoder to compress the data. 2) To create MPEG-2 files for creating a DVD out of them. In this case, we recommend you to use the LEAD AC3 Audio Encoder and LEAD MPEG2 Video Encoder to compress the data. |
|
MPEG2 Transport Demultiplexer |
LMMpgDmxT.dll DSKernel2.DLL - ILMMpgDmx |
ILMMpgDmxT.h |
The LEAD MPEG2 Transport Demultiplexer is a DirectShow filter that can parse the following types of streams: MPEG-2 Transport specified in ISO/IEC 13818-1 MPEG-2 Program specified in ISO/IEC 13818-1 MPEG-1 System specified in ISO/IEC 11172-1 Elementary stream data (also know as raw video or raw audio data) The first two formats are multiplexed formats, and they can contain video, audio and private data streams. The video compression can be MPEG1 (ISO/IEC 11172-2), MPEG2 (ISO/IEC 13818-1), MPEG4 (ISO/IEC 14496-2) or H.264 (ISO/IEC 14496-10). The audio compression can be MPEG1 (ISO/IEC 11172-3), AC3, LPCM or AAC. The private data can be retrieved using the ILMMpgDmxCallback interface. The filter will create private data pins, but it is not necessary to render these pins in order to programmatically retrieve the private data packets. The filter also provides the ILMKlvParser interface, which can be used to parse KLV private data conforming to SMPTE 336M-2001. The demultiplexer works in pull mode, so it will connect to source filters that expose the IAsyncReader interface. |
|
MPEG2 Program Demultiplexer |
LMMpgDmxP.dll DSKernel2.dll - ILMMpgDmx |
ILMMpgDmxP.h |
The LEAD MPEG2 Program Demultiplexer is a DirectShow filter that can parse the following types of streams: MPEG-2 Program specified in ISO/IEC 13818-1 MPEG-1 System specified in ISO/IEC 11172-1 Elementary stream data (also known as raw video or raw audio data) The first two formats are multiplexed formats, and they can contain video, audio and private data streams. The video compression can be MPEG1 (ISO/IEC 11172-2), MPEG2 (ISO/IEC 13818-2), MPEG4 (ISO/IEC 14496-2) or H.264 (ISO/IEC 14496-10). The audio compression can be MPEG1 (ISO/IEC 11172-3), AC3, LPCM or AAC. This filter does NOT support MPEG-2 Transport streams defined in ISO/IEC 13818-1. This type of file/stream is supported in the LEAD MPEG2 Transport Demultiplexer. This filter does NOT support private data. For private data support, please use the LEAD MPEG2 Transport Demultiplexer. The demultiplexer works in pull mode, so it will connect to source filters that expose the IAsyncReader interface. The IAsyncReader is a standard Microsoft interface. |
|
MPEG2 Transport UDP Source |
LMUDPSrc.dll DSKernel2.DLL - IFileSourceFilter |
ILMUDPSrc.h |
The LEAD MPEG2 Transport UDP Source is a DirectShow filter for streaming data from a UDP port. The data is usually in an MPEG-2 Transport format, as defined in ISO/IEC 13818-1. The filter is also capable of receiving MPEG-2 Transport data packetized with RTP packets conforming to RFC 1889 and RFC 1890. This filter supports the standard IFileSourceFilter interface. Use the IFileSourceFilter::Load method to let the LEAD MPEG2 Transport Source filter know where to read the data from. |
|
ISO Demultiplexer |
LMISODmx.dll DSKernel2.DLL |
|
The LEAD ISO Demultiplexer can be used to play files based on the ISO base file format described in ISO/IEC 14496-12. The ISO base file format should not be confused with the files used to store CD images or DVD images (which have the .ISO extension). The following common file formats use the ISO base file format: MP4 files used by Apple iPOD or Playstation Portable device (.MP4 extension) Quicktime files (.MOV extension) AAC audio files (.AAC extension) 3GPP files used by 3G mobile phones (.3GP extension) AVC files (.AVC extension) The ISO demux can be used to parse the above file formats. |
|
Ogg Splitter |
LMOggSpl.dll DSKernel2.DLL |
|
The Ogg Splitter can be used to play Ogg files. Ogg is a new file format, made popular by Vorbis audio compression. |
|