Results 1 to 10 of 46

Thread: XBMC Project Implements AMD XvBA Interface

Hybrid View

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

    Default XBMC Project Implements AMD XvBA Interface

    Phoronix: XBMC Project Implements AMD XvBA Interface

    The XBMC multimedia project has implemented AMD's XvBA interface directly for providing video hardware acceleration for Radeon and Fusion graphics processors...

    http://www.phoronix.com/vr.php?view=MTAyODU

  2. #2
    Join Date
    May 2011
    Posts
    1,501

    Default

    I've been confused about the state of hardware-accelerated video decoding for AMD GPUs. Since AMD has been pushing hard to get into the lower-end (e.g., HTPC) market with their APUs, isn't hardware-accelerated video decoding an absolute requirement right out of the box?

  3. #3
    Join Date
    Jan 2007
    Location
    Germany
    Posts
    2,133

    Default

    This is amazing news, exactly what I was waiting for!

    #edit: Just tried this and it works perfect! The few movies that did not work with the VAAPI wrapper work now and performance is great and I hated to install all the stuff for the wrapper! Thanks
    Last edited by d2kx; 12-14-2011 at 06:11 PM.

  4. #4

    Default

    @johnc

    John I totally agree with you. I even take it a step further, if I were AMD I would actively make sure Linux support was top notch. Making sure your product works and works really well on Linux is a great way to advertise it's performance. Just looking at Bulldozer, the numbers aren't great, but they are better on Linux than on Windows. AMD would have the ability to show what their stuff can do faster than having to wait for Windows to optimize for it. Linux people may use free software, but have no problem paying for low cost quality hardware like AMD generally puts out.

    Obviously, the Windows market is huge and too big to turn away from, but using Linux to show off your stuff, especially when it makes your stuff look good, or at least better, seems like a no brainer.

    Finally, I say this all understanding the cost of having Linux developers etc., but it just seems like such an untapped resource for AMD.

  5. #5

    Default

    I already test this XBMC build on AMD E-350 with Catalyst 11.12. For me it work at least not worse than with VA-API.

  6. #6
    Join Date
    Oct 2009
    Posts
    15

    Default Working well on Radeon 4200 mobile (with a new patch)

    I tried the old way Xvba/Va in the past and it just didn't work well enough.

    I built the new XbmcXvba and I'm quite pleased with how it's performing. I had a crash when I was toggling between fullscreen and window mode so I looked at the xbmc error log, and then the source code. I made a tweek to FFGetBuffer and the errors disappeared.

    These are the signs of the problem:

    23:24:48 T:139815462737664 DEBUG: XVBA::FFReleaseBuffer - ignoring invalid buffer

    This seems to fix it.

    Code:
    --- ./xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp.orig	2011-12-14 23:05:22.935781205 -0700
    +++ ./xbmc/cores/dvdplayer/DVDCodecs/Video/XVBA.cpp	2011-12-15 00:16:50.562906967 -0700
    @@ -900,6 +900,16 @@ int CDecoder::FFGetBuffer(AVCodecContext
       CDecoder*             xvba  = (CDecoder*)ctx->GetHardware();
       struct pictureAge*    pA    = &xvba->picAge;
     
    +  pic->data[0] =
    +  pic->data[1] =
    +  pic->data[2] =
    +  pic->data[3] = 0;
    +
    +  pic->linesize[0] =
    +  pic->linesize[1] =
    +  pic->linesize[2] =
    +  pic->linesize[3] = 0;
    +
       CSharedLock lock(xvba->m_decoderSection);
     
       { CSharedLock dLock(xvba->m_displaySection);
    @@ -961,14 +971,6 @@ int CDecoder::FFGetBuffer(AVCodecContext
         return -1;
     
       pic->data[0] = (uint8_t*)render;
    -  pic->data[1] =
    -  pic->data[2] =
    -  pic->data[3] = 0;
    -
    -  pic->linesize[0] =
    -  pic->linesize[1] =
    -  pic->linesize[2] =
    -  pic->linesize[3] = 0;
     
       if(pic->reference)
       {

Tags for this Thread

Posting Permissions

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