vaapisink
vaapisink renders video frames to a drawable (X Window) on a local display using the Video Acceleration (VA) API. The element will create its own internal window and render into it.
Example launch line
gst-launch-1.0 videotestsrc ! vaapisink
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstBaseSink ╰──GstVideoSink ╰──vaapisink
Implemented interfaces
Factory details
Authors: – Gwenole Beauchesne
Classification: – Sink/Video
Rank – marginal
Plugin – vaapi
Package – gstreamer-vaapi
Pad Templates
sink
video/x-raw(memory:VASurface):
format: { ENCODED, NV12, YV12, I420, YUY2, UYVY, Y444, GRAY8, P010_10LE, VUYA, Y210, Y410, 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(memory:VASurface, meta:GstVideoOverlayComposition):
format: { ENCODED, NV12, I420, YV12, P010_10LE }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw(meta:GstVideoOverlayComposition):
format: { AYUV64, ARGB64, GBRA_12LE, GBRA_12BE, Y412_LE, Y412_BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, RGB10A2_LE, BGR10A2_LE, Y410, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16LE, Y444_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, v210, UYVP, I420_10LE, I420_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, P010_10BE, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw:
format: { AYUV64, ARGB64, GBRA_12LE, GBRA_12BE, Y412_LE, Y412_BE, A444_10LE, GBRA_10LE, A444_10BE, GBRA_10BE, A422_10LE, A422_10BE, A420_10LE, A420_10BE, RGB10A2_LE, BGR10A2_LE, Y410, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16LE, Y444_16BE, v216, P016_LE, P016_BE, Y444_12LE, GBR_12LE, Y444_12BE, GBR_12BE, I422_12LE, I422_12BE, Y212_LE, Y212_BE, I420_12LE, I420_12BE, P012_LE, P012_BE, Y444_10LE, GBR_10LE, Y444_10BE, GBR_10BE, r210, I422_10LE, I422_10BE, NV16_10LE32, Y210, v210, UYVP, I420_10LE, I420_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, P010_10BE, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_LE, GRAY16_BE, GRAY10_LE32, GRAY8 }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
Signals
handoff
handoff_callback (GstElement * object, GstBuffer * buffer, gpointer udata)
def handoff_callback (object, buffer, udata):
#python callback for the 'handoff' signal
function handoff_callback(object: GstElement * object, buffer: GstBuffer * buffer, udata: gpointer udata): {
// javascript callback for the 'handoff' signal
}
This signal gets emitted after rendering the frame.
Parameters:
object
–
the vaapisink instance
buffer
–
the buffer that was rendered
udata
–
Flags: Run Last
Properties
brightness
“brightness” gfloat
The VA display brightness, expressed as a float value. Range is -1.0 to 1.0. Default value is 0.0 and represents no modification.
Flags : Read / Write / Construct
Default value : 0
contrast
“contrast” gfloat
The VA display contrast, expressed as a float value. Range is 0.0 to 2.0. Default value is 1.0 and represents no modification.
Flags : Read / Write / Construct
Default value : 1
display
“display” Vaapi-display-type *
The type of display to use.
Flags : Read / Write
Default value : any (0)
display-name
“display-name” gchararray
The native display name.
Flags : Read / Write
Default value : NULL
force-aspect-ratio
“force-aspect-ratio” gboolean
When enabled, scaling respects video aspect ratio; when disabled, the video is distorted to fit the window.
Flags : Read / Write
Default value : true
fullscreen
“fullscreen” gboolean
Selects whether fullscreen mode is enabled or not.
Flags : Read / Write
Default value : false
hue
“hue” gfloat
The VA display hue, expressed as a float value. Range is -180.0 to 180.0. Default value is 0.0 and represents no modification.
Flags : Read / Write / Construct
Default value : 0
rotation
“rotation” Vaapi-rotation *
The VA display rotation mode, expressed as a Vaapi-rotation.
Flags : Read / Write
Default value : 0 (0)
saturation
“saturation” gfloat
The VA display saturation, expressed as a float value. Range is 0.0 to 2.0. Default value is 1.0 and represents no modification.
Flags : Read / Write / Construct
Default value : 1
signal-handoffs
“signal-handoffs” gboolean
Send a signal after rendering the buffer.
Flags : Read / Write
Default value : false
view-id
“view-id” gint
When not set to -1, the displayed frame will always be the one that matches the view-id of the very first displayed frame. Any other number will indicate the desire to display the supplied view-id only.
Flags : Read / Write
Default value : -1
Named constants
Vaapi-display-type
Members
any
(0) – Auto detection
x11
(1) – VA/X11 display
glx
(2) – VA/GLX display
egl
(5) – VA/EGL display
wayland
(3) – VA/Wayland display
drm
(4) – VA/DRM display
Vaapi-rotation
Members
0
(0) – Unrotated mode
90
(90) – Rotated by 90°, clockwise
180
(180) – Rotated by 180°, clockwise
270
(270) – Rotated by 270°, clockwise
Automatic
(360) – Rotated by image-orientating tag°
The results of the search are