Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: XBMC Gets Working Intel VA-API Support

  1. #1
    Join Date
    Jan 2007
    Posts
    14,611

    Default XBMC Gets Working Intel VA-API Support

    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

  2. #2
    Join Date
    Jun 2006
    Location
    Portugal
    Posts
    525

    Default

    Wohoo! XBMC is truly the greatest media center application ever

  3. #3
    Join Date
    Oct 2008
    Location
    Sweden
    Posts
    983

    Default

    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/

  4. #4
    Join Date
    Aug 2007
    Posts
    6,613

    Default

    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:
    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
    i really want to see it working...

  5. #5
    Join Date
    Aug 2007
    Posts
    6,613

    Default

    Well in order to test it do not use vdpau-video 0.6.7, the older 0.6.6 worked, but only fullscreen.

  6. #6
    Join Date
    Jan 2009
    Posts
    1,353

    Default Any chance Fluendo pushes those accelerated bits into the free versions?

    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

  7. #7
    Join Date
    Aug 2007
    Posts
    6,613

    Default

    So tested it on 64 bit now, the patch above is not needed anymore. But the code needs a 64 bit hotfix:
    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;
     }
    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.

  8. #8
    Join Date
    Dec 2009
    Posts
    18

    Default

    Quote Originally Posted by liam View Post
    I think GStreamer is under LGPL so that means they could add closed bits in, IIRC.
    Well you recall wrong. LGPL means that the library MUST stay open source.
    So, GStreamer cna be used in proprietary projects, and proprietary plugins can be written, but the library code is copyleft and must stay LGPL.

  9. #9

    Default

    It works, it works!!!





    Ubuntu 9.10+HD4670+XvBA0.6.10+OGL4preview drivers

    i register only to say that

  10. #10

    Default

    It works, it works!!!





    Ubuntu 9.10+HD4670+XvBA0.6.10+OGL4preview drivers

    i register only to say that

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •