Hot on the tails of Plex, XBMC also gains hardware acceleration after Apple finally released their Video Decode Acceleration Framework Reference to third-party developers. This means Mac OS X 10.6.3 users can now offload all that video decoding to their GPU freeing up the CPU to do other things.
Here is a snippet of Team XBMC’s announcement:
We are very happy to announce that Apple’s new API (VDADecoder) for exposing GPU accelerated H.264 decoding under OSX 10.6.3 is present and fully functional in svn (r29729 and above) trunk builds of XBMC for Mac, and will appear in the next stable version. Now, non-CrystalHD equipped XBMC for Mac users that can enjoy the pure pleasure of accelerated H.264 decoding that was enjoyed by XBMC for Linux (VDPAU/VAAPI/CrystalHD) and XBMC for Windows (DXVA/CrystalHD) users. The VDADecoder API will handle all H.264 video content including that in m2ts containers. The last bit is very important as it means accelerated video decoding of decrypted Bluray m2ts files that are in H.264 format. Bluray can be one of three formats, VC1, MPEG-2 and H.264, with about 75 percent being in H.264 format. There is no word yet on accelerated VC1 decoding but since VDADecoder interfaces to low level Nvidia VP3 functions which can handle H.264 AND VC1/MPEG-2 content, we might see VC1/MPEG-2 support added to VDADecoder API at later date.
Also, while performance is fantastic with VDADecoder, there is still room for improvement. Running XBMC for Mac under Shark (Apple’s profiler) shows that about half of the CPU usage is now due to copying and converting the video frame from UYVY422 (VDADecoder’s native format) to YUV420P (XBMC’s internal format). Future work on the XBMC rendering path will allow passing decoded frames directly up to our renderer and thus skipping the copy/convert step. Stay tuned :)
Keep in mind that just like Plex this only applies to Macs equipped with a NVIDIA GeForce 9400M, GeForce 320M or GeForce GT 330M running OS X 10.6.3. Current supported models:
- MacBook (Aluminum) shipped between October, 2008 and June, 2009.
- MacBooks shipped after January 21st, 2009.
- Mac Minis shipped after March 3rd, 2009.
- MacBook Pros shipped after October 14th, 2008.
- iMacs which shipped after the first quarter of 2009.
As stated, to get this functionality right now, you need to get the svn (r29729 and above) trunk builds of XBMC for Mac. To do this run the
# svn co http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk command. Or you can wait for the next stable version of XBMC to be released soon.
If you try out the new SVN please share your thoughts in the comments and questions in the community forums.