You are not logged in.

#1 2019-06-15 17:54:11

afader
Member
Registered: 2013-09-12
Posts: 207

Chromium-vaapi, libva-vdpau-driver-chromium accelerated video nvidia

Have the following packages installed and nvidia GTX 970 card. Used to get MojoVideo or GpuVideo in chrome for youtube. As of chromium-vaapi 75 I get FFmpegVideo. FFmpeg accel works if it uses system ffmpeg which I have compiled with nvenc/nvdec but chromium's uses CPU. Can I install an old version of chromium-vaapi so it uses vaapi/vdpau/nvidia again or can I somehow make chromium use system ffmpeg. Right now I can get hardware accel video using play-with-mpv but it's not ideal.

lib32-nvidia-cg-toolkit 3.1-7
lib32-nvidia-utils-beta 430.26-1
lib32-opencl-nvidia-beta 430.26-1
nvidia-beta-dkms 430.26-1
nvidia-cg-toolkit 3.1-5
nvidia-sdk 9.0.20-1
nvidia-settings-beta 430.26-1
nvidia-utils-beta 430.26-1
opencl-nvidia-beta 430.26-1

lib32-libva 2.4.0-1
lib32-libva-vdpau-driver 0.7.4-6
lib32-libva1 1.8.3-3
libva 2.4.1-1
libva-utils 2.4.1-1
libva-vdpau-driver-chromium 0.7.4-4
libva1 1.8.3-2

Vainfo

vainfo: VA-API version: 1.4 (libva 2.4.1)
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
      <unknown profile>               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
display: :0   screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library  430.26  Tue Jun  4 17:43:17 CDT 2019

Video surface:

name   width height types
-------------------------------------------
420     4096  4096  NV12 YV12 
422     4096  4096  UYVY YUYV 
444     4096  4096  

Decoder capabilities:

name                        level macbs width height
----------------------------------------------------
MPEG1                           0 65536  4080  4080
MPEG2_SIMPLE                    3 65536  4080  4080
MPEG2_MAIN                      3 65536  4080  4080
H264_BASELINE                  51 65536  4096  4096
H264_MAIN                      51 65536  4096  4096
H264_HIGH                      51 65536  4096  4096
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      51 65536  4096  4096
H264_EXTENDED                  51 65536  4096  4096
H264_PROGRESSIVE_HIGH          51 65536  4096  4096
H264_CONSTRAINED_HIGH          51 65536  4096  4096
H264_HIGH_444_PREDICTIVE       51 65536  4096  4096
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  

Chrome media internals says

00:00:00.737    video_decoder    MojoVideoDecoder
00:00:00.737    is_platform_video_decoder    true
00:00:00.737    info    Selected MojoVideoDecoder for video decoding, config: codec: h264, format: PIXEL_FORMAT_I420, profile: h264 high, coded size: [1920,1080], visible rect: [0,0,1920,1080], natural size: [1920,1080], has extra data: false, encryption scheme: Unencrypted, rotation: 0°
00:00:00.737    pipeline_state    kPlaying
00:00:00.738    audio_buffering_state    BUFFERING_HAVE_ENOUGH
00:00:00.739    error    VDA Error 4

Edit: i fixed it by downgrading to version 72

Last edited by afader (2019-06-19 03:45:10)

Offline

#2 2019-07-27 02:09:25

liewkj
Member
Registered: 2019-07-08
Posts: 210

Re: Chromium-vaapi, libva-vdpau-driver-chromium accelerated video nvidia

There is a patch for libva-vdpau-driver-chromium AUR that fixed build error and <unknown profile> due to deprecated enum from libva-2.5.0.
https://bugs.freedesktop.org/show_bug.cgi?id=111213
This brings back hardware accelerated video decoding for Chromium-vaapi supported by VDPAU backend from NVIDIA propriety blobs. I tested GK208B with nvidia-390xx. Unfortunately, gstreamer-vaapi does not work using this translation layer.

$ vainfo
vainfo: VA-API version: 1.5 (libva 2.5.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
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD

Last edited by liewkj (2019-07-27 02:10:24)

Offline

Board footer

Powered by FluxBB