Page 1 of 1

Hardware acceleration implementation

Posted: 03 May 2013 11:34
by dolevo
Hi all,

I have a pc on which openembedded is running. The task of this pc is to decode incoming live streams and show on the screen attached to it. This is sometimes 1 stream connected, sometimes 5, sometimes 10. The h.264 decoder is currently libav but could be ffmpeg as well since I wrote the code to by myself. The issue is, there is no hardware acceleration at the moment and desperately I am looking for how to implement it.
The pc has AMD Radeon graphics card and I have already installed xvba-va-driver. I can run vainfo and get the following lines as return:

Code: Select all

root@dumdum-3048:~# vainfo libva: VA-API version 0.32.0 Xlib: extension "XFree86-DRI" missing on display ":0.0". libva: va_getDriverName() returns 0 libva: Trying to open /usr/lib/dri/fglrx_drv_video.so libva: va_openDriver() returns 0 vainfo: VA-API version: 0.32 (libva 1.0.15) vainfo: Driver version: Splitted-Desktop Systems XvBA backend for VA-API - 0.8.0 vainfo: Supported profile and entrypoints VAProfileH264High : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD
Since I get the Entypoints, I suppose that the driver side has already ready for the hardware acceleration. However, I know that this is not enough and I need to implement some code into my decoder software in order to tell the decoder to use the hardware acceleration.

So, I end up with looking into VLC source code to find out how they have done this implementation. However, I couldn't get enough information. Then I end up here to ask you experts, hoping to get some help.

Any help, any hint, any guidance would greatly be appreciated.