• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.
  • The forums have been upgraded with support for dark mode. By default it will follow the setting on your system/browser. You may override it by scrolling to the end of the page and clicking the gears icon.

How to get hardware accelerated H264 playback (DXVA)

Yeah, but their internal DXVA codec does great. You can enable one without the other.

are we talking about windows 7, or MPC here?


MPC-HC has an inbuilt H264 decoder with DXVA support, but its nasty. it doesnt support deblocking, its mostly incompatible and its software decoding mode sucks.

Windows 7 otoh, has a good built in decoder - except that it doesnt support MKV files. Even if you use haali as a splitter, win7's codec wont kick in since haali works on the directshow filters while windows 7's built in codecs use the new Media Foundation framework.

the entire point of this program is to add MKV support to the new framework, allowing 7's built in codecs to play the files with hardware acceleration. seriously, click the divX link at the start of the thread, and read it.

Capture123176.jpg
 
are we talking about windows 7, or MPC here?


MPC-HC has an inbuilt H264 decoder with DXVA support, but its nasty. it doesnt support deblocking, its mostly incompatible and its software decoding mode sucks.

Windows 7 otoh, has a good built in decoder - except that it doesnt support MKV files. Even if you use haali as a splitter, win7's codec wont kick in since haali works on the directshow filters while windows 7's built in codecs use the new Media Foundation framework.

the entire point of this program is to add MKV support to the new framework, allowing 7's built in codecs to play the files with hardware acceleration. seriously, click the divX link at the start of the thread, and read it.

http://img.techpowerup.org/090905/Capture123176.jpg
Actually, I can get the MS codec to decode with Haali in use, I just don't get any DXVA acceleration.

h264playback.jpg


That's about the amount of cpu I see with ffdshow and/or Core as well on that particular file. I've tried numerous h264 encoded files, even ones I did myself, and know for fact they are encoded properly to allow DXVA, and I still just can't get it going. Must be a bug on my particular system or something.

I'll have to keep messing around with different drivers and filters I suppose.
 
Actually, I can get the MS codec to decode with Haali in use, I just don't get any DXVA acceleration.

http://img.techpowerup.org/090905/h264playback.jpg

That's about the amount of cpu I see with ffdshow and/or Core as well on that particular file. I've tried numerous h264 encoded files, even ones I did myself, and know for fact they are encoded properly to allow DXVA, and I still just can't get it going. Must be a bug on my particular system or something.

I'll have to keep messing around with different drivers and filters I suppose.

win7s codecs only give DXVA for codecs that run on WMF, not DShow. the only codecs supported for hardware decoding is MPEG-2, VC-1 and H264 - and only through the WMF (which lacks MKV support)
 
MUSSELS! I see those whited out files in the first image! :laugh:

:wtf::wtf::wtf:

Also what is the point in doing all this?! (EDIT: never mind, forgot what the topic name was.)

none the less, it is kind of cool. :toast:
 
MUSSELS! I see those whited out files in the first image! :laugh:

:wtf::wtf::wtf:


Also what is the point in doing all this?! none the less, it is kind of cool. :toast:

yeah, i turned the desktop off for later images. there was thumbnails of people i know in them :P

The point of this is hardware accelerated video - you know, that thing nvidia and ATI both claim they support out of the box but dont. (EG, 1080P off an atom)
 
How does one know if they are actually using the UVD in the first place?
 
How does one know if they are actually using the UVD in the first place?

you dont. who knows if its even working, or doing anything - theres no software to actually use any of these features from the cards.


DXVA mode showing in the player is one way, for less informative players like WMP or WMC, you can check for low CPU usage on H264 files.
 
35%?

Doesnt sound right, at least compared to your pictures.
 
Here is the best I can do.

I have followed your instructions, but there is to much CPU usage I think.
 

Attachments

  • dxva.jpg
    dxva.jpg
    211.9 KB · Views: 973
Here is the best I can do.

I have followed your instructions, but there is to much CPU usage I think.

that does seem very high, but the player does say DXVA.


maybe you should check if something else is using the CPU? antivirus, F@H/WCG, etc.
 
there is no problem running dxva on ati cars with mpc-hc
just set the render to EVR Custom and let it decode ;)
the built in mpc-hc decoder works fine
 
there is no problem running dxva on ati cars with mpc-hc
just set the render to EVR Custom and let it decode ;)
the built in mpc-hc decoder works fine

there are many reasons not to use the default filter.
http://www.cccp-project.net/forums/index.php?topic=2909.0

