View Single Post
Old 8th November 2011, 22:00   #250  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,083
Indeed, that's the regular DXVA helper. Note that it's not actually an EVR object. It inherits from DXVA2.dll, and calls mfplat.dll.
Code:
	typedef HRESULT (WINAPI *DXVA2CreateDirect3DDeviceManager9Ptr)(__out UINT *pResetToken, __out IDirect3DDeviceManager9 **ppDXVAManager);
	DXVA2CreateDirect3DDeviceManager9Ptr	pfDXVA2CreateDirect3DDeviceManager9;
	m_hDXVA2Lib = LoadLibrary(L"dxva2.dll");
	if (m_hDXVA2Lib) pfDXVA2CreateDirect3DDeviceManager9 = reinterpret_cast<DXVA2CreateDirect3DDeviceManager9Ptr>(GetProcAddress(m_hDXVA2Lib, "DXVA2CreateDirect3DDeviceManager9"));
	else {
		_Error += L"Could not find dxva2.dll\n";
		hr = E_FAIL;
		return;}
edit:
If you're using a device passed to DXVA2CreateVideoService (http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx), make sure that the HWND pointer used when creating the device isn't linked to a monitor that will be used for exclusive mode.
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv

Last edited by JanWillem32; 8th November 2011 at 22:27.
JanWillem32 is offline   Reply With Quote