This document explains how to build the CsYuv filter, a port to C#
of the Yuv filter from the MSDN magazine article in July 2002.
You should be familiar with this article (it can be downloaded
from MS web site). You'll also need the DirectShowLib library
from the SourceForge web site.

Only the "Debug" configuration has been tested. First, copy the 
DirectShowLib dll to the MyYuv directory. Then build the
project. Maybe, you should buid a sample filter from the DirectShow
SDK to make sure that your VC++ directories are set properly.

The build should succeed (with one warning). Then go to the
C++ project debug directory and register the component, eg
type "regsvr32 CsYuv.ax" at a command prompt where regsvr32 is 
on the path.

Then go to the C# project bin\debug and install the assembly
in the GAC eg type "gacutil /i MyYuv.dll" at the prompt.
Remember that the DirectShowLib must also be in GAC (i.e.
the previous command for DirectShowLib.dll)

Then testing the filter is described in the MSDN article.
It appears as "CsYuv Filter" in the DirectShow filter categories
of GraphEdit.

The code has no comments, it assumes that you compare it with
the MSDN article and that you are confortable with .Net interop.
It hasn't been much tested but you can view *.wmv files in black
and white using the filter.

///////////////////////////////////////////////////////////////
This code is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
///////////////////////////////////////////////////////////////