vaapih264dec
vaapih264dec decodes from H264 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
gst-launch-1.0 filesrc location=~/big_buck_bunny.mov ! qtdemux ! h264parse ! vaapih264dec ! vaapisink
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstVideoDecoder ╰──vaapih264dec
Factory details
Authors: – Gwenole Beauchesne
Classification: – Codec/Decoder/Video/Hardware
Rank – none
Plugin – vaapi
Package – gstreamer-vaapi
Pad Templates
src
video/x-raw(memory:VASurface):
format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, P012_LE, VUYA, Y210, Y410, Y212_LE, Y412_LE, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw(meta:GstVideoGLTextureUploadMeta):
format: { RGBA, BGRA }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw:
format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, P012_LE, VUYA, Y210, Y410, Y212_LE, Y412_LE, ARGB, xRGB, RGBA, RGBx, ABGR, xBGR, BGRA, BGRx, RGB16, RGB, BGR10A2_LE }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
Properties
base-only
“base-only” gboolean
Drop any NAL unit not defined in Annex.A
Flags : Read / Write
Default value : false
low-latency
“low-latency” gboolean
When enabled, frames will be pushed as soon as they are available. It might violate the H.264 spec.
Flags : Read / Write / Construct
Default value : false
The results of the search are