Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Deactivating Hardware Video Acceleration?

103 views
Skip to first unread message

Ole Dittmann

unread,
Mar 27, 2008, 12:21:23 PM3/27/08
to
We encounter various problems with newer grafics cards and hardware direct
show video acceleration.
A sollution to that might be to wait a few months for new drivers/updates
:-)
But of course thats not an option and we also do not really need the
acceleration. So an immediate approach would be to deactivate hardware
acceleration in my direct show application, just like you can do with
windows
media player.
How can I do that?
Or alternatively: Is there a way to deactivate it system-wide?

Thanks,
Ole Dittmann

Alessandro Angeli

unread,
Mar 27, 2008, 12:51:32 PM3/27/08
to
From: "Ole Dittmann"

System-wide:

1. Start -> Run "dxdiag.exe" -> Display panel

2. Control Panel -> Display -> Settings -> Advanced ->
Troubleshoot

Per-renderer (only keep GDI and offscreen surfaces, you
don't want primary surfaces or overlays):

1. (O)VR: IDirectDrawVideo::SetSwitches()

2. OM: no way (always uses DirectDraw5's overlays)

3. VMR7: IVMRFilterConfig::SetRenderingPrefs()

4. VMR9: no way (always uses Direct3D9 textures or render
targets, I can't remember)

5. EVR: no idea, but I guess it behaves like the VMR9


--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm


Ole Dittmann

unread,
Mar 27, 2008, 2:16:45 PM3/27/08
to
Thank you,
but I think I need to add some additional info here. Maybe the term "video
acceleration" was too general but I don't know how it is called.
I do not want to deactivate overlay or some of the "older" surface blitting
capabilities but only the video decoding hardware support that some newer
grafics cards offer.
This is mainly indeded to free the processor from decoding HD Video formats
but when you have it is also transparently used for many video types
(mainly wmv and other mpg4 based). But (of course) it does not work properly
in many cases because its still new and implys cooperation of components
from various sources.

"Windows Media Player 11 -> Options -> Performance -> Use DirectX Video
Acceleration" would be the switch I want to have in my application.
(This was translated from german sorry if its not exact)
There you can deactivate decoding hardware but keep overlays and other stuff
which solves many problems - but only for media player

"Alessandro Angeli" <nob...@nowhere.in.the.net> schrieb im Newsbeitrag
news:OFr3crCk...@TK2MSFTNGP06.phx.gbl...

Matias

unread,
Mar 27, 2008, 4:22:43 PM3/27/08
to
Użytkownik "Ole Dittmann" <kapt...@newsgroup.nospam> napisał w wiadomości
news:OMh4naCk...@TK2MSFTNGP05.phx.gbl...

Well, I'm not sure if this a acceptable solution, but you can set the
aceleration level in the graphic card's properties. It's system wide
alright...

Matias

Alessandro Angeli

unread,
Mar 27, 2008, 4:33:31 PM3/27/08
to
From: "Ole Dittmann"

> "Windows Media Player 11 -> Options -> Performance -> Use
> DirectX Video Acceleration" would be the switch I want to
> have in my application.

I have no idea what WMP's switch does. That is, it can
either somehow disable DXVA-support in the video renderer or
just tell the WMV decoder to not use DXVA, in which case
DXVA would still be used by other video decoders.

There doesn't seem to be any way in IAMVideoAccelerator to
disable DXVA in the renderer, so my guess is that WMP can
only disable DXVA in the WMV decoder (g_wszWMVCDXVAEnabled
property of the WMV decoder DMO or
IWMCodecAMVideoAccelerator or IWMReaderAccelerator on its
internal WMReader).

You can do the same. If you want to disable DXVA for any
decoder, you must prevent the decoder to negotiate a DXVA
connection with the renderer. Inserting the stock
SampleGrabber filter in between decoder and renderer should
be enough (you need to configure it in sample callback mode
and you callback can simply return S_OK without doing
anything). Of course, inserting the SampleGrabber limits the
media type negotiation even though it doesn't affect
performance noticeably. A better choice would be a custom
trans-in-place filter:

http://groups.google.com/group/microsoft.public.win32.programmer.directx.video/msg/ac95cceb368461ef

Ole Dittmann

unread,
Mar 28, 2008, 8:47:14 AM3/28/08
to
I want a specific disabling of only the new hardware decoding functions.
If the slider in the grafic card properties helps then it would only be a
side effect from diabling several driver related functions.
That price would be too high.


"Matias" <mat...@irc.pl> schrieb im Newsbeitrag
news:fsgvj1$l2s$1...@news.interia.pl...

Ole Dittmann

unread,
Mar 28, 2008, 8:52:17 AM3/28/08
to
Thank you,
The ideas idea with the trans-in-place-filter sounds interresting I will
give it a try.
And maybe even disabling it for wmv only is enough for the moment thanks for
that also.

Gruss, Ole Dittmann

"Alessandro Angeli" <nob...@nowhere.in.the.net> schrieb im Newsbeitrag

news:ec9XdnEk...@TK2MSFTNGP03.phx.gbl...

0 new messages