HD Video Decoding on GPUs with VLC 1.1.0by Ganesh T S on June 25, 2010 4:35 AM EST
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.
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.