Announcement

Collapse
No announcement yet.

Mesa Gallium3D Pipe-Video Has Landed

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

  • #31
    VDPAU and r300 - over the first hurdle

    Once I managed to get the libraries to link correctly:

    Code:
    VDPAU_DRIVER=r300 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     2048  2048  NV12 YV12 
    
    Decoder capabilities:
    
    name               level macbs width height
    -------------------------------------------
    MPEG1                16 16384  2048  2048
    MPEG2_SIMPLE         16 16384  2048  2048
    MPEG2_MAIN           16 16384  2048  2048
    
    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                -
    This is with my RV350; the video playback is recognisable but not quite right yet.
    Last edited by chrisr; 07-14-2011, 07:36 PM.

    Comment


    • #32
      The bug about not linking r300/r600 targets with libdrm should be fixed by now, please try again.

      Originally posted by Nille View Post
      Is not an new DDX version required?
      Yes, for the XvMC support you need a new DDX (xf86-video-ati).

      Christian.

      Comment


      • #33
        Originally posted by Deathsimple View Post
        The bug about not linking r300/r600 targets with libdrm should be fixed by now, please try again.


        Yes, for the XvMC support you need a new DDX (xf86-video-ati).

        Christian.
        Indeed it is.

        Code:
        VDPAU_DRIVER=r600 vdpauinfo
        display: :0.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                -
        mplayer keeps crashing here though.

        Code:
        VO: [vdpau] 624x352 => 624x352 Planar YV12 
        [vdpau] Error when calling vdp_presentation_queue_get_time: No backend implementation could be loaded.
        FATAL: Cannot initialize video driver.

        Comment


        • #34
          Originally posted by Azpegath View Post
          Thanks, this is great for us Gentoo users. I'll check it out next time I have the chance!
          It's already in the x11 overlay mesa ebuild!
          ## VGA ##
          AMD: X1950XTX, HD3870, HD5870
          Intel: GMA45, HD3000 (Core i5 2500K)

          Comment


          • #35
            Originally posted by darkbasic View Post
            It's already in the x11 overlay mesa ebuild!
            What exactly does the "g3dvl" USE flag do? I see it's independent of the "vdpau", "vaapi" and "xvmc" flags. The description says:

            "Enable video decode acceleration support for Gallium3D."

            But what exactly does that mean, since it seems I can enable vdpau/vaapi/xvmc without it?

            Comment


            • #36
              Originally posted by RealNC View Post
              What exactly does the "g3dvl" USE flag do? I see it's independent of the "vdpau", "vaapi" and "xvmc" flags. The description says:

              "Enable video decode acceleration support for Gallium3D."

              But what exactly does that mean, since it seems I can enable vdpau/vaapi/xvmc without it?
              When you enable vdpau/vaapi/xvmc independly configure will fail if any of the needed development packages aren't found.

              If you just specify "--enable-galium-g3dvl" it looks for the development packages and enables only those installed on the system.

              Christian.

              Comment


              • #37
                It 'works' for me with the following observations.

                - There are artifacts in the picture
                - CPU usage is quite a bit lower compared to -vo xv and -vo gl
                - Playback is slower compared to -vo xv (a 50 sec clip takes a little over a minute with -vo vdpau)

                Tested with 720p mpeg2 clip on 780G IGP.

                So looks like the GPU is the bottleneck here. I wonder if this can be fixed in code, perhaps IGP has not enough shader processing power to decode HD content, period...
                Last edited by monraaf; 07-15-2011, 11:14 AM.

                Comment


                • #38
                  Originally posted by Deathsimple View Post
                  When you enable vdpau/vaapi/xvmc independly configure will fail if any of the needed development packages aren't found.

                  If you just specify "--enable-galium-g3dvl" it looks for the development packages and enables only those installed on the system.

                  Christian.
                  Thanks. It looks like this is a bad idea to have it in Gentoo as a USE flag, since "automagic" deps are pretty evil in source-based distros.

                  Comment


                  • #39
                    Originally posted by monraaf View Post
                    So looks like the GPU is the bottleneck here. I wonder if this can be fixed in code, perhaps IGP has not enough shader processing power to decode HD content, period...
                    Don't be so quick in conclusions. I am sure FOSS vdpau will get some optimizations + r600g doesn't have optimizing shader compiler, yet. Once we get there, you can draw your conclusions.
                    Period

                    Comment


                    • #40
                      Originally posted by monraaf View Post
                      - There are artifacts in the picture
                      Could you please post a picture of the artifacts?
                      And which mpeg you are trying to play?

                      Originally posted by monraaf View Post
                      - Playback is slower compared to -vo xv (a 50 sec clip takes a little over a minute with -vo vdpau)

                      Tested with 720p mpeg2 clip on 780G IGP.

                      So looks like the GPU is the bottleneck here. I wonder if this can be fixed in code, perhaps IGP has not enough shader processing power to decode HD content, period...
                      Try this: export R600_TILING=1

                      Without tilling my R710 can play a 1080p roughly over 37fps, with tilling it beats the 50fps mark.

                      Comment


                      • #41
                        Christian, are you continue your work with H.264 decoder?
                        Also in this commit ot master you have a typo: 8619aa5683eb16c12a1b2eaeab2378855791ec8c

                        #PKG_CHECK_EXISTS([libva], [enable_vdpau=yes], [enable_vdpau=no])

                        should read

                        #PKG_CHECK_EXISTS([libva], [enable_va=yes], [enable_va=no])
                        Last edited by Drago; 07-15-2011, 12:28 PM.

                        Comment


                        • #42
                          I wanted to try this VDPAU thing, but I don't seem to have even a single MPEG1 or MPEG2 video here, lol. Everything these days is something MPEG4-based. Which is probably why I get this error:

                          Code:
                          Starting playback...
                          A:   0.0 V:   0.0 A-V:  0.000 ct:  0.000   0/  0 ??% ??% ??,?% 0 0 
                          Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
                          VO: [vdpau] 640x480 => 640x480 Planar YV12 
                          [vdpau] Error when calling vdp_presentation_queue_get_time: No backend implementation could be loaded.
                          FATAL: Cannot initialize video driver.

                          Comment


                          • #43
                            Originally posted by RealNC View Post
                            I wanted to try this VDPAU thing, but I don't seem to have even a single MPEG1 or MPEG2 video here, lol. Everything these days is something MPEG4-based. Which is probably why I get this error:
                            Try a DVD?

                            Originally posted by RealNC View Post
                            Code:
                            Starting playback...
                            A:   0.0 V:   0.0 A-V:  0.000 ct:  0.000   0/  0 ??% ??% ??,?% 0 0 
                            Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
                            VO: [vdpau] 640x480 => 640x480 Planar YV12 
                            [vdpau] Error when calling vdp_presentation_queue_get_time: No backend implementation could be loaded.
                            FATAL: Cannot initialize video driver.
                            Seems to be an mplayer2 problem:
                            https://bugs.freedesktop.org/show_bug.cgi?id=39222#c12

                            Comment


                            • #44
                              Originally posted by whizse View Post
                              Try a DVD?
                              If I had one...


                              Well, doesn't look like a "problem", since that function is part of the VDPAU API:

                              http://http.download.nvidia.com/XFre...ion_queue.html

                              Comment


                              • #45
                                Originally posted by Deathsimple View Post
                                Could you please post a picture of the artifacts?
                                And which mpeg you are trying to play?
                                It happens with any mpeg I throw at it. The picture with artifacts below is from the following mpeg:

                                http://samples.mplayerhq.hu/MPEG2/dvd.mpeg



                                Try this: export R600_TILING=1

                                Without tilling my R710 can play a 1080p roughly over 37fps, with tilling it beats the 50fps mark.
                                I'll probably try experimenting a bit with this over the weekend. Not much time right now.

                                Comment

                                Working...
                                X