Top | ![]() |
![]() |
![]() |
![]() |
GObject ╰── GInitiallyUnowned ╰── GstObject ╰── GstElement ╰── GstVideoDecoder ╰── GstVaapiDecode
vaapidecode decodes from raw 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.
gst-launch-1.0 filesrc location=~/big_buck_bunny.mov ! qtdemux ! h264parse ! vaapidecode ! vaapisink
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 |
name |
sink |
direction |
sink |
presence |
always |
details |
video/mpeg, mpegversion=(int)2, systemstream=(boolean)false |
video/mpeg, mpegversion=(int)4 | |
video/x-divx | |
video/x-xvid | |
video/x-h263 | |
video/x-h264 | |
video/x-h265 | |
video/x-wmv | |
video/x-vp8 | |
video/x-vp9 |
name |
src |
direction |
source |
presence |
always |
details |
video/x-raw(memory:VASurface), format=(string){ ENCODED, I420, YV12, NV12 }, 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){ I420, YV12, NV12 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ] |