[MPlayer-dev-eng] VA API support for MPlayer

Gwenolé Beauchesne gbeauchesne at splitted-desktop.com
Wed Dec 24 19:40:00 CET 2008


Hi,

We wanted to evaluate Intel solutions for HW video decoding but video  
players supporting VA API were either limited in video formats or not  
available to us in time. So, I decided to get inspiration from the  
NVIDIA VDPAU work and also provide VA API support. Yes, this  
duplicates bad practises (inherited from XvMC) but at least, it was a  
known infrastructure that worked for full HW decode support. i.e. I  
wanted to follow a "first make it work, then make it nice" approach  
and not complicate my life in catching up with various things at once:  
VA API + FFmpeg + MPlayer + various ITU/ISO standards + etc. ;-)

This was done simply to evaluate performance and capabilities of the  
various chipsets, we actually are not using mplayer in our products.  
So, excuse me for the initial low quality of the patches.

I know you want to refactor the various vo_* modules and avoid that  
awful code duplication. That's why I wanted to release that early, so  
that we don't forget about VA API when re-architecturing those parts.  
Yes, PIX_FMT_* things are also hacks, and something better is needed.

I have placed the initial patch here (and attached it to this mail for  
your convenience):
<http://www.splitted-desktop.com/~gbeauchesne/mplayer-vaapi/>

BTW, I stuffed a lot of things into vaapivideo.c instead of vo_vaapi.c  
(unlike vdpauvideo.c and vo_vdpau.c). The goal of VA API is to be  
display independent. However, though headers are well separated, it's  
currently not the case for libva. I am discussing ways to split  
libraries too with the VA API author. The ideal aim, IMHO, is to link  
ffmpeg against something like libva-core and have people link against  
a libva-x11 for their applications (mplayer, here).

Note that, in practise, only a few Intel drivers have a VA API  
implementation. However, we can expect other implementations at a  
later time.

Regards,
Gwenole.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: mplayer-vaapi.patch
Type: application/octet-stream
Size: 116558 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20081224/e1b3aabf/attachment.obj>
-------------- next part --------------





More information about the MPlayer-dev-eng mailing list