QT multimedia hardware acceleration on Intel



  • Hi,
    we are trying to confirm if hardware acceleration is missing, not enabled, ... on our app stack.

    Our stack is : Ubuntu 16.04, running QT 5.7.0, compiled for GStreamer 1.0, low end Intel CPU, using NVIDIA NVS510 card, and NVIDIA nvidia-367 driver (apt-get install nvidia-367).

    It all runs ok, except high CPU usage.
    According to https://wiki.archlinux.org/index.php/GStreamer, GStreamer 1.0 supports hardware acceleration (VDPAU and VAAPI).
    See vdpauinfo / vainfo command output below.

    Our hope was that by compiling QT5.7.0 for GStreamer 1.0 we will get hardware acceleration. Naive :) ?

    Question: Can / how hardware acceleration be enabled on our spp stack.

    vdpauinfo

    
    display: :0   screen: 0
    API version: 1
    Information string: NVIDIA VDPAU Driver Shared Library  375.26  Thu Dec  8 18:03:32 PST 2016
    
    Video surface:
    
    name   width height types
    -------------------------------------------
    420     4096  4096  NV12 YV12 
    422     4096  4096  UYVY YUYV 
    
    Decoder capabilities:
    
    name                        level macbs width height
    ----------------------------------------------------
    MPEG1                           0 65536  4032  4048
    MPEG2_SIMPLE                    3 65536  4032  4048
    MPEG2_MAIN                      3 65536  4032  4048
    H264_BASELINE                  41 65536  4032  4080
    H264_MAIN                      41 65536  4032  4080
    H264_HIGH                      41 65536  4032  4080
    VC1_SIMPLE                      1  8190  2048  2048
    VC1_MAIN                        2  8190  2048  2048
    VC1_ADVANCED                    4  8190  2048  2048
    MPEG4_PART2_SP                  3  8192  2048  2048
    MPEG4_PART2_ASP                 5  8192  2048  2048
    DIVX4_QMOBILE                   0  8192  2048  2048
    DIVX4_MOBILE                    0  8192  2048  2048
    DIVX4_HOME_THEATER              0  8192  2048  2048
    DIVX4_HD_1080P                  0  8192  2048  2048
    DIVX5_QMOBILE                   0  8192  2048  2048
    DIVX5_MOBILE                    0  8192  2048  2048
    DIVX5_HOME_THEATER              0  8192  2048  2048
    DIVX5_HD_1080P                  0  8192  2048  2048
    H264_CONSTRAINED_BASELINE      41 65536  4032  4080
    H264_EXTENDED                  41 65536  4032  4080
    H264_PROGRESSIVE_HIGH          41 65536  4032  4080
    H264_CONSTRAINED_HIGH          41 65536  4032  4080
    H264_HIGH_444_PREDICTIVE       41 65536  4032  4080
    HEVC_MAIN                      --- not supported ---
    HEVC_MAIN_10                   --- not supported ---
    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  Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8 
    R10G10B10A2      16384 16384    y  Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 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     y
    INVERSE_TELECINE                 y
    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         1     4096
    VIDEO_SURFACE_HEIGHT             y         1     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  
    
    

    vainfo

    vainfo
    libva info: VA-API version 0.39.0
    libva info: va_getDriverName() returns 0
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_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.0)
    vainfo: Driver version: Splitted-Desktop Systems VDPAU backend for VA-API - 0.7.4
    vainfo: Supported profile and entrypoints
          VAProfileMPEG2Simple            :    VAEntrypointVLD
          VAProfileMPEG2Main              :    VAEntrypointVLD
          VAProfileMPEG4Simple            :    VAEntrypointVLD
          VAProfileMPEG4AdvancedSimple    :    VAEntrypointVLD
          VAProfileH264Baseline           :    VAEntrypointVLD
          VAProfileH264Main               :    VAEntrypointVLD
          VAProfileH264High               :    VAEntrypointVLD
          VAProfileVC1Simple              :    VAEntrypointVLD
          VAProfileVC1Main                :    VAEntrypointVLD
          VAProfileVC1Advanced            :    VAEntrypointVLD
    

Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.