GitXplorerGitXplorer
s

sree-gstreamer-vaapi

public
4 stars
1 forks
0 issues

Commits

List of commits on branch master.
Unverified
fc6464e53923cfcadbff2765581c7548af901f1a

Merge branch 'gwe_master'

ssreerenjb committed 12 years ago
Unverified
a10b3d30326bb1a8141c8a9c604d4e4c41c73f25

decoder: cope with new GstVaapiContextInfo based API.

ggbeauchesne committed 12 years ago
Unverified
893e45ecb507376566d0edaa1f6bfa6a2907d42f

context: JPEG codec does not need any reference frame.

ggbeauchesne committed 12 years ago
Unverified
4ca1f3f47c44db2347adf5606f058250179f38c7

context: allow number of reference frames to be set.

ggbeauchesne committed 12 years ago
Unverified
d895e17db88d7d2e7886fe0eee51753fbfee2901

vaapipostproc: fix deinterlace-{mode,method} types definition.

ggbeauchesne committed 12 years ago
Unverified
cf75d048a174a8349c84cffbad7ba4151718d817

mpeg4: fix debug info for unsupported profile.

ggbeauchesne committed 12 years ago

README

The README file for this repository.

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

VA elements are automatically plugged into GStreamer pipelines. So, using playbin2 should work as is. However, here are a few alternate pipelines constructed manually.

  • 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

  • Play a raw MPEG-2 interlaced stream $ gst-launch-0.10 -v filesrc location=/path/to/mpeg2.bits !
    mpegvideoparse ! vaapidecode ! vaapipostproc ! vaapisink