PDA

View Full Version : DXVA H.264 Hardware Accel and the 9x00


Pages : [1] 2

Quantumstate
11-10-08, 08:52 AM
I am running about 22% CPU right now on a core2dual 3GHz for 720p HD, and I gather that with HA that would be 1%-5%. Running a GeForce 9300 IGP on an Asus P5N7A-VM.

Done alot of research, and it seems there are few options for actual HA, most involving paying for a codec. I'm reading that Cyberlink's has lower video quality, and that Coreavc's has great quality but is software only. Although, apparently MPC-HC comes with a codec that actually does DXVA... maybe the only one besides PDVD.

Things aren't bad for me now and I'm not willing to pay for a codec, especially as I'm inured to open source. (Pissed-off enough that OpenSSH does not work in the Winduhs environment. Only Cygwin)

Anyway, the 9300 runs hot as hell just idling, and I'm concerned about offloading alot to it... unless it is always running at full-bore in the first place? Why doesn't power management work for it?

I'll try MPC-HC, but it's a shame that nVidia hollers about H.264 HA, when that's very difficult and complex to actually achieve, and is beyond the technical reach of 90% of the population.

Toss3
11-10-08, 09:26 AM
I am running about 22% CPU right now on a core2dual 3GHz for 720p HD, and I gather that with HA that would be 1%-5%. Running a GeForce 9300 IGP on an Asus P5N7A-VM.

Done alot of research, and it seems there are few options for actual HA, most involving paying for a codec. I'm reading that Cyberlink's has lower video quality, and that Coreavc's has great quality but is software only. Although, apparently MPC-HC comes with a codec that actually does DXVA... maybe the only one besides PDVD.

Things aren't bad for me now and I'm not willing to pay for a codec, especially as I'm inured to open source. (Pissed-off enough that OpenSSH does not work in the Winduhs environment. Only Cygwin)

Anyway, the 9300 runs hot as hell just idling, and I'm concerned about offloading alot to it... unless it is always running at full-bore in the first place? Why doesn't power management work for it?

I'll try MPC-HC, but it's a shame that nVidia hollers about H.264 HA, when that's very difficult and complex to actually achieve, and is beyond the technical reach of 90% of the population.
There's a lot of crap on the net saying that PowerDVD 8 would have a lower video quality than coreavc, which definitely isn't true. I'd go as far as to say it's the other way around.

