Accelerate x.264 1080p movies over the GPU Guide
Posted by Hilbert Hagedoorn on: 02/10/2009 02:00 PM [ 0 comment(s) ]
The decoding challenge
Why is it so difficult to get sharp and flawless 1080p content out of a regular PC you ask ? Well, to understand that, you need to realise what the PC needs to accomplish. We went from SD (standard definition) content towards HD (high definition content) over the past years. Our television screens and computers have so much more resolution to work in, and that is a frightening task if you realise what the CPU needs to manage, Full HD for example is 1920x1080 pixels, and that needs to be refreshed at refreshed 24,25, 30, 50 of 60 times per second.
We went from PAL and NTSC towards Full HD at 1080P, observe the complexity.
What software do we need to get that 1080P content fully supported over the GPU ?
In the open source community Media Player Classic Home Cinema was released a while ago. This software supports DXVA (bitstream acceleration over the GPU). Next to that the software we can also use the Shader processors on the more recent graphics cards, to enhance image quality in a variety of ways.
There is a restriction though. This software has the graphical user interface of the old media player that was released with Windows 98. So it's not exactly the most pretty looking application to the eyes, especially in graphically enhanced operating systems like Windows Vista it looks and feels old. Don't be naive though, as this software is one of the most sophisticated media player to date.
So here's what you need to forfeit on, you must live without the luxury of a remote control and a software environment like Windows Media Center. This software project is open source, and it's completely free to use and download. MPC is the basis of everything we are showing you today, there are some limitations and restrictions though. But in a screenshot guide we'll show you how to setup everything.
Any popular file-format (XVID/DIVX/MPEG2/MPEG4/h.264/MKV/VC1/AVC) movie can be played on this little piece of software, without the need to install codecs and filters, and where it can, it will DXVA enable the playback. DXVA is short for Direct X Video Acceleration, and as you can tell from those four words alone, it'll try wherever it can to accelerate content over the GPU, offloading the CPU. Which is what we are after.
There's more to this software though:
- A much missed feature with NVIDIA's PureVideo and ATI's UVD is the lack of a very simple function, yet massively important, pixel (image) sharpening.
If you watch a movie on a regular monitor, Purevideo playback is brilliant. But if you display the movie on a larger HD TV, you'll quickly wish you could enable little extra's like sharpening. I remember GeForce series 7 having this native supported from within the Forceware drivers. After GeForce series 8 was released, that feature was stripped away, and to date it has to be the most missed HTPC feature ever.
Media Player Classic has yet another advantage, as not only it tries to enable DXVA where possible through the video processor, it also can utilize the shader processors of your graphics cards and use it to post-process content.
A lot of shaders (small pieces of pixel shader code) can be executed within the GPU to enhance the image quality. MCP has this feature built in, you can even select several shaders like image sharpening, de-interlacing, combine them and thus run multiple shaders (enhancement) simultaneously. Fantastic features for high quality content playback.
Don't you sometimes wonder why a small group of dedicated developers can get features like these going in no-time yet companies like ATI and NVIDIA absolutely fail to support this natively ? How big of a missed opportunity is this for these two companies ? We say very big.
In this article we'll explain you how you can accelerate and enhance (post-process) x.264 MKV 1080p movies with the help of your Radeon or GeForce graphics card.