[gst-devel] VA-API support
Edward Hervey
bilboed at gmail.com
Tue May 11 09:19:46 CEST 2010
On Mon, 2010-05-10 at 15:06 +0200, Gwenole Beauchesne wrote:
> Hi,
>
> I have uploaded some experimental plugins with VA-API support:
> <http://www.splitted-desktop.com/~gbeauchesne/gstreamer-vaapi/>
>
> gstreamer-vaapi consists in a collection of VA-API based plugins for
> GStreamer and helper libraries.
>
> * `vaapidecode' is used to decode MPEG-2, MPEG-4, H.264, VC-1, WMV3
> videos to video/x-vaapi-surfaces surfaces, depending on the
> underlying HW capabilities.
>
> * `vaapiconvert' is used to convert from video/x-raw-yuv pixels to
> video/x-vaapi-surface surfaces.
>
> * `vaapisink' is used to display video/x-vaapi-surface surfaces to
> screen.
Awesome !
>
> Features
> --------
>
> * Fully Open Source solution
> * VA-API support from 0.29 to 0.31
> * OpenGL rendering through VA/GLX or GLX texture-from-pixmap + FBO
I wonder how we could integrate this with the existing GL plugins and
the ongoing cairo work Benjamin has been doing. Carl-Anton has started
doing cairo support for the VDPAU plugins, maybe you can check out his
work or you guys can exchange tips.
> * Support for major HW video decoding solutions on Linux (AMD, Intel, NVIDIA)
>
> Requirements
> ------------
>
> Software requirements
>
> * libgstreamer0.10-dev >= 0.10.0
> * libgstreamer-plugins-base0.10-dev >= 0.10.0
Hmm... You might want to make it require more recent versions, those
are almost 5 years old and a lot has changed since. A core/base from a
year ago should do it, while not forcing people to use just-released
versions.
> * libva-dev >= 0.31.0-1+sds9 (VA/GLX)
Is that version needed even if you have a intel GPU ? Or is it only if
you want to use the other backends ? You mention above it has VA-API
support from 0.29 to 0.31.
> * libavcodec-dev >= 0.6 or with <libavcodec/vaapi.h>
>
> Hardware requirements
>
> * AMD platforms with UVD2 (XvBA supported)
> * Intel Eaglelake (G45)
> * Intel Ironlake (HD Graphics)
> * Intel Poulsbo (US15W)
> * NVIDIA platforms with PureVideo (VDPAU supported)
>
> Caveats
> -------
>
> * No integration within decodebin2 or the playbin2 pipeline
> * No ad-hoc parser, vaapidecoder currently relies on FFmpeg
This is also an area where Carl-Anton's work on gst-vdpau could help
fix that, the mpeg1/2 part should be trivial to implement for ex (code
already available in -bad/sys/vdpau/), and since he has to write such
parsers for this Summer of Code, you could re-use them easily imho.
> * MPEG-4 Part-2 (DivX) has decoding bugs
>
> Regards,
> Gwenole.
* Do you have a code repository ? It would be nice for other
developers to follow/contribute if you had a git repository somewhere
(maybe even on github/gitorious).
* Would be nice to share code between the vdpau and the vaapi plugins
(like the bitstream parsing parts that both (and other HW-accelerated
plugins) require). This might be made easier if we integrated your
plugins in -bad, and you'd get the bonus side-effect of having the rest
of the GStreamer community maintaining/improving your code as well :)
* Your plugins are LGPL... but they depend on a library (in gst-libs/)
which is GPL, making the plugins GPL. Any reason for that ?
Once again, Awesome work :)
Edward
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list