vaapidownload: add new plugin to download pixels from VA surfaces.
[platform/upstream/gstreamer-vaapi.git] / README
1
2   gstreamer-vaapi
3   VA-API support to GStreamer
4
5   Copyright (C) 2010-2011 Splitted-Desktop Systems
6   Copyright (C) 2011 Intel Corporation
7   Copyright (C) 2011 Collabora Ltd.
8
9
10 License
11 -------
12
13 gstreamer-vaapi helper libraries and plugin elements are available
14 under the terms of the GNU Lesser General Public License v2.1+
15
16 Overview
17 --------
18
19 gstreamer-vaapi consists in a collection of VA-API based plugins for
20 GStreamer and helper libraries.
21
22   * `vaapidecode' is used to decode MPEG-2, MPEG-4, H.264, VC-1, WMV3
23     videos to video/x-vaapi-surfaces surfaces, depending on the
24     underlying HW capabilities.
25
26   * `vaapiupload' is used to convert from video/x-raw-yuv pixels to
27     video/x-vaapi-surface surfaces.
28
29   * `vaapidownload' is used to convert from video-x-vaapi-surface
30     surfaces to video/x-raw-yuv pixels.
31
32   * `vaapisink' is used to display video/x-vaapi-surface surfaces to
33     screen.
34
35
36 Features
37 --------
38
39   * VA-API support from 0.29 to 0.31
40   * OpenGL rendering through VA/GLX or GLX texture-from-pixmap + FBO
41   * Support for major HW video decoding solutions on Linux (AMD, Intel, NVIDIA)
42
43
44 Requirements
45 ------------
46
47 Software requirements
48
49   * libgstreamer0.10-dev >= 0.10.35.1
50       or with GstBaseSink::query()
51   * libgstreamer-plugins-base0.10-dev >= 0.10.35
52   * libgstreamer-plugins-bad0.10-dev >= 0.10.22.1
53       or with GstVideoContext, GstSurfaceBuffer
54   * libva-dev >= 1.0.3 (VA/GLX)
55   * libavcodec-dev >= 0.6
56       or with <libavcodec/vaapi.h>
57
58 Hardware requirements
59
60   * AMD platforms with UVD2 (XvBA supported)
61   * Intel Eaglelake (G45)
62   * Intel Ironlake (HD Graphics)
63   * Intel Poulsbo (US15W)
64   * NVIDIA platforms with PureVideo (VDPAU supported)
65
66
67 Usage
68 -----
69
70   * Play an H.264 video with an MP4 container in fullscreen mode
71   $ gst-launch-0.10 -v filesrc location=/path/to/video.mp4 ! \
72       qtdemux ! vaapidecode ! vaapisink fullscreen=true
73
74
75 Caveats
76 -------
77
78   * No ad-hoc parser, vaapidecoder currently relies on FFmpeg