Wohoo! XBMC is truly the greatest media center application ever![]()
Phoronix: XBMC Gets Working Intel VA-API Support
The popular open-source XBMC media player has had VDPAU support for more than a year now to offload some of the video decoding work during the playback process onto the GPU (primarily NVIDIA GPUs) using this robust Linux/Unix graphics API. However, for graphics hardware / drivers that do not implement NVIDIA's Video Decode and Presentation API for Unix, the XBMC mainline code-base now has working support for VA-API...
http://www.phoronix.com/vr.php?view=ODEyNw
Wohoo! XBMC is truly the greatest media center application ever![]()
That's cool, on a similar note, I hope somebody applies for the GSoC project to add VA-API support to GStreamer:
http://blogs.gnome.org/edwardrv/2010...e-your-summer/
Well after asking gb and in the #xbmc-linux channel on freenode i got it compiled (needed newer libboost 1.35 too), but it just crashes. used:
i really want to see it working...Code:--- xbmc/configure.in 2010-04-06 22:13:42.000000000 +0200 +++ xbmc.fix/configure.in 2010-04-06 23:58:13.387819233 +0200 @@ -690,6 +690,7 @@ else if test "$use_vaapi" = "yes"; then AC_CHECK_LIB([va], main,, use_vaapi=no;AC_MSG_RESULT($vaapi_not_found)) + AC_CHECK_LIB([va-glx], main,, use_vaapi=no;AC_MSG_RESULT($vaapi_not_found)) else AC_MSG_NOTICE($vaapi_disabled) fi
Well in order to test it do not use vdpau-video 0.6.7, the older 0.6.6 worked, but only fullscreen.
I think GStreamer is under LGPL so that means they could add closed bits in, IIRC. However, I don't know if that is what they've done here, and simply pushed their work out to the paying customers first.
Best/Liam
So tested it on 64 bit now, the patch above is not needed anymore. But the code needs a 64 bit hotfix:
I could not get vc1 working with it yet. h264 works with vdpau-video 0.6.6, with xvba-video 0.6.10 it did not work at all, just like vdpau-video 0.6.7 -> crash.Code:--- xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp.orig 2010-04-07 03:33:14.423226904 +0200 +++ xbmc/cores/dvdplayer/DVDCodecs/Video/VAAPI.cpp 2010-04-07 03:48:06.230725559 +0200 @@ -97,7 +97,7 @@ void CDecoder::RelBuffer(AVCodecContext *avctx, AVFrame *pic) { - VASurfaceID surface = (VASurfaceID)pic->data[3]; + VASurfaceID surface = (VASurfaceID)(uintptr_t)pic->data[3]; for(std::list<VASurfaceID>::iterator it = m_surfaces_used.begin(); it != m_surfaces_used.end(); it++) { @@ -116,7 +116,7 @@ int CDecoder::GetBuffer(AVCodecContext *avctx, AVFrame *pic) { - VASurfaceID surface = (VASurfaceID)pic->data[3]; + VASurfaceID surface = (VASurfaceID)(uintptr_t)pic->data[3]; if(surface) { /* reget call */ @@ -298,7 +298,7 @@ { picture->format = DVDVideoPicture::FMT_VAAPI; picture->vaapi_object = this; - picture->vaapi_surface = (unsigned int)frame->data[3]; + picture->vaapi_surface = (uintptr_t)frame->data[3]; return true; }
It works, it works!!!
Ubuntu 9.10+HD4670+XvBA0.6.10+OGL4preview drivers
i register only to say that![]()
It works, it works!!!
Ubuntu 9.10+HD4670+XvBA0.6.10+OGL4preview drivers
i register only to say that![]()