数字信号处理器对象(DirectX) [英] Digital signal processor objects (DirectX)
问题描述
你好,
Windows提供这些数字信号处理器对象:
http://msdn.microsoft.com/en-us/library/windows/desktop/ff819501(v = VS。 85).aspx [ ^ ]
我正在尝试嵌入帧率转换器DSP,如下面的链接:
http://msdn.microsoft.com/ en-us / library / windows / desktop / ff819100(v = vs.85).aspx [ ^ ]
我的电脑我是谁编译是Windows XP,但我使用的是最新的Microsoft SDK环境。
文档显示使用帧率转换器的要求如下:
Hello,
Windows provides these digital signal processor objects:
http://msdn.microsoft.com/en-us/library/windows/desktop/ff819501(v=vs.85).aspx[^]
I am trying to embed a Frame rate converter DSP as in the following link:
http://msdn.microsoft.com/en-us/library/windows/desktop/ff819100(v=vs.85).aspx[^]
My computer which I am compiling on is Windows XP, but I am using the latest Microsoft SDK environment.
The documentation reveals that the following at the requirements for use the Frame Rate Converter:
Header
Wmcodecdsp.h
DLL
Mfvdsp.dll
我能在我的电脑上找到Wmcodecdsp.h但是找不到mfvdsp.dll。所以我从Windows 7机器上获得了dll,我真的不知道应该如何通知我的Visual Studio环境这个.dll是依赖项呢?
我要编译的代码行是:
I was able to find Wmcodecdsp.h on my PC but was not able to find mfvdsp.dll . So I got the dll from a Windows 7 machine, I really don''t know how should I notify my Visual Studio environment that this .dll is a dependency?
The line of code that I am trying to compile is:
hr=CoCreateInstance(CLSID_CResizerDMO, NULL, CLSCTX_INPROC, IID_IBaseFilter, (void **)&m_pFrameRateBaseFilt);
其中m_pFrameRateBaseFilt是IBaseFilter *。
我收到错误消息:
where m_pFrameRateBaseFilt is IBaseFilter*.
I get the error message:
error LNK2019: unresolved external symbol _CLSID_CResizerDMO referenced in function "public: long __thiscall renderEngine::PreviewToRender(void)" (?PreviewToRender@renderEngine@@QAEJXZ)
帮助PLZ?
代码块添加[/编辑]
help plz?
Code block added[/Edit]
推荐答案
您好,
#pragma comment(lib,wmcodecdspuuid.lib)
或
__ uuidof(CResizerDMO)
而不是CLSID_CResizerDMO
问候,
Maxim
Hello,
#pragma comment(lib,"wmcodecdspuuid.lib")
or
__uuidof(CResizerDMO)
instead ofCLSID_CResizerDMO
Regards,
Maxim
我在这里发布如下评论显示未格式化
I post here as in comment it shows not formatted
IBaseFilter * pYourFilter; // initialized
int _numerator; // rate numerator
int _denominator; // rate denominator
IPropertyStore * _store;
if (S_OK == pYourFilter->QueryInterface(IID_IPropertyStore,(void**)&_store))
{
PROPVARIANT _value;
PropVariantInit(&_value);
_value.vt = VT_UI8;
_value.uhVal.HighPart = _numerator;
_value.uhVal.LowPart = _denominator;
_store->SetValue(MFPKEY_CONV_OUTPUTFRAMERATE,_value);
_store->Release();
PropVariantClear(&_value);
}
好的,我过早计算了我的鸡。
该计划编译好了,
Ok, I counted my chickens too soon.
The program compiles alright,
hr=CoCreateInstance((CLSID_CFrameRateConvertDmo), NULL, CLSCTX_INPROC, IID_IBaseFilter, (void **)&m_pFrameRateBaseFilt);
但是在Windows 7机器上,HRESULT返回的是0x80040154(名称:REGDB_E_CLASSNOTREG)。
有什么想法吗?谢谢!
亲切的问候,
But the HRESULT return of this is 0x80040154 (Name: REGDB_E_CLASSNOTREG) on a Windows 7 machine.
Any ideas? Thanks!
Kind Regards,
这篇关于数字信号处理器对象(DirectX)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!