[vlc] Decoder/Encoder optimizations for Intel Core i7 and Nividia GPUs

Måns Rullgård mans at mansr.com
Wed Apr 29 14:34:35 CEST 2009


Rémi Denis-Courmont <remi at remlab.net> writes:

> On Wed, 29 Apr 2009 15:04:17 +0530, "Selvakumar Manickam" <selva at amagi.com>
> wrote:
>> I want to know whether the current implementation of VLC media player
>> leverages on the unique features available on HW platforms (e.g, hyper
>> threading on Intel Core i7 & CUDA architecture in Nividia GPUs) to
>> speed-up video decoding and encoding. If this is not available currently,
>> has anyone come across any roadmap for this? Please let me know. Thanks.
>
> VLC has been multi-threaded from the beginning. However, with the notable
> exception of h264 video encoding, it does not currently support symmetric
> multi-threading. As for GPU acceleration, it can use rescaling and chroma
> (YUV->RGB) conversions, and in some cases MPEG2 acceleration for inverse
> DCT and motion compensation. CUDA and other recent GPU-based acceleration
> is not currently implemented.

FFmpeg, which VLC uses for most decoding, supports multi-threading for
several codecs, though not H.264 (yet).  It also has support for
nvidia gpu-acceleration of mpeg2, mpeg4, h.264, and vc-1.  Adding the
necessary support in VLC to utilise this shouldn't be terribly
difficult.

The Core i7 CPU doesn't differ substantially from older multi-core
CPUs apart from the addition of SSE4 (or whatever it's called).  These
new instructions could possibly speed up certain parts of the decoding
process a little, but expect no miracles.  I'm not sure if there is
any SSE4 code in FFmpeg yet.

-- 
Måns Rullgård
mans at mansr.com




More information about the vlc mailing list