Announcement

Collapse
No announcement yet.

Mesa Gallium3D Pipe-Video Has Landed

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

  • #21
    Originally posted by smitty3268 View Post
    Is there a blog post or wiki page anywhere that goes over the current status of this?

    As in, which codecs does it support? What are the limitations? Does it provide full h.264L5 support? h.263? Does it fall back to using the CPU in certain cases? What kind of performance does it provide?

    This might be a good topic for Phoronix to handle, but it's a fairly large subject so it might be too much for Michael.
    Looking at the the recent comit work is being done on the several types of videos

    http://cgit.freedesktop.org/mesa/mes...a916b080396141

    Comment


    • #22
      Originally posted by Viper_Scull View Post
      Same here. Compiled without egl, gallium_egl, openvg and glut support.

      Code:
      LD_LIBRARY_PATH=/usr/lib/vdpau VDPAU_DRIVER=r600 vdpauinfo
      display: :0.0   screen: 0
      Failed to open VDPAU backend /usr/lib/vdpau/libvdpau_r600.so: undefined symbol: drmIoctl
      Error creating VDPAU device: 1
      And mplayer crashes
      It seems libvdpau_r600.so doesn't link against libdrm.so.2 where drmIoctl is defined.

      Comment


      • #23
        With my radeon x1100(r300) mplayer vdpau works, but useless because artifacts, -vo xvmc shows blank screen.

        Comment


        • #24
          Originally posted by phoronix View Post
          Phoronix: Mesa Gallium3D Pipe-Video Has Landed

          As expected, Christian König has pushed the Gallium3D pipe-video work into the mainline Mesa repository, which will be one of the big features to be introduced in Mesa 7.12/8.0 release, not the forthcoming Mesa 7.11...

          http://www.phoronix.com/vr.php?view=OTY2OQ
          Can this shader-based approach be used with other drivers, like Nouveau or Intel?

          Comment


          • #25
            Is not an new DDX version required?

            Comment


            • #26
              Originally posted by ChrisXY View Post
              Autogenerated configure scripts and makefiles are all fun and stuff, but only when it works.
              Code:
              make[3]: *** No rule to make target `../../../../src/gallium/drivers/softpipe/libsoftpipe.a', needed by `../../../../lib/egl/egl_gallium.so'.  Stop.
              workaround:
              Code:
              From 0413c730e69f3d921f1aaa8834d7cc340f19f6de Mon Sep 17 00:00:00 2001
              From: Tobias Droste <tdroste@gmx.de>
              Date: Thu, 14 Jul 2011 21:16:55 +0200
              Subject: [PATCH] autoconf: fix build of r300g/r600g and nouveaug/nvfxg/nv50g/nvc0g
              
              egl_gallium needs softpipe and llvmpipe driver
              
              Signed-off-by: Tobias Droste <tdroste@gmx.de>
              ---
               configure.ac |   15 ++++++++++++---
               1 files changed, 12 insertions(+), 3 deletions(-)
              
              diff --git a/configure.ac b/configure.ac
              index c186240..afd51f0 100644
              --- a/configure.ac
              +++ b/configure.ac
              @@ -1924,16 +1924,25 @@ if test "x$with_gallium_drivers" != x; then
                           ;;
                       xr300)
                           gallium_require_llvm "Gallium R300"
              -            GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300"
              +            GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r300 softpipe"
                           gallium_check_st "radeon/drm" "dri-r300" "xorg-r300" "" "xvmc-r300" "vdpau-r300" "va-r300"
              +           if test "x$MESA_LLVM" = x1; then
              +               GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
              +           fi
                           ;;
                       xr600)
              -            GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600"
              +            GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS r600 softpipe"
                           gallium_check_st "r600/drm" "dri-r600" "" "" "xvmc-r600" "vdpau-r600" "va-r600"
              +            if test "x$MESA_LLVM" = x1; then
              +                GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
              +            fi
                           ;;
                       xnouveau)
              -            GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0"
              +            GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS nouveau nvfx nv50 nvc0 softpipe"
                           gallium_check_st "nouveau/drm" "dri-nouveau" "xorg-nouveau" "" "xvmc-nouveau"
              +            if test "x$MESA_LLVM" = x1; then
              +                GALLIUM_DRIVERS_DIRS="$GALLIUM_DRIVERS_DIRS llvmpipe"
              +            fi
                           ;;
                       xswrast)
                           if test "x$HAVE_ST_DRI" = xyes; then
              -- 
              1.7.3.4
              a real solution would be to check why egl_gallium needs softpipe/llvmpipe

              Comment


              • #27
                For those with complaints to missing symbols adding -ldrm to src/gallium/targets/vdpau-r600/Makefile made it work for me

                Comment


                • #28
                  I now get

                  Code:
                  LD_LIBRARY_PATH=/usr/lib/vdpau VDPAU_DRIVER=r600 vdpauinfo
                  display: :0   screen: 0
                  API version: 1
                  Information string: G3DVL VDPAU Driver Shared Library version 1.0
                  
                  Video surface:
                  
                  name   width height types
                  -------------------------------------------
                  420     8192  8192  NV12 YV12 
                  
                  Decoder capabilities:
                  
                  name               level macbs width height
                  -------------------------------------------
                  MPEG1                16 262144  8192  8192
                  MPEG2_SIMPLE         16 262144  8192  8192
                  MPEG2_MAIN           16 262144  8192  8192
                  
                  Output surface:
                  
                  name              width height nat types
                  ----------------------------------------------------
                  
                  Bitmap surface:
                  
                  name              width height
                  ------------------------------
                  
                  Video mixer:
                  
                  feature name                    sup
                  ------------------------------------
                  DEINTERLACE_TEMPORAL             -
                  DEINTERLACE_TEMPORAL_SPATIAL     -
                  INVERSE_TELECINE                 -
                  NOISE_REDUCTION                  -
                  SHARPNESS                        -
                  LUMA_KEY                         -
                  HIGH QUALITY SCALING - L1        -
                  HIGH QUALITY SCALING - L2        -
                  HIGH QUALITY SCALING - L3        -
                  HIGH QUALITY SCALING - L4        -
                  HIGH QUALITY SCALING - L5        -
                  HIGH QUALITY SCALING - L6        -
                  HIGH QUALITY SCALING - L7        -
                  HIGH QUALITY SCALING - L8        -
                  HIGH QUALITY SCALING - L9        -
                  
                  parameter name                  sup      min      max
                  -----------------------------------------------------
                  VIDEO_SURFACE_WIDTH              -  
                  VIDEO_SURFACE_HEIGHT             -  
                  CHROMA_TYPE                      -  
                  LAYERS                           -  
                  
                  attribute name                  sup      min      max
                  -----------------------------------------------------
                  BACKGROUND_COLOR                 -  
                  CSC_MATRIX                       -  
                  NOISE_REDUCTION_LEVEL            -  
                  SHARPNESS_LEVEL                  -  
                  LUMA_KEY_MIN_LUMA                -  
                  LUMA_KEY_MAX_LUMA                -

                  Comment


                  • #29
                    Originally posted by orzel View Post
                    The x11 overlay contains a 'live' ebuild media-libs/mesa-9999, but it doesn't (yet?) set the proper flags. You need to add
                    myconf+="--enable-xvmc --enable-vdpau"
                    just before the econf line
                    (then, don't forget to update the manifest using 'repoman manifest').

                    With those settings i now have some new files installed on my r600 system:
                    /usr/lib64/libXvMCr600.so*
                    /usr/lib64/libXvMCsoftpipe.so*
                    /usr/lib64/vdpau/libvdpau_r600.so*
                    /usr/lib64/vdpau/libvdpau_softpipe.so*

                    As said previously, you need to set the env var VDPAU_DRIVER to your card (here : 'r600').
                    vdpauinfo and mplayer wont see the vdpau stuff until i also set
                    LD_LIBRARY_PATH=/usr/lib64/vdpau

                    With all of this, i have the following results
                    • vdpauinfo fails with "Failed to open VDPAU backend libvdpau_r600.so: cannot open shared object file: No such file or directory"
                    • mplayer -vo vdpau manages to display the video, but it has lot of problems, such as printing "[vdpau] Error when calling vdp_output_surface_put_bits_indexed: No backend implementation could be loaded.", having a green line at the bottom of the video, and using as much CPU as usual. So i guess it's a failure too, but i wonder about the green line.. ?
                    • using mplayer -vo xvmc fails with "vo_xvmc: No X-Video MotionCompensation Extension on :0"
                    Thanks, this is great for us Gentoo users. I'll check it out next time I have the chance!

                    On another note: 19 000 lines of code!?!? That's insane.

                    Comment


                    • #30
                      Originally posted by droste View Post
                      workaround:
                      Code:
                      From 0413c730e69f3d921f1aaa8834d7cc340f19f6de
                      a real solution would be to check why egl_gallium needs softpipe/llvmpipe
                      Oh, thanks. Maybe I will try it. But according to the git log there are already people working on the makefiles so I think I can wait a few more days. Judging from the comments here it isn't working too well yet anyway.

                      Comment

                      Working...
                      X