Video Processing Project
Project Web Hosting
Open Source Software
Please drop the Video Processing Project team a note if you use or find any of the offerings here useful. This will help us to determine if our contribution to the community is worthwhile.


Not what you're looking for? hosts over 100,000 Open Source projects. You may find what you're looking for by searching our site or using our Software Map.

Project Information

About this project:

This is the Video Processing Project.

This project was registered on on Mar 23, 2009, and is described by the project team as follows:

Video processing source code for algorithms and tools used in software media pipelines (e.g. image scalers, colour converters, etc.) The currently available source code is written in C++ with their associated libraries and DirectShow™ Filters.


This project was originally started by developers at the Council for Scientific and Industrial Research (CSIR) in South Africa as a mechanism for source code quality control. These functions and filters are used on various publicly funded projects and we felt that they might also be useful to the open source community as a whole. Your use of them and your comments or bug finds are a great help to us to improve the quality of our projects.

Please drop us a note if you use or find any of the offerings here useful. This will help us to determine if our contribution to the community is worthwhile.
Our broad objective with the style of coding used is to balance the speed of execution with readable code that is easy to maintain. We have tried to hide our implementations behind well defined interfaces to promote system decoupling.


These are a set of general filters for scaling, cropping, colour conversion, etc. that are completed items and ready for use. The implementations provided are designed for use with Microsoft’s Direct Show™ framework and we have supplied some useful DirectShow™ base classes that further simplify the development effort.

The following filters are installed when running the Setup.msi download:

These filters can also be downloaded individually and registered using the regsvr32 command. In Graphedit they will then appear in the DirectShow™ category with the prefix "CSIR VPP". The filters can be configured using their property pages. The full source code is available in the subversion repository.

We encourage community contributions for faster implementations that sit behind the same interfaces.


An H.264 video codec (encoding and decoding) is currently under development using a bottom-up design approach.

2012/03/03: The first version of the H.264 codec is going to be released within the next month!

2012/03/15: The first version of the H.264 codec has been released!

The source code for the low level codec tools will appear and then be added to, periodically. We would like to offer these while the code is being developed to encourage comments early on in the design. Some of these raw classes may also be useful for other implementations.

We would like the community to contribute in conformance testing to the H.264 standard and faster implementations that use the defined interfaces.

Please note that the use of the H.264 video standard may require the payment of license fees. These are governed by the MPEG Licensing Authority and the rules may be found at It is your responsibility, not the authors of this source code, to ensure that you comply.

Filter overview

Audio mixing filter

Sample filter that shows how multiple PCM streams can be mixed together.

Crop filter

Filter that crops RGB media.

Framerate display filter

Filter that estimates framerate and overlays it on the video using GDI.

H264 encoder filter

An H.264 encoder that implements the baseline profile. -- More info on codec -- -- More info on DirectShow filter --

H264 decoder filter

An H.264 decoder designed for use with the provided encoder or H264 source filter. The decoder uses a custom media type which can be configured on the encoder and source filters. -- More info on codec -- -- More info on DirectShow filter --

H264 source filter

Source filter that can read raw .264 files. Foreman sample file More info

Picture in picture filter

Sample picture in picture filter.

RGB 2 YUV420P converter

RGB24 to YUV420 planar converter. This filter can be connected to a dump filter to create raw YUV files. More info

RTSP source filter

RTSP source filter that supports 8/16-bit PCM, AMR (via Monogram AMR filters), mp3 and H.264. This filter uses the liveMedia streaminbg library for RTSP/RTP/RTCP available at

Rotate filter

Filter that rotates video by 90, 180, 270 degrees, as well as mirroring vertically and horizontally.

Scale filter

Scale filter that supports up to 2x upscaling.

Video mixing filter

Sample video mixing filter that shows how multiple video streams can be mixed together.

Timestamplogging filter

Filter that logs sample timestamps to file with current time. This is useful to calculate DirectShow filter sample processing times.

YUV source filter

Source filter for raw YUV media such as videos from the standard test sequences. More info

YUV420P 2 RGB converter

YUV420Planar to RGB converter. Can be used in conjunction with the YUV source filter. More info

About is the world's largest provider of hosting for Open Source software development projects. provides a variety of services to projects, including a download mirror network, collaborative development tools (like CVS and Subversion), and tools to support discussion and support. These services are provided to projects and their end-users free-of-charge.
About Open Source:

Of benefit to users, Open Source software is licensed so you can download and use the software free-of-charge. The source code for this software is made available free-of-charge, you (or a programmer you hire) can make changes to this software to better meet your needs, and you can release your changed code back to the community passing the benefit on to other users.

The exact license terms used by this project on their project summary page and in the licensing documents included in their downloads


Join this project:

To join this project, please contact the project administrators of this project, as shown on the project summary page.

Get the source code:

Source code for this project may be available as downloads or through the CVS or Subversion SCM repository used by the project, as accessible from the project summary page.

Update project web pages:

This page is the default project web page supplied by If you are a member of this project, you can deploy your own project web pages as per our site documentation.

If you are a web page developer interested in this project, please consider reaching out to the project admin (per the "Join this project" section, above) to offer your assistance.