q4a Posted December 5, 2020 Posted December 5, 2020 I'm using Tinker Board (old one) with kernel `linux-image-current-rockchip`: $ uname -a Linux tinkerboard 5.8.18-rockchip #20.11 SMP PREEMPT Mon Nov 23 15:00:32 CET 2020 armv7l armv7l armv7l GNU/Linux I builded libva with this script: https://github.com/xmixahlx/pbp-tools/blob/073b0775b48d837103bc0cccde7435cc9900ff6c/pbp-install-libva (with changes from `--libdir=/usr/local/lib/aarch64-linux-gnu` to `--libdir=/usr/local/lib/arm-linux-gnueabihf`) Builded and installed without errors: $ file /usr/local/lib/arm-linux-gnueabihf/libva.so.2.1000.0 /usr/local/lib/arm-linux-gnueabihf/libva.so.2.1000.0: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=432f2294306d050356ab992ab286af1ab16f0eac, not stripped Then I builded libva-v4l2-request with this script: https://github.com/xmixahlx/pbp-tools/blob/073b0775b48d837103bc0cccde7435cc9900ff6c/pbp-install-libva-v4l2-request (with same changes from `--libdir=/usr/local/lib/aarch64-linux-gnu` to `--libdir=/usr/local/lib/arm-linux-gnueabihf`) Builded and installed without errors: $ file /usr/local/lib/arm-linux-gnueabihf/dri/v4l2_request_drv_video.so /usr/local/lib/arm-linux-gnueabihf/dri/v4l2_request_drv_video.so: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, BuildID[sha1]=4beee597e8643682867c9558e100e498c534f845, not stripped Then I builded mvp with this commands: $ git clone https://github.com/mpv-player/mpv-build.git $ cd mpv-build $ sudo apt-get install devscripts equivs fakeroot $ mk-build-deps -s sudo -i $ dpkg-buildpackage -uc -us -b -rfakeroot -j4 I got `mpv_2020.12.04.7c4465cefb_armhf.deb` and installed it. vainfo looks ok, mpv linked with new compiled libva, but mpv gives me errors. How can I fix it? Did I need custom kernel patches to get h264 working with mpv? q@tinkerboard:~/vaapi$ LIBVA_DRIVER_NAME=v4l2_request vainfo libva info: VA-API version 1.10.0 libva info: User environment variable requested driver 'v4l2_request' libva info: Trying to open /usr/local/lib/arm-linux-gnueabihf/dri/v4l2_request_drv_video.so libva info: Found init function __vaDriverInit_1_10 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.10 (libva 2.6.0) vainfo: Driver version: v4l2-request vainfo: Supported profile and entrypoints q@tinkerboard:~/vaapi$ ldd /usr/bin/mpv | grep libva libva.so.2 => /usr/local/lib/arm-linux-gnueabihf/libva.so.2 (0xb53ce000) libva-drm.so.2 => /usr/local/lib/arm-linux-gnueabihf/libva-drm.so.2 (0xb4883000) libva-x11.so.2 => /usr/local/lib/arm-linux-gnueabihf/libva-x11.so.2 (0xb486e000) libva-wayland.so.2 => /usr/local/lib/arm-linux-gnueabihf/libva-wayland.so.2 (0xb41cd000) q@tinkerboard:~/vaapi$ LIBVA_DRIVER_NAME=v4l2_request mpv --hwdec kodi_H.264-FPS_test_1080p24_L4.1.mkv (+) Video --vid=1 (*) (h264 1920x1080 24.000fps) (+) Audio --aid=1 --alang=eng (*) (mp3 2ch 48000Hz) libEGL warning: DRI2: failed to authenticate [vo/gpu/opengl] Suspected software renderer or indirect context. Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory [vo/vdpau] Error when calling vdp_device_create_x11: 1 [vo/xv] No Xvideo support found. [vo/vaapi] OSD format not supported. Disabling OSD. [vo/vaapi] vaQueryDisplayAttributes() failed (the requested function is not implemented) [vo/vaapi] Warning: this compatibility VO is low quality and may have issues with OSD, scaling, screenshots and more. [vo/vaapi] vo=gpu is the preferred choice in any case and includes VA-API support via hwdec=vaapi or vaapi-copy. [ffmpeg/video] h264: No support for codec h264 profile 100. [autoconvert] Converting yuv420p -> nv12 AO: [pulse] 48000Hz stereo 2ch float VO: [vaapi] 1920x1080 nv12 [vaapi] vaCreateSurfaces() failed (operation failed) Could not initialize video chain. Video: no video A: 00:00:00 / 00:10:05 (0%) Exiting... (Interrupted by error) q@tinkerboard:~/vaapi$
Recommended Posts