View Single Post
  #16 (permalink)  
Old 3rd May 2008
Px Px is offline
Junior Member
BS.player Regular User
Join Date: Sep 2004
Location: Ukraine
Posts: 16
Rep Power: 0
Px is an unknown quantity at this point

You don't get it, don't you ?
No, that's you don't get it
To use EVR, your video card must have hardware acceleration for this.
Read Microsoft presentation above, specially for you I quoted part about DXVA and marks it bold.
To use hardware acceleration for EVR, you must have DirectX 10
Once again - you wrong. NVIDIA G80 is DX10 chip, but no DXVA 2.0 ;). Video Acceleration is made in dedicated part of chip, and don't know anything about DirectX
There is no single application written in DirectX 9 to support EVR
You messing up DirectX and DirectShow. There is no need to write application in DX9...
You don't have a message about not using EVR ?
Yes, look at screenshots
So, to close this, at this moment I think usless topic,
Read carefully description of bug 1, see anything about problems with EVR? ;) And then addition to bug 3, about crash under Vista ;)

Net Framework gives you acces to EVR under XP
Programs, drivers don't support EVR under XP.
mpc-hc shows that this is nonsense ;)
And video drivers don't need to support EVR....
MPC-HC states clearly to this link above, that you can't use EVR with their product under XP.
Another nonsense ;)
Microsoft states that you can acces DXVA functions with an external software decoder, but you can't acces EVR in such a maner
And that nonsense too ;)
In particular, the EVR mixer uses the DXVA video processing services to deinterlace and mix the video
And nothing more? :lol: Something like iDCT and motion compensation? :roll:

EVR uses DXVA by default:
Only in Microsoft Media Foundation. And under WinXP EVR available in DirectShow. Let's follows the link -, from where above picture taken.
Looking on links:
Direct3D Device Manager -
To create the Direct3D device manager, call DXVA2CreateDirect3DDeviceManager9.
Interesting, isn't it? :roll:

Supporting DXVA 2.0 in DirectShow -
The enhanced video renderer (EVR) filter supports DXVA 2.0.
Feel the difference between uses and supports?

Query the renderer's input pin for the IMFGetService Interface.

Call IMFGetService::GetService to get a pointer to the IDirect3DDeviceManager9 Interface. The service GUID is MR_VIDEO_ACCELERATION_SERVICE.

Call IDirect3DDeviceManager9::OpenDeviceHandle to get a handle to the renderer's Direct3D device.

Call IDirect3DDeviceManager9::GetVideoService and pass in the device handle. This method returns a pointer to the IDirectXVideoDecoderService Interface.
See something about DX10? :D

How to Write an EVR Presenter -
The standard mixer and presenter both use Direct3D 9, with the device GUID IID_IDirect3DDevice9. If you intend to use your custom presenter with the standard mixer, the presenter's device GUID must be IID_IDirect3DDevice9. If you replace both components, you could define a new device GUID. For the remainder of this article, it is assumed that the presenter uses Direct3D 9.
Reply With Quote

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20