[vlc-devel] Mac OS X MPEG-2 Acceleration - It's Here, Let's Use It

galenz at zinkconsulting.com galenz at zinkconsulting.com
Mon Aug 28 04:58:05 CEST 2006


I've been a little bit involved with an interesting project called  
Accellent which is a libavcodec-based reverse-engineer of Mac OS X's  
MPEG-2 hardware acceleration API. Apple refused to release any data  
on this, so John decided to reverse engineer it. After a few  
iterations and a bit of work, we now have a nice open source  
application that works under Mac OS 10.4 and 10.3. Take a look at it  
here: http://www.defyne.org/dvb/accellent.html

The performance is great. Even on G4s, full resolution HDTV decoding  
only consumes 15-35% of the CPU. On these same machines, ffmpeg/ 
libmpeg2/QuickTime based decoders don't even come close to fluid  
playback - that's millions of Mac users who can't use their machines  
for HD playback. There's no reason it won't work on G3s with an  
acceptable graphics card as well. While newer machines are capable of  
software-only decoding, low end G5s sometimes have trouble with HD,  
and for any machine - why use the CPU, when you could use the GPU? It  
means that you can multi-task better, reduce power consumption  
(longer laptop battery life) and have a cooler machine (less fan  
noise, cooler lap.)

We've cracked open Apple's secret API, but the problem is that we are  
stuck. The application is a great proof-of-concept using libavcodec.  
But John's busy and the application isn't really useful for any  
function: it's crude demuxer and a window that displays the video. It  
only accepts MPEG program streams, but it would be far more useful if  
it accepted MPEG transport streams. There are no playback controls.  
It does not attempt to decode audio, but it really needs to decode  
AC3 audio to be useful. The interactions with libavcodec are a bit of  
a hack, so there's a bit more than just dropping this into another  
player that uses libavcodec to have it playing/

Is it possible that this could be integrated into VLC as an option?  
Is anybody associated with VLC working with this already? VLC under  
OS X has a great interface and is an elegant player, it would be  
great if it could be the best performing player, by far.

Feel free to contact me off list if you prefer.


This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html

More information about the vlc-devel mailing list