The first version of this article has elicited passionate responses from many readers. Some people have come out in support of VLC, while others are proponents of MPC-HC or Windows Media Player, with a preference for some codec packs. This is the sort of comparison I really didn't want to make in the article. However, I do feel it is now pertinent to add a few notes.

VLC's Target Audience

VLC is targeted at the lowest common denominator of computer users. We are talking about users for whom the average Anandtech reader actually sets up a newly purchased PC or does tech support for. This is not to say that VLC doesn't have its utility for power users. There is no 'one-size-fits-all' media player. VLC used to be one, but with the advent of HD media, it ceased to be. MPC-HC is trying to be one, but it is not so convincing in its current state.

VLC is Bloatware

A reader in a private communication accuses VLC of being bloatware, and praises MPC-HC for being light and fast. VLC used to be light and fast in its early days too. As more and more functionality is added, and people request more and more features, there is no guarantee that MPC-HC will continue to remain so. Software application development goes through these stages, and past a particular point, it becomes bloatware (Adobe Acrobat Reader is a case in point). At some point or the other, the developers realize this, and rewrite parts of the application / implement acceleration of some sort. I hope (and believe) VLC's development is at that stage now. It is probably too late for VLC to shift to the approach used by MPC-HC / mplayer-VDPAU of having separate development for Windows and Linux platforms. This could have resulted in more efficient code.

One also has to remember that VLC has support for more file formats and containers than any other player considered standalone. It is a framework, with support for scripting in order to further functionality (using Lua). Consider a RMVB file with RMVB video and Cook audio. VLC has had the capability to play such a file since the last 5 or 10 releases. I just tried opening one in MPC-HC, and ended up with a 'cannot render pins in graph because some codec or filter not installed'. On the same system, at the same time, VLC plays back the file without issues. If a tech noob sees this, would you fault him for preferring VLC to MPC-HC?  Despite being a power user, I believe in installing as few programs / codec packs as possible in order to get the file to playback, and VLC fits this criterion. Yes, we all know RMVB is on the way out, but that is no excuse not to support it.

VLC's DXVA Implementation

The VLC developers are more interested in the framework and multi-platform support with a unified code base, rather than just the media player capability. I do have my reservations about their approach, in case they want to compete with MPC-HC's capabilities. I see comments on the article comparing DXVA acceleration on MPC-HC with that of VLC right now, and declarations that MPC-HC is light years ahead. Of course, and that is the reason why MPC-HC is not shown in the graphs. Let us give some chance to VLC to improve their DXVA implementation. MPC-HC has been implementing DXVA since March 2007. It has taken them 3 years to come where it is now. VLC has just started out on this. It is not fair to put them down for this reason.

That said, I am not sure the VLC developers reached out to the GPU vendors enough. A quick search on various AV forums / Google reveals technical contacts for Nvidia and Intel. ATI is a different story, but we do see some marketing managers on Twitter (like CatalystMaker). I am sure all three would have been more than willing to help out a project like VLC. The GPU acceleration could have been in RC versions till all the kinks were ironed out. To the defence of the developers, they do mark the feature as 'experimental'.

Wait! MPC-HC is more popular than VLC!

A reader in a private communication took issue with my statement that VLC is much more popular than MPC-HC. While it might be difficult to quantify this statement, the reader went on to suggest that this was completely false. I was curious and wanted to dig up some numbers. For statistical purposes, as of 25th June, 2010, SourceForge reports less than 10 million downloads of MPC-HC (all standalone filters / 32 and 64 bit versions put together) since v1.0.4 (last 4 years). On the other hand, VLC on the Windows platform seems to have had more than 150 million downloads (and this doesn't include the latest release) since v1.0.0 (last 1 year). Given these statistics, VLC seems to be more popular, though I do agree that MPC-HC has some advanced technical merits.

The reader also happened to mention that, according to MPC-HC's project manager, Microsoft told him MPC-HC is the second most used video player on Windows after WMP (can't beat the bundled apps). I have been keeping track of MPC-HC development on Doom9 on and off, and vaguely remembered something like this being discussed over there. I managed to dig up three posts, one on why MPC-HC's executable name was changed from mplayerc.exe to mpc-hc.exe, and the other two detailing some communication from Microsoft regarding the high volume of MPC-HC crash reports.

Apparently, mplayerc.exe crashed so often on Windows systems a year or two back, that Microsoft got flooded with error reports from customers noting MPC-HC as the culprit. I am unable to find a statement from tetsuo55 (MPC-HC project manager's username on Doom9) on the net backing up what the reader sent in, but if it is true, I think it is easy to see why Microsoft may have reported that MPC-HC is the second most popular media player (I don't think they have any way to track which media player is being used on their OS, other than by using the error reports, right?)

I am not suggesting that MPC-HC is unstable (after all, these error reports were from the original Media Player Classic, and the issues have been fixed for quite some time now) or denying that MPC-HC is currently the best option to play HD videos on Windows, but when one considers the whole ecosystem (SD as well as HD video, and all codecs and file formats), I would think VLC has a much larger installed base. This is also supported by the download statistics at the beginning of this section.

VLC - One of the Best Open Source Softwares?

One reader in a private communication took offence when I termed VLC as one of the best open source softwares of all time, citing that MPC-HC annihilated it on Windows and Mplayer / VDPAU did the same on Linux. He also cited frequent commits and community activity in the MPC-HC repository as indications that MPC-HC deserved recognition as a better open source software than VLC. While his statements on performance may be true, we believe one should not take away credit from VLC, considering where and how it started, and where it is now. MPC-HC is indeed a great program with a very active development community. So, the commits and updates to the program are frequent. However, one also has to note that the project is quite new compared to VLC, which is much more stable and already has had a lot of development behind it.

The problem with VLC is that its initial development was done in the days when GPU acceleration of video decode was unheard of, and HD videos were non-existent. It is now trying to cover lost ground, and this must definitely be appreciated and supported. It has started taking steps on the way to becoming the Swiss army knife of the media player world once again. I would also offer the opinion that VLC developers should take some leaves out of the MPC-HC books in order to implement DXVA better. After all, one of the biggest advantages of being open source is co-operation. There is always space for two players in this field.

Note on Codec Packs

Codec packs are usually a mess to maintain. Even tech savvy users find it very easy to shoot themselves in the foot. What works on one system might conflict with another system (unless it is a clean and fresh OS installation). So, it is probably not something one should consider for the type of users mentioned in the first section on this page.

Just for disclosure purposes, I repeat one of my comments here: On my HTPC, MKV / M2TS files default to MPC-HC, while all other formats open in VLC. No codec packs are installed. I love MPC-HC for providing me with the best interface and experience while watching high definition stuff, but that doesn't mean I consider VLC any less worthy for what it does.

Final Words
Comments Locked

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 :)
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 :)
  • 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.
  • 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 ;)
  • 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.

Log in

Don't have an account? Sign up now