HD Video Decoding on GPUs with VLC 1.1.0by Ganesh T S on June 25, 2010 4:35 AM EST
- Posted in
- Home Theater
It is time for HTPC enthusiasts to rejoice! Videolan announced the availability of VLC 1.1.0 a couple of days back. VLC's popularity soared in the mid-2000s when standard definition videos were all the craze, and CPUs were powerful enough to easily decode them. Over the last few years, many people have built up a big library of high definition videos, and one of the complaints against VLC was the fact that all the inbuilt codecs relied completely on the CPU horsepower for decoding. Even the most powerful modern day multi-core processors have trouble decoding HD videos [Clarification: 'trouble' with CPU decoding might mean dropped frames, stutters, sudden spikes in CPU usage and kicking in of the CPU fan etc. These are more noticeable in single threaded decoder implementations].
HTPC users with GPUs capable of accelerating HD video decode initially relied on the bundled software (from Cyberlink / ArcSoft / Corel). However, the bloatware and container restrictions imposed by these players led enthusiasts to other open source projects such as Media Player Classic - Home Cinema (MPC-HC). These tapped into the GPU capabilities using DXVA / DXVA2 APIs on Windows and VAAPI on Linux. The extent of support provided in these APIs depended on the GPU vendor. Historically, Nvidia has provided much better support than ATI, while Intel was lagging behind for quite some time till late last year. This is evident from one of the popular blog posts used as a reference by people wanting to get DXVA working on their GPUs. Users of MPC-HC also had to deal with external codec packs such as CCCP. In addition, a large number of options had to be set up correctly in order to get GPU decoding to work. There was an urgent need for the big player in this space to come to the party, and Videolan has done that exactly with the 1.1.0 release of the VLC Media Player.
However, all is not well yet in VLC land. Videolan supplied the caveat that the experimental GPU acceleration would work only on Nvidia GPUs as of now. They cited troubles with the ATI drivers and the lack of access to a Intel IGP as the reason for not being able to support non-Nvidia platforms with confidence. With a core developer team of just 5 people, coupled with the fact that most of them are not Windows developers, it is hard to find fault with that reasoning.
At the end of our testing, we found out some unexpected good things. However, there was some disappointment as well. Before going into the details, let us take a look at the test bed and test suite we used for the analysis.
Post Your CommentPlease log in or sign up to comment.
View All Comments
piroroadkill - Friday, June 25, 2010 - linkI use Media Player Classic Homecinema as well.
Why would you bother with something else?
DustinW - Friday, June 25, 2010 - linkI'd say XBMC is a pretty important free media player for HTPC users...
But anyway, yes I'll agree with everyone else...using DXVA with MPC-HC is dead-simple and quite powerful.
The0ne - Friday, June 25, 2010 - linkHave to agree. MPC/MPC-HC is very nice already. I use the k-lite codec pack myself and just go with the default setting during installation. No tweaking for me so it's nice. However, the latest version has a new MPC with new buttons and some of the codecs are a bit buggy as now many of my encoded animes can't be read properly. But my 720P and 1080P encoded files plays just fine and that's more important :)
CSMR - Friday, June 25, 2010 - linkYes I remembered that after posting but no edit button. Thanks.
Furuya - Friday, June 25, 2010 - linkI tested myself some samples I had from the "popular blog post". The result is very bad: some videos just play the first seconds and others got very blocky.
The best solution for me was Cuda acceleration with CoreAVC (tutorial also available in that blog post), I play 1080p movies with less than 5~10% CPU usage.
Touche - Friday, June 25, 2010 - linkMPC-HC doesn't need any external codec packs. You don't even have to install it. Just download and run the exe. All integrated, DXVA works perfectly and has for quite some time now.
Although I prefer MPC-HC+madVR. Quality>>DXVA.
hechacker1 - Friday, June 25, 2010 - linkI agree, I use a third-party updated build of MPC-HC that has madVR as an option. It really does give the best quality upscaling for SD content. Combined with ffdshow tweaked, I can't really find any other codec that can compete.
For HD content, I just use MPC-HC and its built in decoder. It really looks good on my 4850, and hardly registers as loading the GPU.
Pino - Friday, June 25, 2010 - linkSplash Lite is better, simpler and work with Intel, AMD and Nvidia.
kasakka - Friday, June 25, 2010 - linkSplash is indeed very impressive. It looks good and works well. They recently released the Pro version, which is not free but has more features. I'll wait till it gets a bit better and then might buy it.
Until then MPC-HC + ffdshow is great, though post processing doesn't work with DXVA so I don't use the GPU acceleration.
0roo0roo - Friday, June 25, 2010 - link"Even the most powerful modern day multi-core processors have trouble decoding HD videos."
Not true, any decent software decoder, like previous versions of vlc or coreavc or ffdshow/mpc-hc would easily decode current web or mkv type videos at 1080p. A fraction of a multicores processor would be necessary. 720p was possible on even old pentium m at times using coreavc decoder. any modern athlon2 or core2 can playback 1080p mkv at even 2x time stretched without a problem.
i've found that this vlc fails pretty hard on xp, it crashes on exit playing mkv h264 videos for me to the point where i've gone back to the previous version. coreavc gpu decode however works fine using other players so its vlc thats wonky.
the only processors that would hickup on hd video were the atom processors. any recent core2 could pull off hd decode for most web videos just fine, even at 1080p.