Announcement

Collapse
No announcement yet.

AMD's UVD2-based XvBA Finally Does Something On Linux

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #61
    Originally posted by Kano View Post
    b) h264 l5.1 usually fails
    Try to play with the extra "dm" option. e.g. -vo vaapi:dm=0 or 1 (whatever works) as a workaround. Something probably regressed.

    xvba-video has got some extra drawbacks:

    a) No OSD/subtitle support at all.
    Well, not in a version you can use yet. ;-)

    b) mpeg2 is not fully supported, which is really bad as you still have to use only for that content type direct gl outout - on nvidia you can use vaapi for at least 3 content types, in theory with the dx10.1 cards even 4.
    It's not an XvBA limitation but a limitation of the underlying HW. The API won't magically implement something if the underlying HW doesn't support it.

    Comment


    • #62
      As xvba-video is a wrapper it could contain software to implement missing parts.

      Comment


      • #63
        Originally posted by bridgman View Post
        R600 doesn't have UVD. It was a pretty big chip already and it had enough shader power and bandwidth to do a fair amount of decode acceleration on the shaders.
        Then I'm confused... according to this: http://www.amd.com/us/products/deskt...00-series.aspx
        HD3xxx series *does* have UVD. RHD-2xxx even.

        Or is it just fake-UVD ala shaders (aka the gallium3d plan)?
        If it is just fake-UVD, then why the distinction between R3100 (780V chipset) and RHD3200 (780G chipset)? 3100 just not strong enough? Or is it a question of being disabled in the drivers?

        Comment


        • #64
          Originally posted by Kano View Post
          As xvba-video is a wrapper it could contain software to implement missing parts.
          You will be duplicating code or producing inefficient code. The better thing is to support IDCT level acceleration. That's all, but not something I want to do now. That would be fine if you only had to maintain a single driver, not if you had several drivers that would need the same treatment.

          Comment


          • #65
            Originally posted by droidhacker View Post
            Then I'm confused... according to this: http://www.amd.com/us/products/deskt...00-series.aspx
            HD3xxx series *does* have UVD. RHD-2xxx even.

            Or is it just fake-UVD ala shaders (aka the gallium3d plan)?
            If it is just fake-UVD, then why the distinction between R3100 (780V chipset) and RHD3200 (780G chipset)? 3100 just not strong enough? Or is it a question of being disabled in the drivers?
            I don't understand your question. I'm talking about the R600 (aka HD2900) but you linked to the HD3000 Series page (ie different chips).

            The R600 did not have UVD. The RV610/HD2400, RV630/HD2600, RV620/HD34xx, RV635/HD36xx and RV670/HD38xx all had the UVD1 block. 780G and RV7xx parts have UVD2-family decoder blocks.

            The primary difference between 780G and 780V is that the 780G has UVD while the 780V does not -- the 780V is aimed at business systems where efficient video playback is a drawback, not a benefit
            Last edited by bridgman; 11-03-2009, 03:56 PM.

            Comment


            • #66
              @gbeauche

              It does not interest me how it is implemented as long as it works. I tested that dm=0 override, it really helped on nvidia, then tested it with my HD 4550 card and guess what, full system crash. Also it is not really acceptable that only you can use OSD, that has to work for everybody.

              Comment


              • #67
                Originally posted by bridgman View Post
                I don't understand your question. I'm talking about the R600 (aka HD2900) but you linked to the HD3000 Series page (ie different chips).
                I think he was the same way confused, as I was.

                I often use r600 as a placeholder for all r6xx chips. So I was thinking of the whole family of chips when you spoke about r600, not that chip specially.

                So there is only the question if UVD will also be supported by XvBA.

                Comment


                • #68
                  Originally posted by PuckPoltergeist View Post
                  I think he was the same way confused, as I was.

                  I often use r600 as a placeholder for all r6xx chips. So I was thinking of the whole family of chips when you spoke about r600, not that chip specially.

                  So there is only the question if UVD will also be supported by XvBA.
                  You would get an answer by trying yourself. If it works, that'd be a good thing for you, but if it doesn't, don't bug anyone since only UVD2 is said to be supported. Simply install the packages and run `vainfo'. If it doesn't report anything, sorry, no luck.

                  Comment


                  • #69
                    vainfo

                    shows the same output on r600, tested with a HD 3450 card. Just mplayer crashes everytime.

                    Comment


                    • #70
                      Originally posted by gbeauche View Post
                      You would get an answer by trying yourself. If it works, that'd be a good thing for you, but if it doesn't, don't bug anyone since only UVD2 is said to be supported. Simply install the packages and run `vainfo'. If it doesn't report anything, sorry, no luck.
                      That's a test for now. I think somethink like:

                      libXvBA checks for UVD2 -> UVD2 not detected -> acceleration disabled

                      something that could be changed in later versions.

                      But for now I have to get my gentoo to be aware of va-api.
                      Last edited by PuckPoltergeist; 11-03-2009, 04:40 PM.

                      Comment


                      • #71
                        Originally posted by Kano View Post
                        vainfo

                        shows the same output on r600, tested with a HD 3450 card. Just mplayer crashes everytime.
                        Interesting. What about a hwdecode-demos' vaapi_h264 --glx? (double dash)
                        http://splitted-desktop.com/~gbeauch...wdecode-demos/

                        You could probably gdb + "bt" that one and check where it approximately crashes? You won't get much debuginfo though.

                        Comment


                        • #72
                          Originally posted by PuckPoltergeist View Post
                          But for now I have to get my gentoo to be aware of va-api.
                          Seems that this get a little more complicated than I thought:
                          make all-recursive
                          make[1]: Entering directory `/home/puck/Develop/video/libva-0.31.0'
                          Making all in src
                          make[2]: Entering directory `/home/puck/Develop/video/libva-0.31.0/src'
                          Making all in x11
                          make[3]: Entering directory `/home/puck/Develop/video/libva-0.31.0/src/x11'
                          /bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../.. -DLINUX -DIN_LIBVA -I../../src -I/usr/include/drm -g -O2 -MT va_x11.lo -MD -MP -MF .deps/va_x11.Tpo -c -o va_x11.lo va_x11.c
                          ../../libtool: line 827: X--tag=CC: command not found
                          ../../libtool: line 860: libtool: ignoring unknown tag : command not found
                          ../../libtool: line 827: X--mode=compile: command not found
                          ../../libtool: line 994: *** Warning: inferring the mode of operation is deprecated.: command not found
                          ../../libtool: line 995: *** Future versions of Libtool will require --mode=MODE be specified.: command not found
                          ../../libtool: line 1138: Xgcc: command not found
                          ../../libtool: line 1138: X-DHAVE_CONFIG_H: command not found
                          ../../libtool: line 1138: X-I.: command not found
                          ../../libtool: line 1138: X-I../..: No such file or directory
                          ../../libtool: line 1138: X-DLINUX: command not found
                          ../../libtool: line 1138: X-DIN_LIBVA: command not found
                          ../../libtool: line 1138: X-I../../src: No such file or directory
                          ../../libtool: line 1138: X-I/usr/include/drm: No such file or directory
                          ../../libtool: line 1138: X-g: command not found
                          ../../libtool: line 1138: X-O2: command not found
                          ../../libtool: line 1138: X-MT: command not found
                          ../../libtool: line 1138: Xva_x11.lo: command not found
                          ../../libtool: line 1138: X-MD: command not found
                          ../../libtool: line 1138: X-MP: command not found
                          ../../libtool: line 1138: X-MF: command not found
                          ../../libtool: line 1138: X.deps/va_x11.Tpo: No such file or directory
                          ../../libtool: line 1138: X-c: command not found
                          ../../libtool: line 1191: Xva_x11.lo: command not found
                          ../../libtool: line 1196: libtool: compile: cannot determine name of library object from `': command not found
                          make[3]: *** [va_x11.lo] Error 1
                          make[3]: Leaving directory `/home/puck/Develop/video/libva-0.31.0/src/x11'
                          make[2]: *** [all-recursive] Error 1
                          make[2]: Leaving directory `/home/puck/Develop/video/libva-0.31.0/src'
                          make[1]: *** [all-recursive] Error 1
                          make[1]: Leaving directory `/home/puck/Develop/video/libva-0.31.0'
                          make: *** [all] Error 2

                          Comment


                          • #73
                            @gbeauche

                            I do not like to install patched ffmpeg globally and it does not seem to contain a script that fetches the needed parts from svn. Maybe next week with a test hd.

                            Comment


                            • #74
                              Meh. I'd prefer worthwhile hardware accel of regular DVDs, non-next-gen codecs (plain ol' mpeg, avi, etc.), and Flash.

                              Neither AMD's Catalyst nor git checkouts of the open-source driver stack can deliver tear- and stutter-free playback of even these simple video formats. Especially not fullscreen.

                              I've never used H.264 or VC-1, and I can't imagine I ever will. But I do use the other formats daily -- that's where I'd like to see some improvement. I hope this limited XvBA release is a step in that direction.

                              Comment


                              • #75
                                vaapi:gl is not tearfree with opengl output until you enable vsync for opengl in amdcccle, same for standard gl output. xv is mainly tearfree with radeon oss driver however but not using fglrx.

                                Comment

                                Working...
                                X