Use Audio and Video Processing Filters

The ltmmCapture, ltmmConvert, and ltmmPlay objects all have the ability to use audio and video processing filters. These filters can be used to obtain special effects or corrections during capture, conversion, or playback.

The filters currently shipped with the toolkit include the following filters:

Video Filter Name

Description

LEAD Video Resize Filter

A DirectShow transform filter for resizing a video stream The portion of the file holding the video data. The video data might be compressed to save disk space. The data has to be decompressed using a video decompressor Also known as a decoder, this is a module or algorithm to decompress data. before you can play (see) it.. 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, ...).

LEAD Video Crop Filter

A DirectShow transform filter for cropping a video stream. A graphical representation is provided to show and modify the desired rectangle position and size. The cropped rectangle can be as small as 1x1.

LEAD Video Emboss Filter

A DirectShow transform filter that applies the emboss effect on a video stream. The emboss effect is controlled by the Light angle, Elevation, and Depth. The filter has a Bump Map option but currently the used image is the stream buffer itself, external image selection is not supported yet. The emboss effect can be applied to a selected rectangle only.

LEAD Video Mosaic Filter

A DirectShow transform filter that applies the mosaic effect on a video stream with the ability to set the mosaic square size. The mosaic effect can be applied to a selected rectangle only.

LEAD Video Gamma Correction Filter

A DirectShow transform filter that performs gamma correction on a video stream. Possible gamma value are between 0.01 5.0

LEAD Video Histogram Equalize Filter

A DirectShow transform filter that performs histogram equalization on a video stream. Equalization can be applied on a single channel (Red, Green, or Blue) or to all channels (gray).

LEAD Video Histogram View Filter

A DirectShow transform filter that draws the running histogram of a video stream. 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.

LEAD Video Add Filter

A DirectShow transform filter that adds video frames to achieve a brightening of the image.

LEAD DirectShow Color Filter

A DirectShow transform filter for color manipulation of a video stream. 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 rectangle only.

LEAD Video Stabilizer

A DirectShow transform filter for video stabilization. The filter reduces vibrations and shaking in the input video to produce a stable video.

 

Audio Filter Name

Description

LEAD Volume Control Filter

A simple DirectShow audio transform filter to change the volume of an audio stream The portion of the file holding the audio data. The audio data might be compressed to save disk space. The data has to be decompressed using an audio decompressor before you can play (hear) it..

A complete list can be found at LEADTOOLS DirectShow Filters. LEADTOOLS includes the LMM DirectShow Filters List with the toolkit for your convenience in looking at the filters installed on a machine.

ltmmCapture, ltmmConvert, and ltmmPlay all contain the same objects and functions for managing audio and video processors. The registered video and audio processor collections can be obtained by calling the get_AudioProcessors and get_VideoProcessors functions. Through the returned interface, you can enumerate all of the filters available. The user can then enumerate through all of the processors available for use. The user can then add individual processors through the SelectedAudioProcessors and SelectedVideoProcessors collections. However, every object contains helper dialog boxes for managing processors. For example, you can invoke the dialog boxes to add video and audio processors to the convert object with the following code:

C Source

// invoke the video processor management dialog
IltmmConvert_ShowDialog (pConvert, ltmmConvert_Dlg_VideoProcessors, (long) hwndParent);

// invoke the audio processor management dialog
IltmmConvert_ShowDialog(pConvert, ltmmConvert_Dlg_AudioProcessors, (long) hwndParent);

C++ Source

// invoke the video processor management dialog
pConvert->ShowDialog (ltmmConvert_Dlg_VideoProcessors, (long) hwndParent);

// invoke the audio processor management dialog
pConvert->ShowDialog(ltmmConvert_Dlg_AudioProcessors, (long) hwndParent);

1.

The processor list will initially be empty.

 

image\tutor_proc1.gif

 

2.

Click on "Insert " to add a processor to the list.

 

image\tutor_proc2.gif

 

3.

Select any processor in the list and click on "OK".

 

image\tutor_proc3.gif

 

4.

Insert more processors into the list, delete processors, or set the individual processor properties. Click on "OK" when you are done.

 

Any filter with a single input and output can be used by the multimedia toolkit. However, the filter must be registered as being compatible with the toolkit. The "LEADTOOLS Multimedia Filter Manager" can be used to mark filters as compatible with the toolkit.

5.

List the video processors available to LEADTOOLS click on "LTMM Video Processors"

 

image\tutor_proc4.gif

 

6.

Add another DirectShow filter to the list, click on "OK".

 

image\tutor_proc5.gif

 

7.

Select the filter to add and click "Add…".

 

image\tutor_proc6.gif

 

8.

The filter is now available for use by LEADTOOLS.

 

For further information regarding working with the filters programmatically, refer to Directly Access the DirectShow Processing Filters and Programmatically Insert a Processor Filter.