How to use your graphics card to enhance anime.


Ad: Buy Girls Und Panzer Merch from Play Asia!

Prideless

-san
Sempai
UPDATING... Making Frequent Saves

Alrighty this thread is a step by step guide that will produce the following results. =)

- Drop your CPU usage down to 1%-5% watching 720p and 1080p videos.

- Enhance the anime you watch by adding shaders, such as sharpen, vivid, emboss etc to increase the visual quality.

- If properly configured you can also achieve better sound quality by modifying the sound container/codec if you have a 24bit sound card.
(The audio is more distinct from one another opposed to being flat)

- Offload CPU intensive work to the GPU (Graphics Card). NO Lag anymore.

- From personal experience my 720p videos took up 40%-50% of my cpu now they take 1%-3%.

Now the Conditions for this to work.

The file that this can apply to is only "h.264 mkv" which is usually encoded in 720p, 1080p. This is the standard format that fansubbers use.
(This is usually the file type that people have trouble playing due to codec problems or cpu bottlenecking)
It may work with .mp4 but Im not sure havent tried yet.

The file has to also be properly encoded into the h.264 container, if it isnt then the file will simply give you a black screen even if it is h.264 mkv.
(I have experienced this few times but for the most part everything plays)

IMPORTANT Minimum Hardware Recommended Requirements

You need to have either an

Nvidia 8 or 9 Series card or ATI 3000 series or UP.

I have got it working on a Nvidia Geforce 6 series card as well.

Doesn't matter if its integrated or dedicated but dedicated is preferred.

Now if you dont have the following above I cant guarantee anything.
There are GPU's with lower spec then what I recommended that can still support GPU Acceleration but they arent 100% supported or as effective.
The GPU Series I listed support GPU Acceleration 100% because they have the DXVA support and the VP2 Engine which is designed to handle h.264 and resolutions beyond 1080p.

Software Requirements

- Download Media Player Class Home Cinema (Google It, it is FREE, I will refer to this as MPCHC for short)
- Install the lastest Direct X from Microsoft. (Google It, its also FREE)
- Make sure your graphics drivers are up to date.
- x.264 mkv video content that you would like to play.

This guide will work on both Windows XP and Windows Vista, probably Windows 7 as well. If you have a MAC tough luck, unless you emulate one of the versions of Windows I listed above.

----

Now lets finally start with the guide.

Open up MPCHC 32bit or 64bit depending on what OS you have. Vista/7 can still use 32bit if you have the 64bit OS.

Now hit View -> Options -> Playback -> Output

You need to set your Direct Show Preference.

In Windows XP select anyone of these options: Overlay Mixer, VMR 7 windowed, VMR 9 windowed, VMR 7 renderless, VMR9 renderless. (VMR9 Renderless is recommended)

In Windows Vista select EVR or EVR Custom Preset. (EVR Custom Preset is recommended)

MPCHCOUTPUT.jpg


Now head over to Internal Filters.

IMPORTANT
Make sure Direct Show Media is UNCHECKED.
Make sure Matroska is CHECKED.
Make sure H264/AVC (DXVA) is CHECKED
Make sure H264/AVC (FFmpeg) is CHECKED.


MPCHC.jpg


Guess what guys? Your DONE can you believe it? =D Technically is should work now, if you have problems see the troubleshoot section below.

*I will also provide an alternative methods to offload to the GPU if MPCHC doesnt work for you.

My Results with my system.
AMD X2 4200 2.2ghz
DDR400 RAM 2GB
HD 4870 1GB

When I watch 720p videos my cpu jumps around 40-60%.
Now with offloading to the GPU it stays around 1-3%

HOW TO USE SHADERS

The h.264 mkv video has to be currently loaded/playing then you go to
Play -> Shaders, then select a shader to apply it, if you want a combination select Combine and add the shaders you want to be applied together.
(For me, the shader 16-235 works the best is makes it look more vivid.)
Now thats it for shaders.

Now to Troubleshoot where probably most of you will encounter some issue.

TROUBLESHOOT SECTION

The first thing you want to do is check if you see the image below when you playing your h.264 mkv video.

You can check this by going to Play -> Filters -> MPC Decoder.
If is says "disabled" under DXVA Settings then DXVA isnt working which means your not offloading the work the the gpu.
You probably still have access to the Shaders options though at this point.
MPCHCDXVACheck.jpg


