directshow中怎么获得视频数据

directshow中如何获得视频数据?
我想写一个transform   filter,   他的一个输入pin接收视频数据,我在该filter中对这些视频逐帧进行图像处理(比如去噪声),然后通过输出pin发送

我打算在ds中的nullnull(即minimal   null   filter)例子上的基础上改进,请问:

如何获得一帧一帧的视频数据,并判断是什么格式,以便处理?

谢谢!!!

------解决方案--------------------
就nullnull这个例子而言:

你可以在CheckInputType中决定让你的filter接受什么类型的数据输入,比如:

HRESULT CheckInputType(const CMediaType* mtIn)
{
if (mtIn-> subtype == MEDIASUBTYPE_RGB565)
return S_OK;
return E_FAIL;
}

只接受RGB565类型的数据输入。另外input pin上有个成员m_mt,用于保存连接用的media type,可以参考。

视频图像帧在filter graph运行时,会传递到Transform函数。
------解决方案--------------------
YUV吧