gstreamer-vaapi VA-API support to GStreamer Copyright (C) 2010-2011 Splitted-Desktop Systems Copyright (C) 2011 Intel Corporation Copyright (C) 2011 Collabora Ltd. License ------- gstreamer-vaapi helper libraries and plugin elements are available under the terms of the GNU Lesser General Public License v2.1+ Overview -------- 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. * `vaapiupload' 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. Features -------- * VA-API support from 0.29 to 0.31 * OpenGL rendering through VA/GLX or GLX texture-from-pixmap + FBO * Support for major HW video decoding solutions on Linux (AMD, Intel, NVIDIA) Requirements ------------ Software requirements * libgstreamer0.10-dev >= 0.10.35.1 or with GstBaseSink::query() * libgstreamer-plugins-base0.10-dev >= 0.10.35 * libgstreamer-plugins-bad0.10-dev >= 0.10.22.1 or with GstVideoContext, GstSurfaceBuffer * libva-dev >= 1.0.3 (VA/GLX) * libavcodec-dev >= 0.6 or with Hardware requirements * AMD platforms with UVD2 (XvBA supported) * Intel Eaglelake (G45) * Intel Ironlake (HD Graphics) * Intel Poulsbo (US15W) * NVIDIA platforms with PureVideo (VDPAU supported) Usage ----- * Play an H.264 video with an MP4 container in fullscreen mode $ gst-launch-0.10 -v filesrc location=/path/to/video.mp4 ! \ qtdemux ! vaapidecode ! vaapisink fullscreen=true Caveats ------- * No ad-hoc parser, vaapidecoder currently relies on FFmpeg