AVS Forum banner

Advanced MPC-HC Setup Guide

1M views 5K replies 615 participants last post by  biglen 
#1 · (Edited)
Advanced MPC-HC Setup Guide (6/2015 update)

Introduction
This guide is about getting the best quality and performance out of the MPC-HC video player, allowing it to make the most out of your hardware. The guide has 5 main parts: installation, video decoding, audio, madvr configuration, and reclock(optional). The installation part is really easy, and if you really wanted to keep things simple, you can actually just use the installation section alone and be in decent shape. I’d recommend that for casual users that don’t want to read the whole thing. Also, feel free to add comments and questions in this thread. Two things I don’t cover are SVP and display calibration. I’m not interested in SVP’s functionality. If you want to learn more about display calibration, see http://www.avsforum.com/t/1471169/madvr-argyllcms .

What you need to download
1. MPC-HC x86 installer (http://mpc-hc.org/downloads/ )
- Considered one of the best directshow players for windows. I’m suggesting the 32 bit version since it is compatible with more things.
2. MadVR.zip ( http://forum.doom9.org/showthread.php?t=146228 )
- Considered the best video renderer, most of the quality improvements come from madVR.
3. Optional - Reclock ( from the stickied thread here http://forum.slysoft.com/forumdisplay.php?f=85 )
- Advanced software popular among videophiles, its main function is to provide extremely smooth video by better syncing the video with the display. Much more detail in the Reclock section.

Installation
Run the MPC-HC x86 installer. Note that it gives you the option to reset settings if you’ve messed around with other guides or codec packs, and want to start fresh.



Then, to install madVR, extract the zip file and run the install.bat for it. To tell mpc-hc to use madVR, open mpc-hc, press “o” for options, go to ouput, and select madVR under directshow video.



That’s it for installation. I’ll cover reclock in its own section, as you may or may not need to install it.

Video Decoding
To access the video decoding options, open mpc hc, press o for options, go to internal filters, and click Video Decoder at the bottom.



The important things to note here are the hardware acceleration options on the upper right side. In general, dxva copyback is the one to use to decode the video through your gpu. You also can use the “none” option if you want to use your CPU. Hardware acceleration lowers cpu usage on supported formats, such as 8 bit HEVC, 8 bit H264, VC-1, mpeg 2, etc, depending on the GPU and what is ticked in the video decoder options.

Audio
Windows Audio Setup
This subsection doesn’t deal with anything mpc-hc specific, but rather a windows audio setting that people often overlook that affects audio quality in general. Go to control panel, hardware and sound, and then sound. Right click on your sound device, and then go to advanced. My recommendation is 24 bit, 48khz.



Next, go back to the sound window. Right click on your sound device and this time select configure speakers. Set it up to match your speaker setup. If you are using spdif output, you probably don't have this option, and don't have to do this step.



It’s pretty straight forward.

Bitstreaming
This is mostly for people with AV receivers, allowing you to use the audio decoders in them. To access the bitstreaming options of MPC-HC, go to options, internal filters, and click Audio Decoder at the bottom. This opens the audio settings.



For analog, don't check anything. For a receiver connected by SPDIF, you usually can check Dolby Digital and DTS. For a receiver connected by HDMI, you usually can check all the options for bitstreaming.

Mixer
This is mostly for people having volume issues with multichannel audio. The low volume occurs when Windows downmixes your audio, and to avoid this, you can do a downmix within MPC-HC instead. To access the mixing options of MPC-HC, go to options, internal filters, click Audio Decoder at the bottom, then go to the mixing tab.



Select your speaker configuration and check the option in the upper right called “Don’t mix stereo sources” to leave mono and stereo audio untouched by the mixer. Don’t touch any of the sliders.


MadVR Config
To edit the madVR settings, first play any video in MPC-HC. Then right click in the video, go to filters,
then click on madVR, and click edit settings. This is also a great chance to make sure all the right filters are also showing up properly in the filters list.



Scaling
For image downscaling, catmull rom is the way to go. For chroma and image upscaling, Jinc with the antiringing filter is considered great quality, but requires a fast GPU. Similiarly, lanczos 3 taps with antiringing is considered good, but doesn’t require as much GPU performance. For modern intel GPU’s specifically, the dxva scaling options provide good quality with a very small performance hit.



Image Doubling
Image doubling gives higher quality than upscaling alone. Currently, the option with good performance and quality is the super xbr option, so I recommend that. Image doubling in general requires a fast gpu.


Display Modes
This subsection is basically for televisions that have a 23.976hz mode. MadVR can make the display switch refresh rates when needed. The default 60hz usually isn’t ideal for movies. To see what refresh rates your display supports, right click on your desktop wallpaper and go to screen resolution. Choose the display you watch videos on and go to advanced. Then go to the monitor tab and look at the listed refresh rates.



To have madVR automatically switch to the proper refresh rate, go to the devices section in madVR settings and choose the display that you watch videos on. Expand it, and then choose display modes. Check the option to change to matching display modes, and then list the important refresh rates your device supports in the box. The important refresh rates are 23.976, 24, 50, 59.94, 60, or multiples of these. The names of the non-integer refresh rates are shortened, so 23.976=23. Make sure you only enter refresh rates for the native resolution of the display (eg, don’t put in 720p values for a 1080p display). You can see the display’s refresh rate and the video frame rate while watching a video by pressing ctrl+j.



Smooth Motion
This is basically for 60hz computer displays and televisions that don’t support a 23.976hz mode. It is an alternative to setting a matching refresh rate through the display modes section. Enabling both doesn’t hurt anyway, since Smooth Motion is only used when needed by default. It causes a small performance hit, but on the bright side, you don’t get the screen going blank from a refresh rate change. It is listed under rendering.



Film Deinterlacing
This is mostly for DVD video and HDTV broadcasts. There are 2 types of deinterlacing available through madVR. Video deinterlacing for video sources and film deinterlacing for film sources. Film deinterlacing is also known as inverse telecine. Film mode is probably more appropriate for your DVDs and HDTV shows. Deinterlacing options are in the processing section. You have to disable automatic source detection and force film mode. Automatic source detection doesn’t work atm, it just defaults to video mode all the time. Film deinterlacing is not compatible with DXVA2 (native) video decoding atm.



How To Judge Performance
Press ctrl+j while a video is playing. You want the all the queues to be full or near full, with a low average rendering time. The rendering time has to be comfortably lower than the movie frame interval. Rendering performance varies depending on the resolution of the video, the resolution of the display, and the frame rate and bit depth of the video. You also want to make sure the dropped frame counter isn’t rising, though some dropped frames are inevitable at the start of playback. You can press ctrl+r to reset the counter after playback has stabilized.

Optional - Reclock
Who should use it?
This is mostly for people with 120hz/144hz computer displays or televisions with 23.976hz mode. Without reclock, you will have slight frame drops/repeats once in a while due to the frame rate not quite matching the refresh rate. Reclock will make them sync up exactly.



Reclock Requirements:
1. You shouldn’t bitstream with reclock. Reclock needs uncompressed audio to work.
2. You have to have set up display mode switching in madvr or have a 120hz/144hz computer display. Your video’s frame rate (or an integer multiple of the frame rate) has to be roughly near your refresh rate for reclock to be effective. So, for a 23.976 fps video, the display can be 23-24hz (multiple of 1), 119-120hz (multiple of 5), 143-144hz (multiple of 6).

If you meet this criteria, and you’re intrigued by the idea of even smoother video (since you aren’t limited to 60hz, you’re already smoother than most), continue reading this section.

Setting up Reclock
Install reclock using the installer. Note that you don’t need PowerDVD support, dsound support, Arcsoft TMT support, etc, just the program files. Then, go into lav audio and disable bitstreaming for all formats.



While in the audio settings, note the mixing tab. With reclock, we will use wasapi exclusive mode, which bypasses the Windows’ mixer (the one you saw in control panel>audio>configure speakers). This may cause issues if you are using integrated audio, so you will have to use lav audio to mix to your speaker configuration. Check "Don't mix stereo sources" to keep mono and stereo streams untouched. Don’t touch the sliders. If you have a dedicated sound card or an hdmi multichannel receiver, you can likely skip mixing here – specify speaker config through the sound card or receiver instead.



Configure MPC-HC to use reclock as the audio renderer by going to options, output and selecting reclock as the audio renderer.


Open the configure reclock shortcut from the start menu. Choose Wasapi for PCM, choose best sinc interpolation for quality, choose 24 bit padded to 32 for format, and uncheck “output mono to front channels” if you have a center speaker (5.1 configs, etc). You may also have to set a 48khz sampling rate here, depending on if you run into weird videos that don’t use the standard 48khz and your hardware isn’t tolerant of the sampling rates.


And that’s all. You’ll should see the green reclock icon in the taskbar while videos are playing, indicating that reclock is doing its thing.

Updating Software
You can update MPC HC by just running a newer installer. Your settings will carry over. For madVR, run the uninstall.bat, delete the old madVR folder, put the new one in its place and run the install.bat. For reclock, run the uninstaller, and then the new installer.
 
See less See more
19
#3 ·
because there is no 64 bit version of some of the software, the only option is to use a 32 bit version of everything. It should work fine, even if you are on a 64 bit windows, you should still be able to run 32 bit versions of everything mentioned just fine.
 
#4 ·

Quote:
Originally Posted by MlNDBOMB /forum/post/20886772


because there is no 64 bit version of some of the software, the only option is to use a 32 bit version of everything. It should work fine, even if you are on a 64 bit windows, you should still be able to run 32 bit versions of everything mentioned just fine.

Agreed.


Nice guide.
 
#6 ·
Ok...what if...just what if I'm looking only to change the audio decoding. Right now I'm using MPC-HC on it's own (no separate filters like SHARK or FFD Show installed). I need to decode internally and send all audio to my receiver in LPCM...my receiver can only take DTS and DD (normal versions) in Bitstream.


I only have a HDMI 1.2 receiver...so I need to send the HD audio at LPCM...Can I just add the LAV audio decoder x64 and shove in the DTS decoder from Arcsoft so that I can decode TrueHD, DTS-HD, DTS-MA and DD+???


Can you show me the configuration menu in the correct settings?
 
#7 ·
Thanks for the praise assassin. I really appreciate it coming from a fellow writer of htpc guides.


As for madvr, here is my take on that: The difference is pretty subtle in real life cases (there are some test patterns that come with madvr that show some pretty big differences imo though), but it is a fact that it offers very advanced luma and chroma scaling options, as well as an advanced RGB conversion, so if you have the gear, and I think a lot of ppl nowadays do, why not?


Related questions I am sure ppl are wondering about - why no mention of lav cuvid or dxva? Well, I wanted to focus on just one method that works with the greatest amount of videos as well as worked on the greatest amount of hardware (ie not specific to nvidia graphics cards), so I stuck with software decoding. DXVA and Cuvid are both good ways to decode as well, with their own pros and cons.
 
#8 ·

Quote:
Originally Posted by bimmerfreak0 /forum/post/20886897


Ok...what if...just what if I'm looking only to change the audio decoding. Right now I'm using MPC-HC on it's own (no separate filters like SHARK or FFD Show installed). I need to decode internally and send all audio to my receiver in LPCM...my receiver can only take DTS and DD (normal versions) in Bitstream.


I only have a HDMI 1.2 receiver...so I need to send the HD audio at LPCM...Can I just add the LAV audio decoder x64 and shove in the DTS decoder from Arcsoft so that I can decode TrueHD, DTS-HD, DTS-MA and DD+???


Can you show me the configuration menu in the correct settings?

Alright, i think i understand what you want. If you insist on using 64 bit software, don't use ffdshow audio processor, since that is only necessary because of using wasapi exclusive mode with reclock, and there is no 64 bit version of reclock (so you will use system default as your audio renderer). Configure lav audio to bitstream DD, then copy over the dtsdecoderdll.dll from arcsoft into the lav folder, and then that will allow you to decode dts and dtshd to pcm. I don't believe you can have it set up so that you are bitstreaming DTS but decoding DTSHD, but this should provide equivalent results. Since you are not using kernel streaming or wasapi, I would also make sure windows has set the default mode for your sound device at 24 bit and 48khz, and I would make sure you have configured your speakers correctly in windows.
 
#9 ·

Quote:
Originally Posted by MlNDBOMB /forum/post/20886934


Alright, i think i understand what you want. If you insist on using 64 bit software, don't use ffdshow audio processor, since that is only necessary because of using wasapi exclusive mode with reclock, and there is no 64 bit version of reclock (so you will use system default as your audio renderer). Configure lav audio to bitstream DD, then copy over the dtsdecoderdll.dll from arcsoft into the lav folder, and then that will allow you to decode dts and dtshd to pcm. I don't believe you can have it set up so that you are bitstreaming DTS but decoding DTSHD, but this should provide equivalent results. Since you are not using kernel streaming or wasapi, I would also make sure windows has set the default mode for your sound device at 24 bit and 48khz, and I would make sure you have configured your speakers correctly in windows.

Thankyou for the clarification...seems like everyone nowadays has a 1.3 receiver...I am still in the dark ages.
 
#10 ·

Quote:
Originally Posted by MlNDBOMB /forum/post/20886913


As for madvr, here is my take on that: The difference is pretty subtle in real life cases (there are some test patterns that come with madvr that show some pretty big differences imo though), but it is a fact that it offers very advanced luma and chroma scaling options, as well as an advanced RGB conversion, so if you have the gear, and I think a lot of ppl nowadays do, why not?

Well to play devil's advocate....


Because it can be a royal pita if you are not a "Type A" tinkerer. I think to go through all of these settings, codec changes, software changes, etc to get at most a "subtle" improvement for many may not be warranted. Or even wanted.


But I have been on AVS long enough to know that there will be a parade of people that shout from the mountaintops that a HTPC isn't worth a damn unless you have everything setup to the max such as "X" discrete video card, "perfect 24p" (if that even exists), Madvr or whatever the flavor of the quarter is, etc.


I used to be like this. Now I just want to sit down on my couch and enjoy my HTPC. I don't care anymore about the constant tinkering. I think that the whole point of a HTPC is to enjoy high quality high definition media at your fingertips. Not to spend weeks/months/years constantly tinkering to find some subtle difference that may or may not even be there (or may just be in your mind).


So for those people your guide is great. And for those of you who want to tinker this should help out immensely.


And for those who want to just use their HTPC without the constant headache of introducing all of these variables as potential problems/conflicts/issues with their HTPC I would think twice about opening pandora's box.


Trust me. I have been there. Multiple times.
 
#11 ·

Quote:
Originally Posted by bimmerfreak0 /forum/post/20887072


Thankyou for the clarification...seems like everyone nowadays has a 1.3 receiver...I am still in the dark ages.

Heh, I'm actually still using component and 6 channel analog. A total of 9 cables for video and audio.


Quote:
Originally Posted by assassin /forum/post/20887086


And for those who want to just use their HTPC without the constant headache of introducing all of these variables as potential problems/conflicts/issues with their HTPC I would think twice about opening pandora's box.


Trust me. I have been there. Multiple times.

Well, I was very careful in naming this thread "Advanced MPC-HC Setup Guide," as opposed to something else so that it would be very clear that this is gonna kinda be intense.

But also you have to consider that HTPC ppl are natural tinkerers, and the subset of those who use MPC HC rather than other software are even bigger tinkerers I would think, so I wouldn't expect too much problems. Also, I don't think there is constant tweaking and changing involved, you basically just set aside a little time to set it up once and you are essentially set.


It's interesting you brought up madvr in that regard though, as when I was writing this, I was actually more worried about instructing ppl to use wasapi exclusive mode over the directsound audio renderer, which kinda is another example of work you are doing for a small benefit.


Thanks for the feedback though, I definitely appreciate it.
 
#12 ·
Curious, is madvr better than ffdshow?
 
#14 ·

Quote:
Originally Posted by MlNDBOMB /forum/post/20887677


For rgb conversion, yes, cause it has 16 bit processing, while ffdshow has 11 bit processing.


For luma/chroma scaling, they are similiar.


Also, they are fundamentally different in that madvr works on the gpu, and ffdshow works on cpu.

Hmmm i do like the ability to run on the gpu but so far ffdshow hasnt given me any problems...Hmmm really worth changing ?
 
#15 ·

Quote:
Originally Posted by MlNDBOMB /forum/post/20887677


For rgb conversion, yes, cause it has 16 bit processing, while ffdshow has 11 bit processing.


For luma/chroma scaling, they are similiar.


Also, they are fundamentally different in that madvr works on the gpu, and ffdshow works on cpu.

Might have picked this up wrongly, but doesn't MadVR only work on the GPU for Nvidia cards?
 
#16 ·

Quote:
Originally Posted by pokekevin /forum/post/20887769


Hmmm i do like the ability to run on the gpu but so far ffdshow hasnt given me any problems...Hmmm really worth changing ?

imo, yes.


Quote:
Originally Posted by steelman1991 /forum/post/20887777


Might have picked this up wrongly, but doesn't MadVR only work on the GPU for Nvidia cards?

no, madvr works on the gpu no matter what. I believe you are thinking about how with an nvidia card, you can offload decoding and deinterlacing to the graphics card as well with lav cuvid. With the method in my guide though, decoding and deinterlacing is done on the cpu through lav video and ffdshow raw video filter respectively.
 
#18 ·

Quote:
Originally Posted by assassin /forum/post/20887086


Well to play devil's advocate....


Because it can be a royal pita if you are not a "Type A" tinkerer. I think to go through all of these settings, codec changes, software changes, etc to get at most a "subtle" improvement for many may not be warranted. Or even wanted.


But I have been on AVS long enough to know that there will be a parade of people that shout from the mountaintops that a HTPC isn't worth a damn unless you have everything setup to the max such as "X" discrete video card, "perfect 24p" (if that even exists), Madvr or whatever the flavor of the quarter is, etc.


I used to be like this. Now I just want to sit down on my couch and enjoy my HTPC. I don't care anymore about the constant tinkering. I think that the whole point of a HTPC is to enjoy high quality high definition media at your fingertips. Not to spend weeks/months/years constantly tinkering to find some subtle difference that may or may not even be there (or may just be in your mind).


So for those people your guide is great. And for those of you who want to tinker this should help out immensely.


And for those who want to just use their HTPC without the constant headache of introducing all of these variables as potential problems/conflicts/issues with their HTPC I would think twice about opening pandora's box.


Trust me. I have been there. Multiple times.

great post bro!
 
#19 ·
what are the main pros to being able to run on gpu?

In my case im using a Nvidia 220GTM


-Kevin
 
#20 ·
^If you have a weak CPU, it can help offload the processing to the GPU. Power consumption differences are negligible. It's possible that the overall power consumption will be lower with a fast software decoder.


For beginners, I agree that it can be a headache to learn and set everything up. but if you have a decent knowledge of filters/decoders etc., it's not too bad.

I also agree that the difference is subtle, but many of us here at AVS are willing to spend the extra bucks or are willing to learn how to set MPC up the 'ideal' way to get those subtle improvements.


Anyway, good guide mb.
 
#21 ·
MadVR may use GPU shaders on NVidia or ATI, but with my HD4670, and MadVR enabled in MPC-HC, I get appalling stutter during HD MKV playback. CPU isn't maxed though, and generally runs at 70-80% using MadVR. Strangely, MPEG-2 HD MKV's are fine, but I guess the CPU demands are far less for this. X264 MKV's stutter like crazy, and VC1's often don't play at all (black screen). Switch back to EVR, and everything's fine.


Also, I've always steered clear of codec packs and ffdshow. Are the post-processing benefits that noticable? Can you ignore the ffdshow/reclock sections and still gain some benefits. All my HD MKV's have FLAC audio anyway output over analog, so I might only need MadFLAC.
 
#22 ·

Quote:
Originally Posted by assassin /forum/post/20887086


Now I just want to sit down on my couch and enjoy my HTPC. I don't care anymore about the constant tinkering. I think that the whole point of a HTPC is to enjoy high quality high definition media at your fingertips. Not to spend weeks/months/years constantly tinkering to find some subtle difference that may or may not even be there (or may just be in your mind).

Constant tinkering?

Sure, setting up the advanced components does take a bit longer, and may require reading an additional guide, readme, forum thread, or something - BUT, once you're done, it works the same as any other setup. You click play, a movie plays.


Maybe some people believe they have to constantly tinker with the system to get the last 0.1% out of it because they read some suggestion somewhere - but thats not true.


I setup my stuff on the HTPC once, and about once a month i update the software on it, well at least my own filters and madVR (if there was an update). That takes maybe half an hour per month, and really doesn't require much tinkering. You could even go without the updating - once it works, it'll continue working.


If there was a scale of how much of your HTPCs potential you're using, i would probably rate it somewhat like this.

(Only rated PQ and the ability to actually play media - GUI needs, usability, and all that are ignored)


60% - Use WMC/WMP with all stock components - install windows and go.

90% - Use WMC/WMP with "common" 3rd party filters or a codec pack

90% - Use MPC-HC with only its internal filters.

95% - Use MPC-HC with 3rd party filters/codec pack

99% - Use MPC-HC with specifically selected and carefully setup filters

99.9% - See above, with constant tweaking and obsessive testing for the "best"


PS:

There are other players that allow the same or even more flexibility as MPC-HC, this was just an example.


I would rate this guide close to the 99% group, i do however believe that you can achieve more if you actually care to understand what you're doing rather then blindly following a guide. However, i do not see the need for constant tinkering, unless you want to do it.
 
#23 ·
I have to disagree with this 60~99% deviation.

The differences are shorter.

Even an isf calibrator or a discrete video processor like lumagen can not do these kind of miracles.


I think the 80% of people here, wouldn't notice difference between madvr and EVR at less than 46" from 2,5m.
 
#24 ·
The 60 to 90 jump is just the ability to actually play files. Stock WMP/WMC is really limited without external decoders/splitters, and lacks support for alot of files.


After that, its 90-99.9%.

You can do something similar to what madVR does with ffdshow or other filters, by using a high-quality RGB conversion algorithm. (Note that i didn't specify any filters there)

Between the "default" RGB conversion in EVR, and a High-Quality conversion from ffdshow or madVR, there is a visible difference.


90% of people here wouldn't bother, mostly because they are happy with what they get from EVR, and won't know that they are missing something.

Its not a day and night difference, but it is visible. I could quote alot of cases where people used their old and trusted setup for ages, then switched to some new settings, some new filters, and they did actually notice a improvement. Maybe thats in the 20%, people that don't notice a difference usually don't come complaining...


Anyway, my main point was that even an advanced setup does not require constant tinkering. An extended initial setup? Sure. But after that, its all about enjoying the content.



PS:

Something i forgot to mention is of course the increased hardware requirements.

For example, the iGPU in Intels CPUs is not fast enough to fully enjoy madVR, but because the CPU itself is fast, using ffdshow to improve the image quality is a viable alternative.


PPS:

@isf/lumagen:

Of course they cannot. This is about processing the material very close to the source. Something a ISF guy or a stand-alone processor can do is after the video has actually been converted for output. If that conversion is done badly, there is only so much an external device can do to improve it again. Improving the initial conversion will yield the best benefits.

Still, the benefits are not *major*, but they are still worth getting for half a day of research and setup, IMHO.


Maybe thats just me, but i do believe that if someone wants a HTPC, they should actually be ready to invest at least some time into the initial setup.

Otherwise, what benefits does it get them over a finished solution? I have a HTPC so that i have control over what happens. If i just wanted playback, i wouldn't bother with a HTPC which uses more power then any standalone device and eats up so much of my time.
 
#25 ·

Quote:
Originally Posted by tman247 /forum/post/20887970


Also, I've always steered clear of codec packs and ffdshow. Are the post-processing benefits that noticable? Can you ignore the ffdshow/reclock sections and still gain some benefits. All my HD MKV's have FLAC audio anyway output over analog, so I might only need MadFLAC.

The audio postprocessing is there because wasapi exclusive mode in reclock needs a mixer at times, or else you could be possibly missing audio channels when watching a video. I suppose you can ignore the ffdshow/reclock audio sections and still benefit from using madvr and the video decoders i specified, and the subtitle setup too. If all your videos have flac, i suppose you can use just madflac as an audio decoder, but you can use mpc hc for all your videos, not just your HD mkv ones.


@nevcariel

sorta OT, but isnt the HQ RGB conversion from LAV video better than the one from ffdshow?

At any rate, I think my suggestion for ppl with someone using intel hd graphics would be to use madvr but use a less demanding scaling algorithm for luma and chroma, like bilinear. But i definitely can see what you are going for by using ffdshow in that capacity.
 
#26 ·

Quote:
Originally Posted by Tony_Montana /forum/post/20888015


I think the 80% of people here, wouldn't notice difference between madvr and EVR at less than 46" from 2,5m.

I see difference between madVR and EVR on 37" from 2,5m. And its not simple EVR, its EVR CP with 32fp processing, dithering and HQ chroma sub-sampling. And I wonder why... Yes, I'm the one who likes to fine-tune favorite apps.
 
Top