For those of you with slower PCs, like me, I have some suggestions for improving your H264 playback performance.  In particular this will greatly increase your subtitle rendering speed, allowing you to play much more complicated subtitles that you were previously unable to.  There’s some other tweaks in here as well, and this is written to use the Combined Community Codec Pack with only one minimal, and very simple to add, addition: xy-VSFilter.

Install CCCP

Download the latest version of CCCP, available from here: http://www.cccp-project.net/ Install it, using the default install options, including VSFilter, otherwise this won’t work properly.  If you already have the most recent version of CCCP installed you can skip this step.

Install xy-VSFilter

Next get xy-VSFilter, available from here: http://code.google.com/p/xy-vsfilter/ Install it following these instructions:

2. Move this file to C:\Program Files\Combined Community Codec Pack\Filters\ (for 32bit Windows) or C:\Program Files (x86)\Combined Community Codec Pack\Filters\ (for 64bit Windows).  This will overwrite the existing VSFilter.dll installed by CCCP.  If you’re using Windows Vista or Windows 7 you’ll receive a prompt from UAC to allow you to move the file into the directory and overwrite it.
3. Run the CCCP Settings application, click “Next” on the first screen, on the second screen click on the check-box next to “Re-register Filters” (see below) and click on “Apply”.

Configure CCCP to use LAV Filters

1. Run the CCCP Settings application.  On the first screen click on the check-box next to “LAV Video (CCCP)” in the “Alternative H.264 Decoders” section (see below).  Click “Next”, then click “Apply”.
2. If you have CoreAVC installed, you’ll need to disable it being the preferred H264 decoder (which it is by default).  To do that, run the Configure CoreAVC application, then remove the check in the check-box next to “Preferred Decoder”.  It should look like below, click “OK” once you’ve done this.

Configure Media Player Classic – Home Cinema

Now you need to change a few configuration options in Media Player Classic – Home Cinema (MPC-HC).  Run MPC-HC, then click on “View -> Options” to open the options dialogue.  Under the “Playback” section make sure that the check-box next to “Auto-load subtitles” is unchecked (see below):

On the “Playback -> Output” page you will need to test to see which renderer works best for your system.  I recommend you start with “VMR-9 (renderless)” and work your way down to “VMR-7 (windowed)”.  You will need to close MPC-HC and restart it each time you change renderer for the change to take effect.  To change renderers just click on the radio button next to the one you want and then click “OK”.  On Windows Vista and Windows 7 you can try the “EVR Custom Pres.” & “EVR” renderers as well, but in my tests they caused problems.  On Windows XP do not use the “EVR Custom Pres.” or “EVR” renderers.  While it’s possible to have them available (thanks to one of the .NET update packages) they’re very unstable.  EVR was developed for Windows Vista and was never meant for XP so this is no surprise.

For me, “VMR-9 (renderless)” worked best on my Windows Vista laptop, and “VMR-7 (windowed)” worked best on the XP desktop.

Why do you recommend LAV Filters instead of CoreAVC?  CoreAVC is faster!

While CoreAVC is slightly faster, it has some pretty serious bugs in the 10bit decoder.  The most recent version of the 3.0 line (which added 10bit support) was released back on 2011/09/09 and there’s no sign of another update being released anytime soon.  There’s also a good chance CoreCodec will decide to make the next release a 3.5 version and charge everyone again for what amounts to bug fixes. Finally, CoreAVC is only slightly faster than LAV Filters at this point.  The difference is not worth the bugs it introduces.  As for the bugs, when testing playback of the 2nd OP of Nisemonogatari I discovered that CoreAVC introduced heavy blocking into it, something no other decoder did.  (See below)

What kind of difference in performance will this make?  Is it really worth doing?

It makes a HUGE difference!  I’m now able to play videos that I was unable to keep the subs in sync on before.  On my desktop PC (which is considerably older/slower then the laptop) I can play videos that I could not play at all before this.  Just one example, with this setup I can now play both Nisemonogatari OPs (as well as our upcoming release of the 3rd OP), which are quite complex, on the desktop PC.  Before I applied xy-VSFilter + LAV Filters on the desktop I couldn’t play any of them.  The best way I can put it is this was like I had upgraded my computers.  The change has been dramatic and it’s made watching fansubs immensely more enjoyable.  It’s also a very easy change to make, not requiring installing and configuring lots of additional software, so it’s very much worth doing.

Do I need to have hardware video acceleration for this to help?

No, neither of my computers has hardware acceleration available yet this made an absolutely huge difference. If you do have hardware acceleration available LAV Filters can work with it, but it’s not required.

Why did you write this using CCCP?

CCCP is both simple to install and used by lots and lots of people.  Also, I personally prefer to keep things simple.  I’d rather spend my free time watching anime than tweaking software settings to try to get that anime to playback.  This is simple, it works, and it’s a solution that everyone who already uses CCCP can apply quickly and easily.

What happens when I install a new version of CCCP in the future?

You will need to move the xy-VSFilter’s VSFilter.dll into the CCCP directory again to overwrite the default version it installs.

I use Zoom Player, can I use xy-VSFilter with it?

### 28 Responses to “Improving H264 Performance on Slower PCs”

1. […] sure to check our post on improving video playback for slower PCs if you have any trouble playing the episode.  We also […]

3. thanks a bunch for this, now i can actually play redline without it lagging every 2 seconds

4. Very nice guide, I’d also like to add to it, if you have a 64bit windows installed and the machine is on the slow side, you can install mediaplayer classic 64bit and ffdshow 64bit and itll use less processor doing so, all my 1080p vids play perfectly now…. :D

5. Okay, when you say “Auto-load subtitles” is unchecked I did that then I was unable to see your Beelzebub subtitles but when I check it I can see the subtitles so are you sure that its suppose to be unchecked.
My operating system is Windows 7 x64

