vaapimpeg2dec

vaapimpeg2dec — A VA-API based MPEG2 video decoder

Description

vaapimpeg2dec decodes from MPEG2 bitstreams to surfaces suitable for the vaapisink or vaapipostproc elements using the installed VA-API back-end.

In the case of OpenGL based elements, the buffers have the GstVideoGLTextureUploadMeta meta, which efficiently copies the content of the VA-API surface into a GL texture.

Also it can deliver normal video buffers that can be rendered or processed by other elements, but the performance would be rather bad.

Example launch line

1
gst-launch-1.0 filesrc location=~/sample.mpg ! mpegpsdemux ! vaapimpeg2dec ! vaapisink

Synopsis

Element Information

plugin

vaapi

author

Gwenole Beauchesne <gwenole.beauchesne@intel.com>, Halley Zhao <halley.zhao@intel.com>, Sreerenj Balachandran <sreerenj.balachandran@intel.com>, Wind Yuan <feng.yuan@intel.com>

class

Codec/Decoder/Video/Hardware

Element Pads

name

sink

direction

sink

presence

always

details

video/mpeg, mpegversion=(int)2, systemstream=(boolean)false

name

src

direction

source

presence

always

details

video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string){ RGBA, BGRA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw, format=(string){ NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

Functions

Types and Values