Hardware acceleration implementation
Posted: 03 May 2013 11:34
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:
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.
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
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.