Keyword - VAAPI

Entries feed - Comments feed

15 March 2010

On the road to VLC 1.1.0 part 1: faster

Let’s go on with the first part of my articles to introduce you to VLC 1.1.0.

Decoding HD

In these days of HD video, speeding of decoding is more and more critical, and VLC has not shine on these aspects lately, especially on H.264.

VLC 1.1 should partly fix those issues, with:

  • faster CPU decoding, especially on Windows,
  • GPU decoding on Windows Vista/7 and on Linux,
  • DSP decoding with OpenMax IL on embedded Linux, like Maemo.

GPU decoding

Using DxVA2 on Windows Vista and 7 and VAAPI on Linux, the decoding stage of VLC framework can now be done by the GPU.

If you have a compatible GPU, especially an nVidia, it should go way faster. VLC should consume less than 10% of your CPU and your CPU shouldn’t be at full speed anymore.

It even works on Ion/Atom machines! This is cool for HTPC.

DSP decoding using OpenMax IL

VLC has a new decoder that can use OpenMax IL codecs for DSP decoding

If this is chinese to you, it means that VLC is almost the same speed and energy consumption than the native player on the N900.

OpenMax IL in VLC can decode and encode most of the codecs: Mpeg2, Mpeg4, H264, H263, WMV1, WMV2, WMV3, RV10, RV20, RV30, RV40 and aac, amr, mp3.

Better audio pipeline

Also, the audio pipeline has been reworked, (and accelerated on ARM devices), so that we less conversion occur and better filtering happen.

Of course, audio is not that critical today, but it just makes VLC a better audio player.

Less Ram and Less threads

VLC 1.1 should use less threads as RĂ©mi wrote.

VLC 1.1 should also use less Ram than 1.0.5, even though, this might not be very visible in all situations.


VLC 1.1.0 should be faster to decode, using less CPU and able to leverage GPU and DSPs; it should use less RAM and less threads. What more do you want ?

Update Part 2: Better

19 April 2009

Decoding video in VLC using VAAPI and nVidia

I know Phoronix people don't come around here, and that most people reading this blog don't care, but anyway...

GPU video decoding on Linux

On linux, decoding video using GPU means different standards:

Fortunately, we can use VDPAU (nVidia) as a backend to VAAPI. And there is a very nice library, named libva.


So far, most patches were done on MPlayer and FFmpeg, but here we go:


The sample is a M2TS with H.264 encoded at 32Mbps. Decoding is done without audio and subs and with a command line interface.


The perfs are quite nice, but they might be better. Why?

Because we don't output directly the video, we just take it back from the decoder, so we have a lot of memcpy, which explains why the decoding could be faster, but isn't...

Does this mean I can decode using GPU and then restream using VLC?

In theory, yes. Not tested yet :D