After installing VLC 1.1.0, I was surprised to find that Blu-Ray sample clips continued to stutter during playback. I then realized that GPU acceleration was disabled by default. The option is hidden in the Preferences window accessible through the Tools menu.

Experimental GPU Acceleration Option in VLC 1.1.0 > Tools > Preferences


The three graphs below show the maximum CPU usage during the course of playback with and without GPU acceleration (X-axis) for each of the 8 files listed in the previous section (Y-axis). A completely unwatchable video has no entry corresponding to it. Most of the videos showing 100% utilization were watchable except for a few stutterrs and dropped frames.

A quick look at the graph for the Intel i5-430M below show that the VLC - GPU interaction for H.264 is a complete failure. Upon initializing any H.264 stream, the screen turned completely green. On the other hand, VC-1 decode acceleration is not broken like H.264. CPU usage is lesser with acceleration turned on, but not by much. On being contacted with these details, VLC developer Jean-Baptiste Kempf indicated that the issue was quite simple, and was quite confident that the code would work as soon as the developer team had access to an Intel box.

Moving on to Nvidia's PureVideo VP2 decoder in the Quadro FX2700M, we find that both the L4.1 H.264 streams were accelerated without issues. However, L5.1 videos having more than 4 reference frames were rendered unwatchable due to extensive artefacting despite the fact that CPU usage remained low. From the same graph, we also find that VC-1 videos aren't accelerated as well as H264. This is due to the fact that the VP2 decoder doesn't provide VLD acceleration for VC1, but only IDCT. VLC manages to make use of the IDCT acceleration a little bit, but, obviously, the results are not as good as what one could achieve with VLD.

The GeForce G210M has Nvidia's latest PureVideo VP4 decoder (which supports acceleration for even MPEG-4 / DivX, but we are not testing those here). We observe that both H264 and VC-1 get accelerated as expected, but the L5.1 streams still have an issue. Jean-Baptiste Kempf seems to think that the L5.1 problem could be a result of issues with Nvidia's drivers as well as VLC code. A fix is expected once a bug report with a sample file is filed.

 
Testing Methodology Final Words
Comments Locked

74 Comments

View All Comments

  • MGSsancho - Friday, June 25, 2010 - link

    What software did you use to test DXVA compatibility? Also if possible where can we get a hold of it? :)
  • Per Hansson - Friday, June 25, 2010 - link

    It is "DXVA Checker"
    You can doiwnload it here;
    http://bluesky23.hp.infoseek.co.jp/en/index.html
  • barniebg - Friday, June 25, 2010 - link

    Come on, the most important benefit of using a GPU to decode video is the fact that you can apply hardware deinterlacing. VLC deinterlacing is nowhere near even remotely comparable to any GPU.
  • MGSsancho - Friday, June 25, 2010 - link

    I am disappointed as well but applaud VLC for being another competitor in this very important arena.
  • CSMR - Friday, June 25, 2010 - link

    Deinterlacing is a legacy concept relating to content produced with CRTs in mind. It is not important in the modern world. If you have content that is interlaced, your encoding software should deal with it, or else download a better version.
  • probedb - Friday, June 25, 2010 - link

    What about those of us that don't want to reencode video? Or that play DVDs back from the drive.

    De-interlacing is still very much required.
  • mckirkus - Friday, June 25, 2010 - link

    DVD content is stored as progressive (480p) On an old CRT/Tube TV, the DVD player interlaces the content (480i) so it is compatible with the TV.

    I can't think of any digital content that is stored in interlaced format these days.
  • mckirkus - Friday, June 25, 2010 - link

    (ok, no edit button, non HD tv is interlaced, as is 1080i broadcast ATSC). I should have said DVDs and Blu-Ray are not interlaced.
  • flanger216 - Sunday, June 27, 2010 - link

    Swing and a miss, #2. Try again, please.

    TONS of DVDs are interlaced, both from PAL and NTSC regions. Plenty of content --- HDV and tape sources, for starters --- has never been anything other than interlaced, right from camera acquisition, and is directly encoded from the interlaced source to an interlaced DVD... for obvious reasons.

    Many film-based DVDs released prior to 2000 or so are also interlaced, because they were encoded from old cable, laserdisc and VHS masters. Also, heaps of low-budget and foreign (especially Asian) DVDs are made from interlaced masters, due to old or subpar equipment, or simply because interlaced workflows are often cheaper.

    And NO, your "encoding software" should NOT "deal with it." Deinterlacing prior to encoding gives you the following options: you can deinterlace to half-resolution and encode w/ a good bitrate but with poor quality, or you can deinterlace to full-resolution, but that'll require a doubled frame-rate and, obviously, doubled file-sizes. Interlaced sources should always be encoded to interlaced targets and deinterlaced during playback, preferably by a high-quality temporal/spatial filter @ a doubled frame-rate. Realistically speaking, you're only going to get that from a GPU (or a smokingly fast CPU running one of the newer software deinterlacers).

    WHY do people write things that are flatly untrue?
  • electroju - Monday, June 28, 2010 - link

    I agree, but all DVD movies that I have are interlace. Yes, even the latest movie from 2007 is interlace. I am sure that Blu-ray and HD-DVD are interlaced as well. Like you said, these interlace content have to be set at double the frame rate and be de-interlaced to view correctly on a progressive screen. Though a 3:2 pull-up also have to be used to keep within 24 frame rate of the movie, but this adds distortion.

    Not all codecs are compatible with interlace content, so the video have to be deinterlace. This means double frame rate and adding 3:2 pull-up if it needs it.

    There are dozens of deinterlace algorithms. Not one will suit every content. The only programs that I know that include most of the deinterlacing algorithms is dscaler and tvtime.

    None of the GPU that I know of actually increases the frame rate, so you are back where you started. In order to do it right, it is do the post-processing task with the CPU. Though there is a compromise between loading the CPU to 100% and not using the GPU or using the GPU and have fraction of the CPU being utilized.

Log in

Don't have an account? Sign up now