如何在EVR滤波器上设置视频处理器模式?

时间:2011-12-05 17:11:38

标签: c++ graph filter directshow

我在图表中使用EVR过滤器,我需要将视频处理器模式设置为DXVA2_VIDEOPROCPROGRESSIVEDEVICE以避免隔行扫描问题。我可以在GraphEdit中手动执行此操作,但无法以编程方式执行此操作。

IMFVideoProcessor::SetVideoProcessorMode似乎是一个明显的选择,所以我获得了一个指向IMFVideoProcessor的指针,但我很难知道要传递给它的是什么。 DXVA2_VIDEOPROCPROGRESSIVEDEVICE中的dxva2api.h被定义为IMFVideoProcessor* m_pProcessorCtrl; hr = pGS->GetService(MR_VIDEO_MIXER_SERVICE, IID_PPV_ARGS(&m_pProcessorCtrl)); m_pProcessorCtrl->SetVideoProcessorMode((LPGUID)&DXVA2_VideoProcProgressiveDevice); 中的GUID,并将其转换为LPGUID会在下面显示链接错误。

一些代码片段:

error LNK2001: unresolved external symbol _DXVA2_VideoProcProgressiveDevice

显然还有更多的东西,但希望你能得到这个想法。

链接器错误:

{{1}}

有谁知道我如何设置视频模式?

我正在使用C ++和MFC,VS2008,在Vista上开发,针对Vista及以上版本。

0 个答案:

没有答案