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 , Halley Zhao , Sreerenj Balachandran , Wind Yuan , Junyan He

Classification:Codec/Decoder/Video/Hardware

Rank – none

Plugin – vaapi

Package – gstreamer-vaapi

Pad Templates

sink

video/x-h264:

Presencealways

Directionsink

Object typeGstPad


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 ]

Presencealways

Directionsrc

Object typeGstPad


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