自定义的transform filter连接video render有关问题!

自定义的transform filter连接video render问题!!!!!!
自定义了个transform filter,发现,能与video render连接,但是图像出不来,是黑的,数据源,是将h264转yuv再转rgb后的数据,下面贴出的是GetMediaType与CheckTransform,transform部分可以参考:http://bbs.csdn.net/topics/390634312   求各位大神啊!!!!!分数不够可以追加啊!!!!!
HRESULT CMyTransformFilter::GetMediaType(int iPosition,CMediaType *pMediaType)
{
if(m_pInput->IsConnected() == FALSE)
{
return E_UNEXPECTED;
}
if(iPosition < 0) //      0    Return a 32bit mediatype
{ //      1    Return a 24bit mediatype
return E_INVALIDARG; //      2    Return 16bit RGB565
} //      3    Return a 16bit mediatype (rgb555)
if(iPosition > 4) //      4    Return 8 bit palettised format
{ //      >4   Invalid
return VFW_S_NO_MORE_ITEMS;
}

if(iPosition <= 4 )
{
HRESULT hr = m_pInput->ConnectionMediaType(pMediaType);
if(FAILED(hr))
{
return hr;
}
}
ASSERT(pMediaType->formattype == FORMAT_VideoInfo);

VIDEOINFOHEADER *pVih = reinterpret_cast<VIDEOINFOHEADER*>(pMediaType->pbFormat);

pVih->bmiHeader.biCompression = BI_RGB;
pVih->bmiHeader.biSizeImage = 1280 * 720;
pVih->bmiHeader.biBitCount = 24;
        pVih->bmiHeader.biHeight = 720;
pVih->bmiHeader.biWidth = 1280;
pVih->bmiHeader.biPlanes = 1;

pMediaType->SetType(&MEDIATYPE_Video);
pMediaType->SetSubtype(&MEDIASUBTYPE_RGB24);
pMediaType->SetFormatType(&FORMAT_VideoInfo);

return S_OK;

HRESULT CMyTransformFilter::CheckTransform(const CMediaType *mtIn,const CMediaType *mtOut)
{
CheckPointer(mtIn,E_POINTER);
CheckPointer(mtOut,E_POINTER);

HRESULT hr;
if(FAILED(hr = CheckInputType(mtIn)))
{
return hr;
}
if((*mtOut->FormatType() != FORMAT_VideoInfo)
||(mtOut->cbFormat < sizeof(VIDEOINFOHEADER))
||(mtOut->subtype != MEDIASUBTYPE_RGB24))
{
return E_INVALIDARG;
}
BITMAPINFOHEADER *pBmiOut = HEADER(mtOut->pbFormat);
if((pBmiOut->biPlanes != 1)
||(pBmiOut->biBitCount != 24)
||(pBmiOut->biCompression != BI_RGB))
{
return E_INVALIDARG;
}
return S_OK;
}
}



------解决方案--------------------
那个帖子,我给了点建议,试试先!代码多调试一步一步来!