Page 1 of 5 123 ... LastLast
Results 1 to 10 of 46

Thread: XBMC Project Implements AMD XvBA Interface

  1. #1
    Join Date
    Jan 2007
    Posts
    13,407

    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,295

    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,091

    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
    11

    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)
       {

  7. #7
    Join Date
    Feb 2011
    Posts
    124

    Default

    Thx for your effort in improving xvba support.
    I forwared this patch to "upstream".

    If you have a git account you could also send a pull request if you want!

    Thanks again

    Edit: Upstream is here: https://github.com/FernetMenta/xbmc/commits/xvba
    Last edited by fritsch; 12-15-2011 at 03:12 AM.

  8. #8
    Join Date
    Feb 2010
    Posts
    519

    Default

    Very nice!
    @fritsch: have you been in contatc with the maintainer of XvBA Tools on Sourceforge (http://sourceforge.net/projects/xvbat/) about the issues you've had? He seems like the most public figure at AMD for XvBA-related stuff.

  9. #9
    Join Date
    Feb 2011
    Posts
    124

    Default

    We looked a bit through xvba tools code. But they are using another base, no ffmpeg framework, so mapping, etc. could not be learned of.
    It was hard to compare.

    Gwens xvba-va-driver code was really helpful at some points.

    For mail, we had an internal contact.

  10. #10
    Join Date
    Aug 2010
    Posts
    48

    Default Uvd/uvd+ ?

    Does this also work with the original UVD/UVD+? Or do you need at least UVD2?

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
  •