GStreamer multimedia framework
Find a file
Gwenole Beauchesne b003a2bab2 mpeg2: fix invalid interlaced frame in progressive sequence.
Some streams, badly constructed, could have signaled an interlaced
frame while the sequence was meant to be progressive. Warn and force
frame to be progressive in this case.
2012-03-28 19:41:28 +02:00
debian.upstream vaapipostproc: add new element for video postprocessing. 2012-03-26 14:37:24 +02:00
docs videobuffer: add surface render flags. 2012-03-26 12:01:36 +02:00
gst vaapipostproc: get "interlaced" attribute from surface proxy. 2012-03-28 17:59:19 +02:00
gst-libs mpeg2: fix invalid interlaced frame in progressive sequence. 2012-03-28 19:41:28 +02:00
pkgconfig Really fix make distclean. 2010-03-29 14:47:49 +00:00
tests Add initial H.264 decoder. 2012-01-29 15:27:59 +01:00
.gitignore .gitignore: add test-subpicture. 2012-01-06 17:15:32 +01:00
AUTHORS AUTHORS: update to match current authors. 2012-03-16 14:21:36 +01:00
autogen.sh autogen: don't configure if NO_CONFIGURE variable is set. 2011-12-09 10:44:52 +01:00
configure.ac h264: fix slice_data_bit_offset calculation. 2012-03-02 13:41:16 +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.4. 2012-02-01 23:35:10 +01:00
README vaapipostproc: add new element for video postprocessing. 2012-03-26 14:37:24 +02: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.

  * `vaapipostproc' is used to postprocess video/x-vaapi-surface
    surfaces, for e.g. deinterlacing.

  * `vaapisink' is used to display video/x-vaapi-surface surfaces to
    screen.


Features
--------

  * VA-API support from 0.29 to 0.32
  * MPEG-2, MPEG-4, H.264 and VC-1 ad-hoc decoders
  * 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

  * libva-dev >= 1.0.3 (VA/GLX)
  * 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, codecparsers

  If codecparsers-based decoders are not used:

  * libavcodec-dev >= 0.6
      or with <libavcodec/vaapi.h>

Hardware requirements

  * AMD platforms with UVD2 (XvBA supported)
  * Intel Eaglelake (G45)
  * Intel Ironlake, Sandy Bridge and Ivy Bridge (HD Graphics)
  * Intel Poulsbo (US15W)
  * Intel Medfield or Cedar Trail
  * 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