[vlc] Re: Re : Use the GPU

galenz at zinkconsulting.com galenz at zinkconsulting.com
Sat Sep 9 22:29:39 CEST 2006


Danko,

I agree with you completely. However, my response was oriented  
towards the average home user and VLC as it stands - this is a user  
list, not a developer list, and the original poster sounded very user- 
level. All the features you describe require specific graphics  
hardware and software - software that's not really in VLC yet.  
Tantalizing the average user with what could be doesn't help much and  
likely just frustrates.

Right now, there are a some challenges. Not all hardware supports  
some or all of these features - so only some users could benefit. And  
the way each chipset/vendor implements it can vary. Different de- 
interlacing algorithms and varying quality of implementation, for  
example. Differing APIs as well. Differing drivers/APIs depending on  
platform and of course, there's the ever-problematic closed source  
graphics driver. (Except Intel! http://intellinuxgraphics.org/ )

CPU usage is a huge reason, on laptops for lower power usage/heat, on  
desktops for multi-tasking and/or cooler and more quiet running. I  
have been pushing to see Mac OS X MPEG-2 acceleration for a video  
player - preferably VLC, as it's my favorite player par-none. Under  
Mac OS X, Apple has already created a GPU-independent but private API  
for MPEG-2 acceleration, and John Dalgliesh with a little help from  
various users (including myself) has managed reverse engineered this  
API. ( http://www.defyne.org/dvb/accellent.html )

Let me give you an example on my 1.33 GHz PowerBook G4. A certain  
720p MPEG-2 HDTV-compliant clip played in VLC - using OpenGL video  
output (GPU handles color conversion) and libmpeg2 (fastest PPC  
MPEG-2 decoder) - isn't able to even play the video smoothly, despite  
pegging the CPU. Compare that to the Accellent proof-of-concept  
application. It doesn't do audio, but it plays the clip silky smooth  
using an average 15% of my CPU. That's a night and day improvement.  
But I've yet to see anybody even add audio playback to the proof of  
concept, let alone add it to VLC, etc.

At the moment, Accellent is just a mechanical process away from being  
turned into a video output module - the tricky reverse engineer is  
done. And another developer has completed a module to use another  
GPU's acceleration abilities. But it was rejected because the code  
was messy. I just wish that the developers would put greater emphasis  
on GPU acceleration. A lot of it is outside our grasp, but why don't  
we move on what we can?

Now, I should add, H.264 acceleration isn't nearly so good with a GPU- 
assist. ATI has the best stuff and the Windows demos I've seen show  
at most a 40% reduction in CPU usage. nVidia is even worse. But it  
will improve, given time.

I would be helping out with this more actively if I had useful  
programming experience. But at the moment, I don't, and I don't have  
the time to learn.

Just a few thoughts.

-Galen

On Sep 9, 2006, at 1:25 AM, Danko Dolch wrote:

> Hi Galen!
>
> > Your graphics card isn't likely to make the video look any better.
>
> What about hadware accelerated decoding, motion adaptive  
> deinterlacing and GPU shader based filtering/compositing??
> One very simple thing - as far as I know there is no way of high  
> quality image rezising even with things like MMX - today I only  
> know GPU accelerated applications that can do this...
>
>
> >The only real reason you'd use the video card is if you can't play  
> the video properly (i.e. it skips or stutters because your >CPU  
> isn't fast enough) and hence need to reduce CPU usage - this is  
> hardware acceleration.
>
> If I have a GPU, I don't want to waste my CPU time with video tasks...
>
> Without an hardware accelerated overlay surface none of todays  
> CPU's can deal with high definition video.
> And even with - ever tryed to play a HD 1080p H.264 stream with  
> 50MBit/s data rate (ever thought about e-Cinema requirements)??  -  
> don't try this with VLC - no multi processor support like the  
> Quicktime Player and no GPU support like Windows Media Player or  
> commercial HD-DVD-Player software ;-)
>
> Ok - I know about the problems of supporting GPU features like H. 
> 264 decoding - but support of multible CPU's at least would be  
> great... but imho the most faszinating possibilities are located  
> around GPU shaders - color correction - denoise - compositing...
>
> only some thought about the future of video processing...
>
> best regards
>
> Danko
>
> ----- Original Message -----
> From: galenz at zinkconsulting.com
> To: Joe-la-Frite
> Cc: vlc at videolan.org
> Sent: Saturday, September 09, 2006 1:47 AM
> Subject: [vlc] Re: Re : Use the GPU
>
> Your graphics card isn't likely to make the video look any better.  
> The only real reason you'd use the video card is if you can't play  
> the video properly (i.e. it skips or stutters because your CPU  
> isn't fast enough) and hence need to reduce CPU usage - this is  
> hardware acceleration.
>
> Look at the video output options under VLC's preferences. If you're  
> using Linux, make sure you have your video drivers setup properly -  
> if you you don't, or your card doesn't support the modes you're  
> trying to output, VLC will give errors or simply quit.
>
> Under Linux, see if you can use XvMC or OpenGL video output. XvMC  
> is fastest, as it uses hardware motion compensation for a  
> performance increase. OpenGL (if I recall) only uses your card for  
> colorspace conversion.
>
> As for Windows, I don't use Windows, but I believe the basic idea  
> is the same - try different video output modules in the preferences.
>
> -Galen
>
> On Sep 8, 2006, at 4:04 PM, Joe-la-Frite wrote:
>
>> I think the render will be nicer with the hardware than with an  
>> external software. Maybe I'm wrong...
>> I'm using Windows XP (and Linux Kubuntu).
>> Thank you.
>>
>> Envoyé le : Jeudi, 7 Septembre 2006, 5h33mn 27s
>>
>> Depends on the platform. VLC doesn't support the full hardware  
>> capabilities under all circumstances.
>>
>> What platform are you using? What/why are you trying to use your  
>> hardware?
>>
>> -Galen
>>
>> On Sep 7, 2006, at 4:32 AM, Joe-la-Frite wrote:
>>
>>> Hi everybody.
>>>
>>> Can someone tell me how configure VLC to use the hardware of my  
>>> graphic card to deal with the video ?
>>>
>>> Thanks a lot.
>>>
>>> Byron
>>>
>>
>>
>>
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc/attachments/20060909/aebbd12b/attachment.html>


More information about the vlc mailing list