Coreavc is a great codec(it isn't free btw.), but not on par with cyberlink's offering.

The hardware accelerated codec that comes with MPC HC doesn't really work as it should so don't expect any miracles.

Just do yourself a favor and shell out the 80$ for powerdvd 8 Ultra and you'll never need another media player again. :)

sharangad
11-10-08, 03:27 PM
With DXVA H.264 VLD mode PowerDVD8 and MPC-HC will have the exact same image quality as the raw H.264 video stream will be passed to the GPU for decoding and it's the exact same stream being decoded.

To enable H.264 decoding on MPC-HC, you need to use EVR as the renderer for Vista and VMR9 Renderless as the renderer for XP.

In the internal codecs, go to the H.264 decoder bring up properties on it and tick the "Enable DXVA" tickbox. It should work fine after that.

There is an issue with MPC-HC that its internal build of Haali Media Splitter doesn't do a particularly good job with some types of MP4s, like Apple's HD MOV files (which BTW need to be renamed to .hdmov to playback properly). There is some video corruption but this is down to the splitter fecking up and not due to a failure in DXVA. Even PowerDVD struggles with these (for PowerDVD you need to rename these .MP4).

I ripped one of my blu-ray discs and was able to play it back perfectly with MPC-HC (with LPCM audio).

However I must agree with the other poster that generally for blu-ray playback PowerDVD 8 is pretty good. For SD-DVD and HD-DVD playback PowerDVD 7.3 is excellent. I had issues with DVD playback with PDVD8 in particular with resume from last scene on a number of discs. However PDVD 7.3 is no longer available to purchase.

SLippe
11-10-08, 04:23 PM
There's a lot of crap on the net saying that PowerDVD 8 would have a lower video quality than coreavc, which definitely isn't true. I'd go as far as to say it's the other way around.

Coreavc is a great codec(it isn't free btw.), but not on par with cyberlink's offering.

The hardware accelerated codec that comes with MPC HC doesn't really work as it should so don't expect any miracles.

Just do yourself a favor and shell out the 80$ for powerdvd 8 Ultra and you'll never need another media player again. :)

Got PowerDVD 8 Ultra today after seeing this thread and I must say I am impressed! :thumbsup:

Buio
11-10-08, 04:27 PM
I don't have a nvidia card atm, but MPC-HC works great with my ATI card. It can be worth checking out intermediate builds of MPC-HC too, there is a lot of development on DXVA and more.

The latest builds + nvidias latest drivers should support some off-spec encodes too.

Check this thread for more information (it's long so begin from the end maybe)
http://forum.doom9.org/showthread.php?t=123537

And builds can be found here (seems to be down atm):
http://www.xvidvideo.ru/

walterman
11-10-08, 05:04 PM
It's not the codec, or the player, ... what matters is if you are using purevideo HD or avivo HD.

When you use powerdvd 7/8, and you have the hardware acceleration enabled (with a driver that works), the gpu does the job, and much better than the software decoding, cause the gpu does a lot of post processing, for free, and for your visual pleasure.

The image quality is also much better when your source is interlaced (live events use this format). Here, the gpu does per pixel adaption, where software decoding usually does bob or weave (blend or discard).

There are some IQ tests like silicon optix HQV, that probe it:
http://www.anandtech.com/video/showdoc.aspx?i=2923&p=1
http://www.hardware.info/en-UK/articles/am9nY2pqZA/ATI_and_nVidia_crush__2000_DVD_players/14

Also, the IGP gpus, do not relay 100% in hw decoding, cause they haven't the needed power for the decoding & post processing. Usually they only do a part of the job, and the cpu does the rest.

aceflier
11-10-08, 05:17 PM
I had this same problem with dxva x264

I have alot of blue rays that i ripped to 1080p and was getting 20-30 cpu usage.

I read some and now have 1% cpu usage with a very high bitrate 1080p.

The trick with wmpc HC is to get it to only use the dxva option. If you can get this to work its flawless. How i did it was deny all other added codecs or remove them. I had very choppy video on panning without this working. Now its smooth as can be.

Gluck

I'm also using the 180.43 driver.

Buio
11-10-08, 07:18 PM
The trick with wmpc HC is to get it to only use the dxva option. If you can get this to work its flawless. How i did it was deny all other added codecs or remove them.

It is also dependent on the encode. If the encode isn't DXVA compliant you wont get it hardware accelerated.

A thread on DXVA compliant encoding:
http://www.avsforum.com/avs-vb/showthread.php?t=972503

As for what MPC-HC requires:
http://mpc-hc.sourceforge.net/DXVASupport.html

Quantumstate
11-11-08, 10:04 AM
Wow, some great info here, but I'm a bit lost.

This is an HTPC running XPsp3. My capture device is an R5000-HD and DVR software is SageTV.

I've run Debian exclusively for 11 years, so know little about Winduhs. But I tried putting the MPC-HC codecs into the Sage codec directory, restarted, and my CPU usage went from ~22% to 40%. So I moved them to my Windows/System32.

Is it true that if in System32, the codecs will be available to any app in the system? (including Sage)

As my capture device is the R5000, my data is pure transport stream from Dish. I can not currently watch mpeg4, as Sage says it doesn't understand this data. (AVC/H.264) Likely because I don't have the codec set up right; I'll follow the above.

My goal is to get HA for Dish transport stream's mpeg2 and mpeg4, running in SageTV. Also I'd like to get HA working for OTA HD transport stream as well. (ATSC? 8VSB? Codec?)

And it may be that I switch to DirecTV, so would like HA for that mpeg2 and mpeg4 HA as well. Possible?

jeffmd
11-11-08, 10:57 AM
That stupid 4.1 complience is why my h264 files dont work with these dxva solutions. :/ have to use a fast cpu.

Buio
11-11-08, 12:50 PM
But I tried putting the MPC-HC codecs into the Sage codec directory, restarted, and my CPU usage went from ~22% to 40%. So I moved them to my Windows/System32.

Is it true that if in System32, the codecs will be available to any app in the system? (including Sage)

For codecs, they have to be registred. With MPC-HC, the default build is using its own built-in "codecs". But there are a standalone version of them available, I haven't tested them though. If there isn't any installer for the standalone versions, you gotta use "regsvr32 filtername.ax" command to register the filter (in the correct folder/path). Second problem, after registring the filters they also need to be configured for the player because if there are several filters decoding the same thing you have to either set priority or configure player so it uses a specific codec/filter.

But you have a specific setup using dish/capture device etc, and I do not know how that works because I have no experience with those. I suggest you go to a dedicated HD/Hometheater forum to get more expert info.

The standalone filters are available here:
http://sourceforge.net/project/showfiles.php?group_id=170561

Quantumstate
11-11-08, 01:25 PM
Ya, got the standalone filters, and had to dl/unzip/copy them individually. So I guess I have to manually register them. I can't believe this is necessary in the 21st century.

There's no way to specify a particular codec in SageTV. My only choices right now are SageTV Internal, and DirectShow. Maybe DirectShow is an umbrella codec within which I'd have to register the various codecs, I don't know.

I keep getting recommendations for PowerDVD from all directions. Don't need the app, but maybe I can just buy the (Cyberlink?) codec itself. Then again, I'd probably still be up against the damned codec register problem.

I don't know how common people manage. Must do without these things.

Quantumstate
11-11-08, 02:31 PM
Oh man. I've registered the MPC-HC codecs now, and CPU usage is down from ~22% to ~9%, but the high-def mpeg2 definitely seems to have soft focus now. Doubt it's the particular show, as another came on while I was watching, and the HDNet logo was soft.

Any way to -un-register these codecs? Alternatively, is there some place I can turn on/off codecs to experiment?

Buio
11-12-08, 12:42 AM
If registred manually you can unregister with /u

In MPC-HC you can add the particular filters you want to tweak for priority in the Options->External Filters. F.e. add ffdshow video decoder and set it to lower merit or prefer/block. If using the standalone filters it is possible to add them here too, so it maybe could be blocked instead of manual unregister.

Filter/codec/player configuration can be a bit messy depending on your preference. Personally I try to keep it simple and when it's set don't touch it again.

Quantumstate
11-12-08, 11:47 AM
With DXVA H.264 VLD mode PowerDVD8 and MPC-HC will have the exact same image quality as the raw H.264 video stream will be passed to the GPU for decoding and it's the exact same stream being decoded.

To enable H.264 decoding on MPC-HC, you need to use EVR as the renderer for Vista and VMR9 Renderless as the renderer for XP.
I am only just beginning to understand the meaning of this. But no idea how to implement.

Using GraphStudio to see what filters are put in place to decide a video, and I find that for an mpeg4 transport stream the video pin is empty! Even though I have the MPC-HC MPCVideoDec, and it is registered. I do not understand this.

GraphStudio also showed me that the MPC-HC MpaDecFilter audio filter caused the audio stream to be decoded, encoded, and decoded again, so I deregistered that.

Quantumstate
11-12-08, 02:57 PM
OK, I guess it's hopeless. I found that the guide (http://ranpha.wordpress.com/page-1/) "Watching h.264 videos using DXVA" should actually read, "Watching h.264 videos using DXVA in MPC-HC only", as I suspected. Mpeg4 works in MPC-HC, but not in anything else. And even in MPC-HC, standard def is still using ~9% CPU. This IGF has HA for H.264, etc, but it looks like I can't use it.

Can't afford PowerDVD, so it's hopeless.

Buio
11-13-08, 08:45 PM
It is early support atm, and I think in not to far future you will get more options. DXVA support will arrive into several more decoding solutions, and be easier to use. I know at least some other software that have it on the schedule.

Even though desktop CPU:s are getting very powerful, DVXA support with GPU decoding should be awesome for laptop and HTPC solutions.

Quantumstate
11-14-08, 07:55 AM
I'd be happy with just a FOSS decoder for H.264(AVC).

Ridiculously, I've found a FOSS encoder (http://www.videolan.org/developers/x264.html), but not a decoder.

Quantumstate
11-14-08, 08:27 AM
I don't understand why it says right here (http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC_Products_and_Implementations#Decoding) that the nVidia GPU does H.264/AVC? Why is it that the nVidia driver does not catch an H.264/AVC stream and decode it? If a dummy codec is necessary to route the stream to the GPU, why doesn't that come with the driver?

A GPU with hardware decode is useless if it can't do hardware decode. Why should I have to buy a software decoder for this, when I have it in hardware?

Quantumstate
11-14-08, 12:18 PM
Hm, I now have h.264/AVC. I deinstalled/deregistered all the prior codecs and software I'd installed to try and make this work, and installed ffdshow. That seems to have installed an H.264/AVC codec which is now available to all apps in the system.

Video quality in Sage is pretty good, and CPU is down like 3% on a 1080i video. Must be using HA.

Only thing is a horrible stutter. Every second it pauses for a second. This is not due to hardware being overtaxed, so it must be some setting or an interloping filter somewhere.

Unfortunately I cannot analyze filters with graphedit or graphstudio any more because both crash when I try to load an H.264 file.

sharangad
11-14-08, 02:26 PM
Hm, I now have h.264/AVC. I deinstalled/deregistered all the prior codecs and software I'd installed to try and make this work, and installed ffdshow. That seems to have installed an H.264/AVC codec which is now available to all apps in the system.

Video quality in Sage is pretty good, and CPU is down like 3% on a 1080i video. Must be using HA.

Only thing is a horrible stutter. Every second it pauses for a second. This is not due to hardware being overtaxed, so it must be some setting or an interloping filter somewhere.

Unfortunately I cannot analyze filters with graphedit or graphstudio any more because both crash when I try to load an H.264 file.

The stutter is probably due to the demuxer. if you open the clip in MPC-HC what's the splitter being used?

I've found for Apple HD trailers that Haali Media Spliter and the build that's built into MPC-HC can't handle it correctly causing both video corruption and audio sync issues.

I think for this though the next release of QuickTime (QT X) for Windows will add DXVA support on Windows. Already the new Macbook, Air and Pro with the Geforce 9400 M have Purevideo support in OS X with the custom build of Quicktime which comes with them. This will come with the next release of OS X (Snow Leopard) which is having Quicktime completely re-written. Hopefully the Windows version will also be significantly better the stinking pile of **** it currently is.

Quantumstate
11-14-08, 05:44 PM
I don't know how to check which splitter is being used. I do have Haali installed, although it was doing this before.

In MPC and WMC the clip plays well. But in SageTV, it starts a second, stops a second, starts a second, stops a second, over and over. I've tried every conceivable setting in Sage.

Quantumstate
11-14-08, 06:26 PM
Checking the ffmpeg system tray applet:


Same clip playing in MPC:
DirectSound Audio Renderer
Video Mixing Renderer 9
ffdshow Video Decoder
(grayed)Audio Switcher
AC3Filter
AC-3 Audio Decoder

In Sage:
DirectSound Audio Renderer
Video Mixing Renderer 9
ffdshow Video Decoder
AC3Filter
(grayed)SageTV Mpeg Demux

The true distinction is unclear.

sharangad
11-14-08, 07:50 PM
Checking the ffmpeg system tray applet:


Same clip playing in MPC:
DirectSound Audio Renderer
Video Mixing Renderer 9
ffdshow Video Decoder
(grayed)Audio Switcher
AC3Filter
AC-3 Audio Decoder

In Sage:
DirectSound Audio Renderer
Video Mixing Renderer 9
ffdshow Video Decoder
AC3Filter
(grayed)SageTV Mpeg Demux

The true distinction is unclear.

The videos you're watching are MPEG-2 or something. If it's H.264 you should be using the MPC-HC video decoder.

Just to be sure are you using MPC-HC(Media Player Classic Home Cinema:http://mpc-hc.sourceforge.net/)?

To set up DXVA for H.264 you can follow the steps in the following thread:

http://www.avsforum.com/avs-vb/showthread.php?p=14904322#post14904322

Quantumstate
11-15-08, 06:37 AM
Nah, tried everything upside-down, backwards, and chicken-fried, but could not make the MPC-HC codecs work with H.264 in the general system no matter what. Oh, they would work internal to MPC-HC, but not with anything else. So deinstalled that and all other codecs I'd installed, and installed ffdshow with straight MPC.

MPC and WMC play H.264 pretty well now (never worked before), but Sage stutters horribly.

Clips certainly are H.264/AVC, as evidenced by MediaInfo.

I'd like to set up DXVA, but ffdshow codecs are software-only.