Linux What makes XBMC's video playback SO SMOOTH?
#1
Wink 
Hello,
I'm a desktop Linux user for many years and I've tried all the media players there are. I'd never had installed XBMC because I thought it would just be a simplified interface for home theater PCs. But I read that it has good XvBA/VA-API support for hardware accelerated video output and then I became curious and gave it a try. My graphics card is a AMD Radeon HD 7770, my monitor has a resolution of 2560x1440 and my CPU is a fast AMD Phenom II X6 1100T. I have built the patched xbmc-xvba from the Arch Linux AUR and even I now suspect that it really uses XvBA (CPU usage on level with VLC and mplayer) I am blown away from the smoothness of the video playback! I'd never saw this elegant, smooth video output on my Linux systems, I know it only from recent versions of CyberLink's PowerDVD with Blu-Ray playback on Windows and QuickTime on OS X. – So, I have to ask: Why? What makes XBMC's video playback so damn smooth? Really?
The software feels like it runs full in OpenGL, is that correct? To describe the 'smoothness': Video looks like the ~24 fps were interpolated to my full 60 fps monitor frequency, a bit like HFR. As far as I know, VLC and mplayer only play the real video framerate but don't smoothen it to native monitor frequency. VLC has a hidden option for motion blur to slightly smoothen things out but it comes at cost in, yes, more motion blur. XBMC seems to 'upsampling' the video without loss and renders between-frames. I'm really, really shocked by this goodness!
Scrolling is another part in which XBMC is like a whole other world than any other media player on Linux. It feels like alien technique!
Can someone please explain to me what XBMC's secret is? And is it possible to also use this method in VLC and mplayer with some mad parameters? Thank you!
And to the developers: Thank you for this incredible work!
Reply
#2
Thank you very much! Those are the kind of posts which motivates us Smile

You are right, XBMC's rendering is pure OpenGL / EGL / DX depending on the platform. It leverages hardware accelerated rendering, hence graphics are much faster than going through normal framebuffer.
With the xvba branch you have chosen the only player on Linux capable of using XvBA and interoperation with OpenGL. Unfortunately it is not clear if AMD further supports this technology. They have started to support an OSS driver which uses vdpau, which is good once the driver is feature complete and stable.
XBMC supports many features for video playback, not sure how your setup is. Many users prefer playback of 23.976 material matching refreshrate of the TV. In this case XBMC changes the refresh rate to match the source. In case you play back 24 content on 60Hz, XBMC does not interpolate. It renders the same frame more then once. Personally I think that the less you manipulate the source, the better it is.

XBMC has ever been pure 3D (with regard on hw acceleration OpenGL, DX...). I think it is hard for other players which were developed with traditional GUI to adopt this technology in term of evolution.

Have fun!
Reply

Logout Mark Read Team Forum Stats Members Help
What makes XBMC's video playback SO SMOOTH?0