• If it’s checked then MPC-HC will load the subtitles with its internal renderer and xy-VSFilter won’t get used. If you aren’t getting subtitles at all with it unchecked the only thing I can think of is, did you include VSFilter when installing CCCP? Because if you don’t you’ll end up with the exact behavior you’re describing. Try re-installing and make sure you use the default install options.

• Okay, I got it fix just went to the setting and the use “Reset All Settings” and “Re-Register Filters” now everything is working all right thanks for the help!

6. I’m currently using K-Lite Codecs.
Is there any way to configure this codec pack without installing CCCP. And the same for KMPlayer if possible.
Thanks B4!

• I’ve looked into this and short of installing those myself I can’t find you any definite answer. Your best bet is to search your hard drive for VSFilter.dll to find where it’s at. If you can find a copy of it, you should be able to replace it with xy-VSFilter’s version. Then you’ll have to manually re-register the filter for it to work. To do that you can follow this guide, although I suggest you open a command prompt to do this from instead of from the run box like the guide suggests. That way you’ll get more feedback if it fails, plus under Vista and Windows 7 you can run the command prompt as administrator so the re-registration won’t fail on you.

In short, open a command prompt then type in regsvr32 “C:\path\to\VSFilter.dll” (including the quotes, but don’t copy and paste that because WordPress will change the quote marks to the wrong kind). For example, if you were doing this manually on CCCP 32bit windows the command would be:

regsvr32 "C:\Program Files\Combined Community Codec Pack\Filters\VSFilter.dll"

Just replace the part in quotes with the full path to where you find VSFilter.dll on your system.

If you don’t manage to find it searching, then it won’t be possible.

• Thanks for your help! I found and replaced VSFilter.dll. And fortunately, it works flawlessly!

7. Thanks very much for this. I used it on my friends computer and it works, but I’m still having a problem though. For some reason MP4 files won’t play. MKV works fine, but whenever I try to open an MP4 file I get an error. Know any ideas on how I can solve this problem out?

• Without knowing the exact error message I have no idea. MP4 files play fine for me, so this setup is fine with them. I don’t believe MP4 files can have soft-subs either, so xy-VSFilter shouldn’t have any effect on their playback.

8. With my laptop CCCP using madVR, with lav filters and DirectVobSub {autoload subtitles} enabled in external filters on MPC-HC works well, just be sure to follow the install/setup instructions. And remember to get xy-VSfilter for CCCP.

9. Many many thanks for your trick, I only have a 5 year old pentium dual core which can’t run a 720p with audio synced. I almost desperately want to spend 300 bucks saving for an amd fusion netbook, but now I can use that small but hard to get money for more important purpose.

10. Thank you very much =)

And I love you guys’ work!

11. matur thank you

12. arigatou!

13. Arigato shishou

14. I was already using xy-VSFilter because UTW subs posted that it would be optimal to do so.. I still had problems with some of the playback mainly the audio skips and the subs lag in the OP and ED
eg. Accel World and SAO.. Found this guide and followed your instructions and re-installed everything and tweaked the MPC settings and now it works like a charm! btw.. my Windows 7 Laptop works best with VMR – 7 (Windowed)
Thank you very much.. (‘ w ‘)b

15. “Under the “Playback” section make sure that the check-box next to “Auto-load subtitles” is unchecked (see below):”

Doesn’t that make it impossible to change subtitle styles in MPC? That’s kind of a steep trade-off — from a flexibility standpoint, it effectively turns softsubs into hardsubs.

• Considering that MPC’s built in subtitle renderer sucks pretty horribly, this isn’t much of a trade-off for most people. If that feature is more important to you than correct, speedy rendering of subs, then this guide obviously isn’t for you. Most people prefer the opposite however.

(And to be fair, I’ve tried overriding sub styles with MPC’s built-in renderer, with hideous results. You’ll get much better results demuxing, changing the font in the script and remuxing it.)

• Thank you for the quick response. I guess I will continue with my current strategy of sticking to releases with simple softsubbed or hardsubbed typesetting/karaoke, or low-res releases. Though it’s not so much fonts I tend to change, it’s size, margins, and sometimes border/shadow. And I’ve never gotten “hideous” results among the dozens of releases I’ve watched that way, except when long two-line subs turn into 3- or 4-liners with increased sizes/margins… but that’s the group’s fault, not MPC’s.

16. Thank you! After following this guide and enabling DXVA2 my netbook is playing a 10Gb MKV onto a full HD output flawlessly.

[1.8ghz dual atom, 1gb ram]

17. […] […]

18. Hey there! I just wanted to relay my experience. I’ve been using CoreAVC without any major problems, but recently, I’ve noticed that I could no longer play any 1080p videos without them stuttering (and I have no clue why it’s now started doing it when before I had no problem). Anyway, I followed your advice, and voila’ … now they’re playing perfectly. Thanks for the info!

19. can u remake a guide for MPC-HC and CoreAVC also do i need to add External Filters. it’s none?

• I’m not entirely sure what you’re asking, but if you mean do a new guide with newer versions of CCCP, that’s not needed. CCCP uses xy-VSFilter and LAV Filters by default now.

I don’t recommend CoreAVC, it has serious bugs, especially in 10bit decoding. CoreAVC has apparently abandoned the product, issuing no updates since 2011. It’s also not that much faster than LAV Filters. The minor performance gain isn’t worth all the decoding problems it generates. So I’m not going to do a guide for it.

I can only tell you about external filters using the older versions of CCCP (I still use the 2011-11-11 version, just upgrading the components manually) that uses DirectVobSub. That’s the version the guide was written for. By default, that version of CCCP will have “DirectVobSub (auto-loading version)” in external filters. You don’t need to change it or add others.