GStreamer multimedia framework
Find a file
Gwenole Beauchesne 40f44ab60e surfaceproxy: simplify destruction.
Also make sure to always make sure to release the surface back to the
pool of surfaces in the associated VA context, if any.
2012-01-05 17:35:37 +01:00
debian.upstream debian: update control.in description for new plugins. 2012-01-05 11:23:01 +01:00
docs vaapidownload: add new plugin to download pixels from VA surfaces. 2012-01-05 11:04:29 +01:00
gst vaapidecode: fix deinitialization order. 2012-01-05 16:26:49 +01:00
gst-libs surfaceproxy: simplify destruction. 2012-01-05 17:35:37 +01:00
pkgconfig Really fix make distclean. 2010-03-29 14:47:49 +00:00
tests image: allow partial updates. 2011-12-12 18:32:29 +01:00
.gitignore Add new GStreamer version check utilities. 2011-12-07 19:05:50 +01:00
AUTHORS Initial import of the gstreamer-vaapi hierarchy. 2010-01-12 15:51:39 +00:00
autogen.sh autogen: don't configure if NO_CONFIGURE variable is set. 2011-12-09 10:44:52 +01:00
configure.ac Bump version for development. 2012-01-03 13:54:03 +01:00
COPYING.LIB Relicense gst-libs/ code to LGPL v2.1+. 2010-09-20 12:55:42 +02:00
Makefile.am Nuke older build dir. 2010-09-20 12:55:46 +02:00
NEWS Rename vaapiconvert element to vaapiupload. 2012-01-03 14:34:09 +01:00
README vaapidownload: add new plugin to download pixels from VA surfaces. 2012-01-05 11:04:29 +01:00

  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.

  * `vaapidownload' is used to convert from video-x-vaapi-surface
    surfaces to video/x-raw-yuv pixels.

  * `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 <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)


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