[FFmpeg-devel] Regarding Video Acceleration API

Ivan Kalvachev ikalvachev
Wed Aug 29 12:43:42 CEST 2007

2007/8/28, Benjamin Zores <ben at geexbox.org>:
> Hi,
> As some of you may know or not, Intel is working on a XvMC replacement
> called VA-API (Video Acceleration API).
> XvMC being resticted to MPEG-1/2 decoding, its indeed not very useful
> these days.
> This new API (see http://www.freedesktop.org/wiki/Software/vaapi )
> aims at providing GPU assistance to MPEG-1/2/4, H.264, VC-1 decoding
> for capable cards (almost all are these days with adequate Windows
> drivers/players).
> Good point is that it aims at not being Xorg-restricted (which also
> means one can probably use h/w specialized decoder, not necessarly a
> video card) and not an extension to some video driver (like it was for
> XV). So one can possibly use it with several video outputs i guess.
> I bet it'll be available for Intel chips first but will probably be
> used by nVidia/VIA/ATI ones once mature.
> However, this API is only useful if decoders can make use of it and
> all are actually FFMPEG-based, hence the needed support. I guess it'd
> be interesting that someone from FFMPEG with enough knowledge in this
> area may participate with Intel in VA-API specifications at least,
> otherwise, I fear we'll end up with either a broken, unusable API,
> which would be a shame, especially as FFMPEG will probably be one of
> the only library to directly make use of it.
> Besides, there's probably more to gain to have parts of decoding done
> by DSPs than having multi-threaded software decoder.
> How does the idea sounds ?

I just glanced over the URL. Here is my first impressions that may not
be very accurate:

It looks exactly like XvMC , the functions are similar, create/delete,
surfaces, and even the put_surface is still there (so it probably
still have XV relation).
It have a lot more structures for every new specific format it
supports, the mpeg2 handling looks very similar to the old XvMC.

I'd say that at the current stage it is probably just renamed XvMC
with all the stuff that should have been added over the years. (I
think that there is even some stuff that have been removed from XvMC).
Depending on the supported level it would require hacking the ffmpeg
decoders in a manner that mpeg12 decoder is hacked now.

More information about the ffmpeg-devel mailing list