Announcement

Collapse
No announcement yet.

Current state of video acceleration with gallium radeonsi (Polaris)

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

  • Current state of video acceleration with gallium radeonsi (Polaris)

    Hi there,

    could somebody owning a Polaris card (Radeon 400 series) please paste their output of vainfo and vdpauinfo?
    Is the free stack on par with Windows yet?
    I know https://www.x.org/wiki/RadeonFeature/ lists the hardware capabilities of the hardware blocks, but does the hardware already support those modes?

    AMD advertised the enhanced video capabilities of the Polaris cards at launch. How many of this is usable already on Linux?




    And what about the features they said will come later to Windows, 2-pass encoding and VP9 support?

    Thanks

  • #2
    01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 480] (rev c7)

    Code:
    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    16384 16384  NV12 YV12  
    422    16384 16384  UYVY YUYV  
    444    16384 16384  Y8U8V8A8 V8U8Y8A8  
    
    Decoder capabilities:
    
    name                        level macbs width height
    ----------------------------------------------------
    MPEG1                          --- not supported ---
    MPEG2_SIMPLE                    3 65536  4096  4096
    MPEG2_MAIN                      3 65536  4096  4096
    H264_BASELINE                  52 65536  4096  4096
    H264_MAIN                      52 65536  4096  4096
    H264_HIGH                      52 65536  4096  4096
    VC1_SIMPLE                      1 65536  4096  4096
    VC1_MAIN                        2 65536  4096  4096
    VC1_ADVANCED                    4 65536  4096  4096
    MPEG4_PART2_SP                  3 65536  4096  4096
    MPEG4_PART2_ASP                 5 65536  4096  4096
    DIVX4_QMOBILE                  --- not supported ---
    DIVX4_MOBILE                   --- not supported ---
    DIVX4_HOME_THEATER             --- not supported ---
    DIVX4_HD_1080P                 --- not supported ---
    DIVX5_QMOBILE                  --- not supported ---
    DIVX5_MOBILE                   --- not supported ---
    DIVX5_HOME_THEATER             --- not supported ---
    DIVX5_HD_1080P                 --- not supported ---
    H264_CONSTRAINED_BASELINE      --- not supported ---
    H264_EXTENDED                  --- not supported ---
    H264_PROGRESSIVE_HIGH          --- not supported ---
    H264_CONSTRAINED_HIGH          --- not supported ---
    H264_HIGH_444_PREDICTIVE       --- not supported ---
    HEVC_MAIN                      186 65536  4096  4096
    HEVC_MAIN_10                   186 65536  4096  4096
    HEVC_MAIN_STILL                --- not supported ---
    HEVC_MAIN_12                   --- not supported ---
    HEVC_MAIN_444                  --- not supported ---
    
    Output surface:
    
    name              width height nat types
    ----------------------------------------------------
    B8G8R8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8  
    R8G8B8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8  
    R10G10B10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8  
    B10G10R10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8  
    
    Bitmap surface:
    
    name              width height
    ------------------------------
    B8G8R8A8         16384 16384
    R8G8B8A8         16384 16384
    R10G10B10A2      16384 16384
    B10G10R10A2      16384 16384
    A8               16384 16384
    
    Video mixer:
    
    feature name                    sup
    ------------------------------------
    DEINTERLACE_TEMPORAL             y
    DEINTERLACE_TEMPORAL_SPATIAL     -
    INVERSE_TELECINE                 -
    NOISE_REDUCTION                  y
    SHARPNESS                        y
    LUMA_KEY                         y
    HIGH QUALITY SCALING - L1        y
    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              y        48     4096
    VIDEO_SURFACE_HEIGHT             y        48     4096
    CHROMA_TYPE                      y
    LAYERS                           y         0        4
    
    attribute name                  sup      min      max
    -----------------------------------------------------
    BACKGROUND_COLOR                 y
    CSC_MATRIX                       y
    NOISE_REDUCTION_LEVEL            y      0.00     1.00
    SHARPNESS_LEVEL                  y     -1.00     1.00
    LUMA_KEY_MIN_LUMA                y
    LUMA_KEY_MAX_LUMA                y
    Code:
    libva info: VA-API version 0.39.3
    libva info: va_getDriverName() returns 0
    libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
    libva info: Found init function __vaDriverInit_0_39
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 0.39 (libva 1.7.2)
    vainfo: Driver version: mesa gallium vaapi
    vainfo: Supported profile and entrypoints
         VAProfileMPEG2Simple            : VAEntrypointVLD
         VAProfileMPEG2Main              : VAEntrypointVLD
         VAProfileVC1Simple              : VAEntrypointVLD
         VAProfileVC1Main                : VAEntrypointVLD
         VAProfileVC1Advanced            : VAEntrypointVLD
         VAProfileH264ConstrainedBaseline: VAEntrypointVLD
         VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
         VAProfileH264Main               : VAEntrypointVLD
         VAProfileH264Main               : VAEntrypointEncSlice
         VAProfileH264High               : VAEntrypointVLD
         VAProfileH264High               : VAEntrypointEncSlice
         VAProfileHEVCMain               : VAEntrypointVLD
         VAProfileHEVCMain10             : VAEntrypointVLD
         VAProfileNone                   : VAEntrypointVideoProc
    I have briefly tried to test hevc decoding, I think with a 10 bit video, but it didn't work. By now it might, I'd have to test it again.

    I think the major thing that's missing is software support for hevc encoding.

    Comment


    • #3
      vainfo
      Code:
      ▶ vainfo
      libva info: VA-API version 0.39.3
      libva info: va_getDriverName() returns 0
      libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
      libva info: Found init function __vaDriverInit_0_39
      libva info: va_openDriver() returns 0
      vainfo: VA-API version: 0.39 (libva 1.7.2)
      vainfo: Driver version: mesa gallium vaapi
      vainfo: Supported profile and entrypoints
            VAProfileMPEG2Simple            :    VAEntrypointVLD
            VAProfileMPEG2Main              :    VAEntrypointVLD
            VAProfileVC1Simple              :    VAEntrypointVLD
            VAProfileVC1Main                :    VAEntrypointVLD
            VAProfileVC1Advanced            :    VAEntrypointVLD
            VAProfileH264ConstrainedBaseline:    VAEntrypointVLD
            VAProfileH264ConstrainedBaseline:    VAEntrypointEncSlice
            VAProfileH264Main               :    VAEntrypointVLD
            VAProfileH264Main               :    VAEntrypointEncSlice
            VAProfileH264High               :    VAEntrypointVLD
            VAProfileH264High               :    VAEntrypointEncSlice
            VAProfileHEVCMain               :    VAEntrypointVLD
            VAProfileHEVCMain10             :    VAEntrypointVLD
            VAProfileNone                   :    VAEntrypointVideoProc
      
      ~

      vainfo
      Code:
                                                                                                                                                                                                 
      ▶ vainfo
      libva info: VA-API version 0.39.3
      libva info: va_getDriverName() returns 0
      libva info: Trying to open /usr/lib/dri/radeonsi_drv_video.so
      libva info: Found init function __vaDriverInit_0_39
      libva info: va_openDriver() returns 0
      vainfo: VA-API version: 0.39 (libva 1.7.2)
      vainfo: Driver version: mesa gallium vaapi
      vainfo: Supported profile and entrypoints
            VAProfileMPEG2Simple            :    VAEntrypointVLD
            VAProfileMPEG2Main              :    VAEntrypointVLD
            VAProfileVC1Simple              :    VAEntrypointVLD
            VAProfileVC1Main                :    VAEntrypointVLD
            VAProfileVC1Advanced            :    VAEntrypointVLD
            VAProfileH264ConstrainedBaseline:    VAEntrypointVLD
            VAProfileH264ConstrainedBaseline:    VAEntrypointEncSlice
            VAProfileH264Main               :    VAEntrypointVLD
            VAProfileH264Main               :    VAEntrypointEncSlice
            VAProfileH264High               :    VAEntrypointVLD
            VAProfileH264High               :    VAEntrypointEncSlice
            VAProfileHEVCMain               :    VAEntrypointVLD
            VAProfileHEVCMain10             :    VAEntrypointVLD
            VAProfileNone                   :    VAEntrypointVideoProc

      inxi -Fz (cutted output)
      Code:
      System:    Kernel: 4.9.0-3-MANJARO x86_64 (64 bit) Desktop: Xfce 4.12.3 Distro: Manjaro Linux
      Machine:   Mobo: ASRock model: Z77 Pro3 BIOS: American Megatrends v: P2.10 date: 07/12/2013
      CPU:       Quad core Intel Core i5-3570K (-MCP-) cache: 6144 KB 
                 clock speeds: max: 4400 MHz 1: 1599 MHz 2: 1599 MHz 3: 1600 MHz 4: 1603 MHz
      Graphics:  Card-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller
                 Card-2: Advanced Micro Devices [AMD/ATI] Ellesmere [Radeon RX 480]
                 Display Server: X.Org 1.18.4 driver: amdgpu
                 Resolution: [email protected], [email protected], [email protected]
                 GLX Renderer: Gallium 0.4 on AMD POLARIS10 (DRM 3.8.0 / 4.9.0-3-MANJARO, LLVM 3.9.0)
                 GLX Version: 3.0 Mesa 13.0.0-rc2

      Comment


      • #4
        I'm sorry, ofc the second one should be:

        vdauinfo
        Code:
        ▶ 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    16384 16384  NV12 YV12 
        422    16384 16384  UYVY YUYV 
        444    16384 16384  Y8U8V8A8 V8U8Y8A8 
        
        Decoder capabilities:
        
        name                        level macbs width height
        ----------------------------------------------------
        MPEG1                          --- not supported ---
        MPEG2_SIMPLE                    3 65536  4096  4096
        MPEG2_MAIN                      3 65536  4096  4096
        H264_BASELINE                  52 65536  4096  4096
        H264_MAIN                      52 65536  4096  4096
        H264_HIGH                      52 65536  4096  4096
        VC1_SIMPLE                      1 65536  4096  4096
        VC1_MAIN                        2 65536  4096  4096
        VC1_ADVANCED                    4 65536  4096  4096
        MPEG4_PART2_SP                  3 65536  4096  4096
        MPEG4_PART2_ASP                 5 65536  4096  4096
        DIVX4_QMOBILE                  --- not supported ---
        DIVX4_MOBILE                   --- not supported ---
        DIVX4_HOME_THEATER             --- not supported ---
        DIVX4_HD_1080P                 --- not supported ---
        DIVX5_QMOBILE                  --- not supported ---
        DIVX5_MOBILE                   --- not supported ---
        DIVX5_HOME_THEATER             --- not supported ---
        DIVX5_HD_1080P                 --- not supported ---
        H264_CONSTRAINED_BASELINE      --- not supported ---
        H264_EXTENDED                  --- not supported ---
        H264_PROGRESSIVE_HIGH          --- not supported ---
        H264_CONSTRAINED_HIGH          --- not supported ---
        H264_HIGH_444_PREDICTIVE       --- not supported ---
        HEVC_MAIN                      186 65536  4096  4096
        HEVC_MAIN_10                   186 65536  4096  4096
        HEVC_MAIN_STILL                --- not supported ---
        HEVC_MAIN_12                   --- not supported ---
        HEVC_MAIN_444                  --- not supported ---
        
        Output surface:
        
        name              width height nat types
        ----------------------------------------------------
        B8G8R8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
        R8G8B8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
        R10G10B10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
        B10G10R10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8 A8I8 I8A8 
        
        Bitmap surface:
        
        name              width height
        ------------------------------
        B8G8R8A8         16384 16384
        R8G8B8A8         16384 16384
        R10G10B10A2      16384 16384
        B10G10R10A2      16384 16384
        A8               16384 16384
        
        Video mixer:
        
        feature name                    sup
        ------------------------------------
        DEINTERLACE_TEMPORAL             y
        DEINTERLACE_TEMPORAL_SPATIAL     -
        INVERSE_TELECINE                 -
        NOISE_REDUCTION                  y
        SHARPNESS                        y
        LUMA_KEY                         y
        HIGH QUALITY SCALING - L1        y
        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              y        48     4096
        VIDEO_SURFACE_HEIGHT             y        48     4096
        CHROMA_TYPE                      y  
        LAYERS                           y         0        4
        
        attribute name                  sup      min      max
        -----------------------------------------------------
        BACKGROUND_COLOR                 y  
        CSC_MATRIX                       y  
        NOISE_REDUCTION_LEVEL            y      0.00     1.00
        SHARPNESS_LEVEL                  y     -1.00     1.00
        LUMA_KEY_MIN_LUMA                y  
        LUMA_KEY_MAX_LUMA                y

        Comment


        • #5
          Thanks for the responses!

          Originally posted by haagch View Post
          I have briefly tried to test hevc decoding, I think with a 10 bit video, but it didn't work. By now it might, I'd have to test it again.

          I think the major thing that's missing is software support for hevc encoding.
          Meanwhile I found that:
          Originally posted by lethalwp View Post
          For what i've tested, hardware decoding of hevc in main10 in polaris works like a charm, in vaapi. For that i used ffmpeg-git + this homemade patch: http://ffmpeg.org/pipermail/ffmpeg-d...st/197623.html then use mpv with -hwdec=vaapi and opengl renderer.
          So ffmpeg and mpv might already work actually.

          Also the news I missed before about HEVC main10 and UVD: http://www.phoronix.com/scan.php?pag...VC-Main-10-UVD



          Comment

          Working...
          X