[Bug 795325] gstreamer-vaapi stutters heavily when rendering (some videos) to GLX

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Apr 17 10:25:13 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=795325

--- Comment #1 from Víctor Manuel Jáquez Leal <vjaquez at igalia.com> ---
(In reply to Daniel van Vugt from comment #0)
> gstreamer-vaapi stutters heavily when rendering (some videos) to GLX.
> 
> STUTTERY:
> env GST_GL_PLATFORM=glx gst-launch-1.0 filesrc
> location=bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! vaapidecodebin !
> glimagesink

this is negotiated to GLUploadTexture by default

> SMOOTH:
> env GST_GL_PLATFORM=egl gst-launch-1.0 filesrc
> location=bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! vaapidecodebin !
> glimagesink

this is negotiated with dmabuf by default


> SMOOTH:
> env GST_GL_PLATFORM=glx gst-launch-1.0 filesrc
> location=bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! vaapidecodebin !
> ximagesink

this is negotiated with normal memcopy

> Interestingly, GLX is even slower than software rendering (ximagesink):
> 
> STUTTERY:
> env GST_GL_PLATFORM=glx gst-launch-1.0 filesrc
> location=bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! vaapidecodebin !
> glimagesink

Another exercise: compare with clutterautovideosink, which also uses
GLUploadMeta (either in GLX or EGL)

env GST_GL_PLATFORM=glx gst-launch-1.0 filesrc
location=bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! vaapidecodebin !
clutterautovideosink

In my setup it goes smooth.

Also compare with glimagesink forcing the memcopy:

env GST_GL_PLATFORM=glx gst-launch-1.0 filesrc location=
~/Downloads/bbb_sunflower_2160p_60fps_normal.mp4 ! qtdemux ! vaapidecodebin !
video/x-raw ! glimagesink

In my setup a lot of frames are dropped too.

IIUC, we should optimize when linking vaapi decoder and glimagesink

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list