Log in

View Full Version : How do I enable hardware acceleration in MPC-HC?


MaximRecoil
17th February 2015, 06:41
I've read some threads and tutorials about this, but nothing I've tried has worked.

This is a 9-year old PC running Windows XP SP3, and I'm using MPC-HC 1.7.8. My video card is an ATI Radeon HD 5450.

To determine if the things I've tried have worked, I've checked CPU usage in Task Manager (usually around 50-60% with a 720p H264/AVC video), and I've also used DXVAChecker in Trace Log mode (nothing ever happens).

In MPC-HC, under Play > Filters, it shows:

Filters currently loaded:
- Default DirectSound Device
- Video Mixing Renderer 9 (renderless)
- Audio Switcher
- LAV Video Decoder (internal)
- LAV Audio Decoder (internal)
- LAV Splitter Source (internal)

And here are some screen shots of some of the settings:

http://i.imgur.com/9N5GhWN.png

http://i.imgur.com/O0sMRef.png

http://i.imgur.com/Q8Uu1W9.png

sheppaul
17th February 2015, 06:51
The recent version of MPC-HC including LAV decoder doesn't support hardware acceleration for Windows XP. Try MPC-BE instead.

Qaq
17th February 2015, 07:36
Windows XP requires DXVA 1 and LAV doesn't support it.
And Video Mixing Renderer 9 (renderless) will be rather slow. Try VMR7 windowed instead.

MaximRecoil
17th February 2015, 07:48
The recent version of MPC-HC including LAV decoder doesn't support hardware acceleration for Windows XP. Try MPC-BE instead.

That works, thanks (0 to 5% CPU usage, and lots going on in DXVAChecker's Trace Log). However, it doesn't seem to work with video files which have subtitles. It calls up DirectVobSub, which I guess is interfering with hardware acceleration. When I open the same video file in MPC-HC, it doesn't call up DirectVobSub, but all of the subtitles are available from the menu. Why is MPC-BE calling up DirectVobSub while MPC-HC doesn't?

If I block DirectVobSub in Options > External filters, then hardware acceleration works, but the subtitles don't work / aren't available.

Edit: Nevermind; I figured it out. By default MPC-BE uses VMR7 windowed which doesn't support subtitles, so it has to load an external subtitle filter. I switched it to VMR9 renderless (like MPC-HC is using), which supports subtitles, and now it is working perfectly with subtitles and hardware acceleration; CPU usage 0% to 5%, about the same as when I'm not playing a video.

MaximRecoil
17th February 2015, 08:35
I found another option that works, even with MPC-HC. I can disable the built-in LAV and use ffdshow DXVA. Unfortunately, this seems to mean that I lose all of the normal ffdshow VFW decoder options; the one I use the most is the gamma adjustment.

sheppaul
17th February 2015, 09:32
DXVA1 doesn't allow s/w video processing but it would be possible to do gamma control in CCC if available.

MaximRecoil
17th February 2015, 10:24
DXVA1 doesn't allow s/w video processing but it would be possible to do gamma control in CCC if available.

Yeah, that's what I ended up doing. It's just not as convenient because I have to adjust it before and after watching a video every time, because I don't like the looks of Windows with the gamma setting I use for videos (while in the ffdshow VFW options I could set it and it would be good for most videos; I'd have to tweak it for certain ones depending on how they were lit during filming). I guess it is worth it to be able to watch 1080p AVC on this PC without any stuttering though. Before, low bitrate 720p AVC would play smoothly, albeit with relatively high CPU usage; higher bitrate 720p would stutter some, and any 1080p with a watchable bitrate would stutter some as well.

huhn
17th February 2015, 11:16
I was able to use DXVA with EVR-CP on an my old nvidia ION installing .NET Framework 3.0/4.0 or 4.5 the color correction may work with EVR-CP/EVR.

but I have to say I did this a lot of years ago and I wasn't using XP I was using XP 64 bit.

MaximRecoil
3rd August 2015, 06:16
I'm setting up an installation of Windows 7 x64, and hardware acceleration is not working in MPC-HC; not through the native LAV filters, and not even by using the ffdshow workaround (that I mentioned in post #5) which still works for me in XP.

http://i.imgur.com/uMHqgxN.png

Notice the red X beside DXVA. Compare that to my screenshot from XP in post #1; there is a green checkmark there. The version of MPC-HC I'm using in Windows 7 is 1.7.9 (as opposed to 1.7.8 in XP, but it has the same red X beside DXVA if I open 1.7.8 from within Windows 7), but other than that, everything is the same; i.e., it is the exact same hardware (I have XP and 7 in a dual boot on the same PC).

So how do I get hardware acceleration to work now? I figured that with Windows 7 it would just work as-is.

vivan
3rd August 2015, 08:56
On Windows 7 use EVR.

MaximRecoil
3rd August 2015, 12:55
On Windows 7 use EVR.

That worked, thanks. Originally, both EVR options said "unavailable", so I did a search to find out why. I have Windows 7N, and that's why. So I downloaded the Media Feature Pack for Windows 7N from Microsoft, and then both EVR options were available.