Now what you need to go is google "DXVA Checker" it is a small program that will tell you if your graphics card supports DXVA. If your having a problem finding it then google "blue sky dxva checker tool".

DXVACHECKER.jpg


Check if you see what I circled in the image above listed when the open up the DXVA Checker Tool.

For Nvidia Cards
-If No it doesnt support DXVA and you updated your graphics card drivers then you dont have the ability to use DXVA. You may still be in luck if it supports CUDA. Go wiki CUDA and see if your card is listed. IF YES it supports CUDA then go to the Alternative Methods Section under the CUDA Method.

For ATI Cards
If No it doesnt support DXVA and you updated your graphics card drivers then your out of luck because your card doesnt support DXVA or CUDA because its exclusive to Nvidia.

Now if your card passes and it does support DXVA then try this.
Under View -> Options -> Playback make sure "Auto-load subtitles" is CHECKED. (See Image Below)
Now play a h.264 video mkv and check again under Play -> Filters -> MPC Decoder and see if it still says disabled.
MPCHCPLAYBACK.jpg


IF it says its still disabled despite following the above steps then proceed to the rest of the troubleshooting and if that doesnt work head over to the Alternative Methods Section.

Does vobsub run when your playing an h.264 mkv?
If so you need to disable it.
If you have it under CCCP then go configure it under

Start -> All Programs -> Combined Community Codec Pack -> Filters -> VS Filter Configuration, under the General Tab, under Loading, select the drop down box then select "Do not load".

If it still doesnt work continue down the troubleshoot section.
VSCONFIG.jpg


Now MPCHC should be able to play h.264 mkv with only its internal codecs, you shouldnt need any other codecs.

IF you have other codecs installed in your computer try disabling/uninstalling the codec's related to the h.264 container or playing external subtitles.

If you dont know which is related then just disable/uninstall all of them for the time being and see if it works.

IF it still doesnt work god damnit then sorry tough luck, dont cry, move on with life thats just how it is.

jk
(Ill add more to the troubleshoot section if I find other possible issues that may have resulted into you unable use DXVA.)

At this point if you dont have access to DXVA you should at least be able to use the shader options.
Now proceed down the Alternative Methods Section.

Alternative Methods Section

To be here int his section means that your nvidia graphics card does not support DXVA but supports CUDA
or
your Nvidia/ATI Graphics Card supports DXVA but you cant get MPCHC working properly.

For Nvidia users who have CUDA support you can use both the CUDA Method. Yo can also use the POWERDVD8 METHOD if you card also supports DXVA. If your card supports both it is recommended to use the POWERDVD8 Method because DXVA is more efficient then CUDA your choice they both work.

For ATI users who have cards that support DXVA you can only use the POWERDVD8 METHOD.
---
Both of these methods require a program that you have to PAY FOR. cough! Cough! COUGH!

CUDA Method
You need to get CoreAVC of at least version 1.9 because it supports CUDA.
CoreAVC is a codec btw and you dont need to use MPCHC. WMP is sufficient.

Now open CoreAVC under All Programs -> CoreCodec -> CoreAVC -> Configure CoreAVC and make sure the opton "Prefer Cuda Acceleration" is checked.

and wah lah when you play h.264 mkv you should get CUDA acceleration. It wont offload nearly as much to the gpu like DXVA does.
COREAVCCUDA.jpg

I can't check it since I have an ATI card.
biggrin.gif


POWERDVD8 Method
You will need to have Specifically CYBERLINK POWERDVD8 installed on your computer and have a DXVA support graphics card.

Newer versions probably work but I cant help you there.
It is an application but you will use its codec to play in MPCHC as an external filter.

Once you have installed it. Open up MPCHC and head to

View -> Options -> External Filters then hit "Add Filter..." and you should find Cyberlink H.264/AVC Decoder (PDVD8) listed. Select it and hit OK.

EXTERNALFILTER.jpg


Then once its added select it and make sure you hit Prefer. Then hit OK.
PREFER.jpg


Now you should be able to play h.264 mkv in your MPCHC to offload work to gpu.

To Check if the external filter is working you can check while the video is loaded/playing, under Play -> Filters and see if the CYBERLINK POWERDVD8 Filter is loaded.

Congratulations you have the ability to apply shaders and offload cpu work to your graphics card.

There are quite a few extra settings in MPCHC that you can play and tinker with. =)
This guide wont cover them though.

