数字信号处理器对象(DirectX) [英] Digital signal processor objects (DirectX)

查看:175
本文介绍了数字信号处理器对象(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 of CLSID_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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