"Also the other major thing is DXVA requires that there are no intermediate filters between the video decoder and renderer. Which would mean that we would have to enable MPC internal sub rendering and specifically block VSFilter...which is not recommended." (speaking of the internal one, its different using DXVA thorugh 7's renderer)


http://forum.doom9.org/showthread.php?t=123537
this thread about MPC-HC links to know issues in DXVA mode with the internal splitter

(which are in this thread)
http://forum.doom9.org/showthread.php?t=137974
 
Last edited:
there are many reasons not to use the default filter.
http://www.cccp-project.net/forums/index.php?topic=2909.0

"Also the other major thing is DXVA requires that there are no intermediate filters between the video decoder and renderer. Which would mean that we would have to enable MPC internal sub rendering and specifically block VSFilter...which is not recommended." (speaking of the internal one, its different using DXVA thorugh 7's renderer)

And I can confirm that MPC's subtitle renderer isn't nearly as accurate as VSfilter and Haali.
 
Nvidia not that good in Windows 7

After installing Windows 7 (coming from Vista-32 with some older but good working nvidiadrivers) i could not get DXVA to work properly. With a 1080p mkv on my 8800gtx (combined with a 2.66 core2) it took to 95% of the cpu usage and very stuttering replay so dxva via the 8800gtx was not working (under vista it worked very good). This was with the new 191.07 drivers. So I installed a clean win7 - with the default driver - same problem - no dxva (on my other PC with a 4850 it worked splended - almost no cpu-usage at all - ati did a great job there with the win7 driver). After trying all the setups I could find via google (also the one described above) still no good setup i decided to install an older 182... nvidia vista driver i found somewhere on my harddisk and guess what? it works with win7 - dxva is being used allthough it takes about 35 to 40 % cpu usage - the 1080p files play without stutter or something - luckely in the end .... NVIDIA has to come up with better drivers for windows 7 !!!

by the way all this core avc and haali and shark codec thing is not needed - just MPC Home and the older Nvidia drivers is needed
 
8800GTX does not support H264 decoding - the G80 core used within had it as an advertised feature, but it never worked.
Any time it claims its working (and you're getting that 40% CPU usage) its trying to work, and dropping back to software (as for the times it sits at 90+%, its just failing hard/broken completely)

cuda is your only choice with that card.
 
Last edited:
sure 8800gtx has hardware decoding

It defenitely has hardwaredecoding (ask Nvidia about it) - guess you do not know what you are talking about...

I know what I am talking about - under Vista I have CPU-usage below 3% in playing 1080p with that card. Und XP it also works very good. But as I said - with Win7 I had these problem (even Cuda wouldn't get me decent playback). I say problem is with the new Nvidia drivers - an old 182 nvidia driver gets DXVA to work - people with the same problem should do it this way - plain and simple (it took me several days to figure it out). Playback is now satifying with all the files I throw at it.
 
patrone: i know a lot more about this than you may think.

if you download the PDF from here


http://www.nvidia.com/page/purevideo_support.html


Capture221.jpg



you can see that many features are missing, that the weaker (but NEWER) 8600GT supports - thats the problem you're experiencing. the 8800GTX has broken (partial) H264 decoding.


CAVL/CABAC are high end features used in the H264 high profile, which is a good way to get higher video quality in the same bitrate. Most H264 files on the web are encoded using this to save space - and your video card cannot play these files.
 
Last edited:
@Mussels: thx for your explanation and the shown information - but you must agree it has H264 decoding (which works well with older drivers on Win7 or XP/Vista) - allthough it does not have all of the modern features.

It took me some days to figure out what was the problem with Windows 7. For all the users of Nvidia-cards - especially the 8800GTX - the could use this workaround. I tested it on a clean install of Windows 7. I just installed MPC Home Cinema and the older Nvidia drivers. I guess Nvidia puts heavy on the newer hardwarefeatures like in the 8600 in their most recent drivers.

Nvidia should clear this.

The HTPC I use the 8800GTX on is watercooled based on an Intel E4400 (2000 Mhz OC @ 2700 Mhz) - the CPU is not the most powerfull but it can handle the extra needed computing power.

1080P takes about 35% CPU usage with my setup - the rest of the computing is done by the 8800GTX - the files play well now (and silent as the 8800GTX is also watercooled).

So for the people with an HTPC who want to use Windows 7 this should be the best setup to make good use of their 8800GTX. The HTPC is also used for playing and there the 8800GTX outperforms the 8600 by far. Pro Evolution Soccer 2010 is a real joy to play - for me - even better as my fifa10 on the PS3 which stand next to the HTPC. The older drivers also work splended there in Windows 7.

The 8800GTX does not have to be changed out (it did cost me 600 euros 3 years ago) - allthough if it breaks up in future i will buy this mainstream ATI 5770 or something like that.

PS: sorry if I sounded a bit rough - as it took me some days of reading and installing before I found out what the problem was
 
it has PARTIAL decoding. which means it can only decode certain files.

The main flaw with DXVA decoding is that when it fails (incompatible, as is the case with yours and some files) - there is often no fall back - you end up in pure CPU mode (your 40% CPU usage) or you end up with unplayable files.

*if* you are getting hardware acceleration, you get 0% CPU usage - any usage you do have, should only be from subtitles and audio.

the reason coreAVC/CUDA works is that its not using DXVA, its using the shaders on the card - it works better than DXVA in every way, so its definitely a better choice.

sure the 8800GTX is better for gaming, but everything released after it (8800GT, 8800GTS 512MB, and all G9x cards) works fine with DXVA. its a moot point with coreAVC, but its still something to be aware of.

(I know all this because i owned one - and i got rid of it for an 8800GT :) )
 
I also have a 9800GTX - if it really gets difficult to play these files i put that in instead of the 8800GTX - allthough getting it into watercooling is a bit of work (I once used too with the 9800GTX with an altered 7900 watercooler - which I altered again to be used for a 4850 which i use in my gaming PC).

Still I cannot explain why the older setup with Vista gave me less than 5% of cpu-usage (with the same MKV).

By the way the Cuda/CoreAVC setup didn't give any satisfying result on my setup.

I will test the 9800GTX setup
 
@Mussels: thx for your explanation and the shown information - but you must agree it has H264 decoding (which works well with older drivers on Win7 or XP/Vista) - allthough it does not have all of the modern features.

It took me some days to figure out what was the problem with Windows 7. For all the users of Nvidia-cards - especially the 8800GTX - the could use this workaround. I tested it on a clean install of Windows 7. I just installed MPC Home Cinema and the older Nvidia drivers. I guess Nvidia puts heavy on the newer hardwarefeatures like in the 8600 in their most recent drivers.

Nvidia should clear this.

The HTPC I use the 8800GTX on is watercooled based on an Intel E4400 (2000 Mhz OC @ 2700 Mhz) - the CPU is not the most powerfull but it can handle the extra needed computing power.

1080P takes about 35% CPU usage with my setup - the rest of the computing is done by the 8800GTX - the files play well now (and silent as the 8800GTX is also watercooled).

So for the people with an HTPC who want to use Windows 7 this should be the best setup to make good use of their 8800GTX. The HTPC is also used for playing and there the 8800GTX outperforms the 8600 by far. Pro Evolution Soccer 2010 is a real joy to play - for me - even better as my fifa10 on the PS3 which stand next to the HTPC. The older drivers also work splended there in Windows 7.

The 8800GTX does not have to be changed out (it did cost me 600 euros 3 years ago) - allthough if it breaks up in future i will buy this mainstream ATI 5770 or something like that.

PS: sorry if I sounded a bit rough - as it took me some days of reading and installing before I found out what the problem was
get the 5870 or 5850 instead, atleast you get over twice the performace compared to 8800GTX and FULL Dual Steam 1080p DXVA Decoding with Lossless LPCM 7.1 and TrueHD/DTS-HD Bitsteaming

and btw dont buy cards for 600 euro also known as the nvidia tax ;)
 
Just get Kmplayer and set it to use microsoft dt-dvd decoder for h.264 and avc1 and set the renderer to use evr.

jkuedt.png


Here's the result :
jfvx3n.png
 
I've put in the 9800 GTX - it now has around 10% and less cpu-usage - so yes less than with the 8800 GTX
 
im pretty sure the 8800gtx does not support dxva just like my 8800gts 320mb(and 640mb), the 8800 line up didnt get support till the 8800gt and gts 512mb. I tried everything with mine. No coreave cuda support either. Coreavc only worked on nvidia cards with cuda v2+v3. the 8800gts 320, 640 and gtx are only cuda v1. Pretty much the only other thing that those cards can be used for besides rendering is physx and they work great as physx cards. Ive messing with all the dxva stuff. Coreavc, powerdvd, mpc-hc, and the new windows 7 codec. Ive had some movies that would only use dxva with mpc-hc if you used the windows filter. the standard mpc-hc dxva support is kinda iffy. Another thing is, when using the windows 7 codec on some movies I get green scattered boxes and had to revert back to the original evr on mpc-hc. So what Ive done is the video that arent dxva supportted on the native mpc-hc, I re-encoded them to have dxva support using XviD4PSP 5.0.
 
Last edited:
shroom: the green artifacting is when the files are encoded in such a way they arent compatible with DXVA - thats something i was complaining about earlier (the windows 7 codec has no fallback to software when files are incompatible, it artifacts instead)
 
Back
Top