After getting to successfully complete this guide via POWERDVD8 you should notice that the audio quality is much more crisp if you have a 24bit sound card.

If you have a 24bit sound card and it doesnt sound different playing h.264 mkv's. You can do one of the following.
(You may be able to fine tune the audio to some extent without having a 24bit sound card).

Go tinker with MPCHC
Go look up SRS Audio Sandbox in google.
Get better speakers to replace those crappy ones you have.
Get your ears checked.

With that, this concludes the end of my tutorial.

For more information about how all this stuff works go google/wiki and read up on the following.

DXVA (DirectX Video Acceleration)
CUDA (Compute Unified Device Architecture)
GPU Acceleration

also check out Hilbert's Guide "Accelerate x.264 1080p movies over the GPU Guide" over at 3dguru. Its what I used to configure my MPCHC and to help construct this tutorial.
 
Wow prideless. That last picture looks so wrong. Basically you have MPC set up to use all of its internal codecs and no external codecs. Also you forgot to mention that h264 (DXVA) needs to be checked for this to work.

I also highly recommend unchecking a lot of those transform filters and that you use ffdshow as it has more features and is in general more reliable than the internal MPC filters. Unfortunately as you found out ffdshow doesn't use your graphics card to render video but some of the internal filters can.
 
QUOTE (langes01x @ Oct 11 2009, 09:23 AM) Wow prideless. That last picture looks so wrong. Basically you have MPC set up to use all of its internal codecs and no external codecs. Also you forgot to mention that h264 (DXVA) needs to be checked for this to work.

I also highly recommend unchecking a lot of those transform filters and that you use ffdshow as it has more features and is in general more reliable than the internal MPC filters. Unfortunately as you found out ffdshow doesn't use your graphics card to render video but some of the internal filters can.
Aye still working on the guide as we speak lol.

Yeah my settings are a little messed up but it doesnt matter because I only use MPCHC to play 720p 1080p mkvs, which means the settings are irrelevant.
 
I support langes on ffdshow here. I originally had no preferred filter set, so MPCHC was running on default internal filters. I was getting some minor lag in 1280x720 files (e.g. Eclipse's FMAB) if I ran it in fullscreen. Following the guide didn't help, but forcing the player to use ffdshow got rid of most of the lag.
 
Well I, for one, really thought this was helpful. I didn't know MPC-HC could offload ANYTHING to the GPU. It cut down my CPU usage from 30-40% to 7-12% with no noticeable difference in quality. Unless it gives me some stability issues later on, I can definitely live with those numbers.
tongue.gif


AH CRAP! I'M LATE FOR CLASS!!!!!
 
Actually, I forgot to check my CPU usage, I was only looking out for video/audio lag. Will have to double-check for that.
 
QUOTE (Ausdoerrt @ Jan 27 2010, 10:10 PM) Actually, I forgot to check my CPU usage, I was only looking out for video/audio lag. Will have to double-check for that.
If you have audio or video lag you could use the Divx 7 decoder or Coreavc as both of those are much faster than ffdshow. While using DXVA sounds good it is really just shifting the burden to a different piece of hardware. I don't believe that it is more efficient than using the cpu.

On another note if turning off the subtitles speeds up the playback enough to make it watchable you may want to try updating cccp to the latest package (which includes a newer vobsub) and enabling pre-buffer subtitles in vobsub. They seem to have fixed the problem where karaoke effects would not work with the buffer meaning that it is safe to turn on pre-buffering permanently now.
 
Well, ffdshow got rid of the lag so I'm cool with that. Also, the lag only occurs on Vista and not on XP.
 
QUOTE (langes01x @ Jan 27 2010, 11:17 PM) While using DXVA sounds good it is really just shifting the burden to a different piece of hardware. I don't believe that it is more efficient than using the cpu.
The way I see it, the crazy super-geniuses and nVidia and ATI know know how to process graphics efficiently. Since video-decoding is a task particularly well-suited to parallel processing, graphics cards would do a stellar job of it. CPUs are designed to do everything, GPUs just do graphics... very, very, very fast. Plus, if you're a big multi-tasker, having the extra CPU available would come in handy.

...I honestly don't think I'll ever run into a situation when I'll actually need the extra CPU when I happen to be watching a h.264/mp4 video...

...

...but STILL!!!
tongue.gif
 
Playasia - Play-Asia.com: Online Shopping for Digital Codes, Video Games, Toys, Music, Electronics & more
Back
Top