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.

Testing Methodology
POST A COMMENT

74 Comments

View All Comments

  • ganeshts - Friday, June 25, 2010 - link

    Software able to use multiple cores are better off, as you rightly observe.

    However, we just saw how VLC had to use 100% of the CPU to decode some of the HD videos.

    For the non-technology folks, VLC is probably the only media player installed by whoever set up the computer for them. If they try to see HD videos, they are going to hit issues with CPU usage. VLC's GPU acceleration is meant for people like them :)
    Reply
  • fabarati - Friday, June 25, 2010 - link

    Using ffdshow tryouts that came with CCCP (from 2008 at that), i could decode almost all 720p files at 1.2 GHz (on a 2.4 Ghz T7700). At 2.4 GHz I could take on any 1080p file, including a massive 24 GB rip of The Godfather.

    Now I have it set up to run DXVA first, then a fairly recent FFdshow tryout, with the h.264 decoder on MT.
    Reply
  • fabarati - Friday, June 25, 2010 - link

    (no Edit)

    When I was using coreavc (1.9.0), i could take on nearly any 1080p file at 1.6GHz, and that beastly godfather rip at 2 GHz.
    Reply
  • 0roo0roo - Friday, June 25, 2010 - link

    well no once again, if you install vlc on a n00bs computer, they are simply not likely to run a raw bluray rip. they are neither going to download or know how to get their hands on such a file of massive proportions. any web rip or youtube type ripped 1080p files or apple trailers are FAR easier to playback than bluray. playing back those on even an older dual core is easy as pie.

    That being said, somethings wrong with the 100% usage thing. even with software players based on anandtechs own 2006 article an e6700 2.6ghz could playback bluray in software. and that was back when chips were both slower, and the software decoders far less efficient. or perhaps vlc is just not that efficient at bluray.
    Reply
  • ganeshts - Friday, June 25, 2010 - link

    High-Def is becoming more and more popular. A n00b will probably get MKVs from friends on a USB drive and expect to play it back couple of years down the line ( maybe, even right now :) )

    The 100% usage is because VLC is pretty crappy and uses a single threaded implementation to decode when GPU is not enabled. Also, the streams are pretty taxing (16 reference frames , 60 frames per second and so on).

    Also, I would mention that having 'trouble' with CPU decoding might mean dropped frames, stutters, sudden spikes in CPU usage and kicking in of the CPU fan etc. etc.
    Reply
  • 0roo0roo - Friday, June 25, 2010 - link

    yea but those "mkv"' are at a fraction of the original blurays bitrate, and thus easier to play, at most they are 12gb or so, and those are more rare, the more common 1dvd size or 2 dvd rips easily play even on a 2ghz core 2. i know, i've tried this before. and even that is really not common usage for a true n00b who will at best run apple trailers, and those don't use vlc. Reply
  • ganeshts - Friday, June 25, 2010 - link

    It is just not the bit rate, right? Actually, more than the bit rate, it is other encoding characteristics such as reference frames which are the issue in a PC. (On a PMP with hardware acceleration, it is the other way round). Most PCs have more than enough bandwidth to handle high bit rate scenes, but the CPU intensive calculations are what causes the spikes in CPU usage and stutters (I am trying to find some information about which part of the decode process consumes most time in CPU based decoding.. Let me know if you find any thing relevant !)

    VLC's development motto, I feel, is that they should be able to play back anything and everything perfectly. From that viewpoint, it makes sense for them to develop GPU accelerated playback, though their primary target audience might not make use of it :)
    Reply
  • 0roo0roo - Friday, June 25, 2010 - link

    stuff like global hot keys/multimedia kb support have sat in the interface broken for years now while they play iwth other stuff.. Its just kind of annoying. Reply
  • legoman666 - Friday, June 25, 2010 - link

    Can you compare the HD decoding performance of VLC, WMP, MPC-HC and other software? I'd do it myself, but I have an ATI card ;) Reply
  • mindbomb - Friday, June 25, 2010 - link

    i can tell you what the results would be.
    WMP 12 would have the lowest cpu usage, followed closely by mpc hc, and vlc would be in last by a large margin.
    Reply

Log in

Don't have an account? Sign up now