GStreamer multimedia framework
Find a file
Gwenole Beauchesne e5d12e8853 decoder: rework the internal VA objects API.
The new API simplifies a lot reference counting and makes it more
flexible for future additions/changes. The GstVaapiCodecInfo is
also gone. Rather, new helper macros are provided to allocate
picture, slice and quantization matrix parameter buffers.
2012-01-27 13:28:11 +01:00
debian.upstream legal: fix year for some copyright notices. 2012-01-16 11:40:51 +01:00
docs surface: don't expose gst_vaapi_surface_get_parent_context(). 2012-01-18 10:42:38 +01:00
gst vaapisink: cap window size to the maximum display size. 2012-01-24 10:15:47 +01:00
gst-libs decoder: rework the internal VA objects API. 2012-01-27 13:28:11 +01:00
pkgconfig Really fix make distclean. 2010-03-29 14:47:49 +00:00
tests tests: error out if FFmpeg|codecparsers are not supported. 2012-01-18 10:48:27 +01:00
.gitignore .gitignore: add test-subpicture. 2012-01-06 17:15:32 +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-16 14:09:57 +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 0.3.3. 2012-01-16 11:40:51 +01:00
README legal: fix year for some copyright notices. 2012-01-16 11:40:51 +01:00

  gstreamer-vaapi
  VA-API support to GStreamer

  Copyright (C) 2010-2011 Splitted-Desktop Systems
  Copyright (C) 2011-2012 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