> In reaction to Robert Hooker about performance. > Did some benchmarks with "mpv" and 1080i h264 transport stream footage trying > all three possible acc. > backends on [Radeon HD 6320]. > > *vdpau (native) > *Splitte d-Desktop Systems VDPAU backend for VA-API > *mesa gallium vaapi
> All of them seem to perform equally maybe some 1-5% difference. > Maybe because there isn't real 'vdpau' on AMD so its implementation of vdpau > is like the other VAAPI ones using the same optimize tricks > (combination of hardwaredecoder/shaders/etc/gpu offload)? Does the mesa gallium vaapi also supports the UVD video decoding in hardware as the vdpau driver does? I just tested the vdpau and vaapi->vdpau against CPU only decoding (AMD64 dualcore) on a Radeon HD 3200 (RS780) playing a 1080i h264 sample. I got a huge difference of less than 10% cpu load for vdpau to more than 100% load for CPU only decoding (didn't find vaapi option for mpv). Also the vaapi->vdpau backend helped to reduce the cpu load for vlc 2.1.x using --avcodec-hw=vaapi from 100% to 35%. (only vlc from 2.2.x has native vdpau support). I guess I will also have a look at the mesa gallium vaapi. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to mesa in Ubuntu. https://bugs.launchpad.net/bugs/1481832 Title: VA-API implementation for gallium missing Status in mesa package in Ubuntu: Confirmed Bug description: [needs-packaging] mesa Please include "gallium_drv_video.so" which is a native va-api state tracker for mesa(gallium). URL: http://mesa3d.sourceforge.net/ URL: http://freedesktop.org/wiki/Software/vaapi/ #intel/vdpau License: http://www.mesa3d.org/license.html Notes: Currently (as of today) in ubuntu 15.10 nightly amd64, va-api(vaapi) on AMD/Ati radeon opensource display hardware is using a vdpau backend 0.7.4 by Splitted-Desktop Systems (wrapper) on gallium r600. Although its possible and probably preferred (better performance less copying) to use a native implementation which mesa(gallium) 10.4 and higher delivers in a form of a va-api state tracker. vainfo #current default setup vdpau backend libva info: VA-API version 0.38.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/r600_drv_video.so libva info: Found init function __vaDriverInit_0_37 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.38 (libva 1.6.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 VAProfileVC1Advanced : VAEntrypointVLD The preferred setup needs that "gallium_drv_video.so" binary which is currently unavailable in ubuntu and debian. As an example I added a package/binary from archlinux. Copying the gallium_drv_video.so to /usr/lib/x86_64-linux-gnu/dri/ and symlinking(correcting) the libLLVM-3.6.so to arch-linux default /usr/lib/ location and exporting a variable was enough to make it work! https://www.archlinux.org/packages/extra/x86_64/libva-mesa-driver/ #example by archlinux export LIBVA_DRIVER_NAME=gallium vainfo #preferred setup using gallium va-api from arch-linux (symlinked libLLVM-3.6.so to /usr/lib) libva info: VA-API version 0.38.0 libva info: va_getDriverName() returns 0 libva info: User requested driver 'gallium' libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/gallium_drv_video.so libva info: Found init function __vaDriverInit_0_38 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.38 (libva 1.6.0) vainfo: Driver version: mesa gallium vaapi vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG4Simple : VAEntrypointVLD VAProfileMPEG4AdvancedSimple : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264Baseline : VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD I guess this binary "gallium_drv_video.so" might be available as a compile flag in the current mesa implementation... intel and vdpau has their own current implementation in a separate libva branch http://cgit.freedesktop.org/vaapi/libva/ ? To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/mesa/+bug/1481832/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp