Gstreamer1.14 glupload

Nicolas Dufresne nicolas at ndufresne.ca
Fri Feb 8 13:42:13 UTC 2019


Le vendredi 08 février 2019 à 10:02 +0000, Philippe Normand a écrit :
> Hi Mike,
> 
> Thanks for your interest in WPE ;)
> 
> On Thu, 2019-02-07 at 19:49 -0700, mike at baseforsale.com wrote:
> > Hi,
> > 
> > I'm attempting to get WPE working on an iMX6 and I've come across an 
> > issue with gstreamer-gl.  I think it is an issue with the meta-
> > format 
> > being incorrectly reported after it leaves glupload. Examining the
> > dot 
> > files between the two streams below, the only difference is that the 
> > format reported going into the colorConvertElement, for the pipeline 
> > that plays, is I420.  On the pipeline that does not play the format 
> > being reported is RGBA.  I'm assuming that glupload should just
> > transfer 
> > the buffer but maintain the format and then glcolorconvert would 
> > actually convert it.
> > 
> > 
> > This pipeline does not work and is representative of what WPE sets
> > up.
> > gst-launch-1.0 uridecodebin 
> > uri=
> > https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm
> >  
> > ! glupload ! glcolorconvert ! 'video/x-raw(memory:GLMemory), 
> > format=RGBA' ! glimagesink
> > 
> 
> Is there a chance you could try a GStreamer 1.15.x development
> snapshot? I believe the issue you're experiencing might be fixed with
> the patches from https://bugzilla.gnome.org/show_bug.cgi?id=783521

Hi Philippe, those patches are meant for mainline linux, running
etnaviv (and some of the mesa patches are not upstream yet). But I see
for lower trace the VivFB is being used, which indicates a vendor
kernel. It remains that we have similar mechanism, VivDirect ? or
something that is a fast path for buffer importation, so whatever you
import will come out as RGBA. This have had quite low testing from what
I understood, hence might have bugs.

> 
> Philippe
> 
> > Got context from element 'sink': gst.gl.GLDisplay=context, 
> > gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayVivFB\)\ 
> > gldisplayvivfb0";ch-1.0 uridecodebin 
> > uri=
> > https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.w0:00:00.798403126
> >  
> >   2956  0x178f0c0 WARN               structure 
> > gststructure.c:1832:priv_gst_structure_append_to_gstring: No value 
> > transform to serialize field 'session' of type 'SoupSession' 
> > GST_DEBUgst-launch-1.0 uridecodebin uri=https:Got context from
> > element 
> > 'source': gst.soup.session=context, session=(SoupSession)NULL, 
> > force=(boolean)false;
> > 0:00:01.612460820  2956 0x69172780 FIXME           videodecoder 
> > gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
> > Sub-class should implement drain()ad !
> > [INFO]ntbitstreamMode 1, chromaInterleave 0, mapType 0, 
> > tiled2LinearEnable 0ssion)NULL, ot at cbt7g-imx6:/Apps# 
> > GST_DEgst-launch-1.0 uridecodebin 
> > uri=
> > https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm
> >  
> > ! gl0:00:01.625965600  2956 0x68e10a30 FIXME           videodecoder 
> > gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
> > Sub-class should implement drain()  ot at cbt7g-imx6:/Apps# 
> > GST_Dgst-launch-1.0 uridecodebin uri=https://www.f0:00:01.626970658  
> > 2956 0x68e10a30 FIXME           videodecoder 
> > gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
> > Sub-class should implement drain()
> > 0:00:01.718965973  2956 0x68e10a30 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using RGB ! glupload ! glc
> > 0:00:01.726362400  2956 0x68e10a30 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using 
> > RGBww.freedesktop.org/software/gstreamer-
> > sdk/data/media/sintel_trailer-480p.webm 
> > ! glupload 0:00:01.726457405  2956 0x68e10a30 WARN              
> > video-info video-info.c:463:gst_video_info_from_caps: invalid matrix
> > 4 
> > for RGB format, using RGB              ot at cbt7g-imx6:/Apps# 
> > GSgst-launch-1.0 uridecodebin uri=
> > https://www.freedesk0:00:01.728128169  
> > 2956 0x68e10a30 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using RGB
> > 0:00:01.728205506  2956 0x68e10a30 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using RGBload ! glcolo
> > 0:00:01.728464521  2956 0x68e10a30 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using RGB
> > 0:00:01.728970884  2956 0x68e10a30 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using RGB
> > 0:00:01.729322571  2956 0x68e10a30 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using RGB
> > 0:00:01.730005944  2956 0x68e10a30 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using RGB
> > 0:00:01.775663248  2956 0x68e10a30 ERROR                default 
> > video-frame.c:175:gst_video_frame_map_id: invalid buffer size 622080
> > < 
> > 1639680
> > 0:00:01.775980933  2956 0x68e10a30 ERROR            glimagesink 
> > gstglimagesink.c:1630:prepare_next_buffer: Failed to map video frame.
> > 0:00:01.776059937  2956 0x68e10a30 WARN             glimagesink 
> > gstglimagesink.c:1740:gst_glimage_sink_prepare:<sink> error: Failed
> > to 
> > convert multiview video buffer
> > ERROR: from element 
> > /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSi
> > nk:sink: 
> > Failed to convert multiview video buffer
> > Additional debug info:
> > ../../../gst-plugins-base-1.14.4/ext/gl/gstglimagesink.c(1740): 
> > gst_glimage_sink_prepare (): 
> > /GstPipeline:pipeline0/GstGLImageSinkBin:glimagesinkbin0/GstGLImageSi
> > nk:sink
> > ERROR: pipeline doesn't want to preroll.
> > Setting pipeline to NULL ...
> > 0:00:01.795633068  2956 0x68e10a30 ERROR                default 
> > video-frame.c:175:gst_video_frame_map_id: invalid buffer size 622080
> > < 
> > 1639680
> > 0:00:01.795889083  2956 0x68e10a30 ERROR            glimagesink 
> > gstglimagesink.c:1630:prepare_next_buffer: Failed to map video frame.
> > 0:00:01.796545454  2956 0x68e10a30 WARN             glimagesink 
> > gstglimagesink.c:1740:gst_glimage_sink_prepare:<sink> error: Failed
> > to 
> > convert multiview video buffer
> > 
> > If place a capsfilter after glupload as follows this plays.  Although
> > it 
> > is very choppy.
> > 
> > gst-launch-1.0 uridecodebin 
> > uri=
> > https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm
> >  
> > ! glupload ! 'video/x-raw(memory:GLMemory), format=I420' ! 
> > glcolorconvert ! 'video/x-raw(memory:GLMemory), format=RGBA' ! 
> > glimagesink
> > 
> > Pipeline is PREROLLING ...
> > Got context from element 'sink': gst.gl.GLDisplay=context, 
> > gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayVivFB\)\
> > gldisplayvivfb0";
> > 0:00:00.784881429  3038  0x203d0e0 WARN               structure 
> > gststructure.c:1832:priv_gst_structure_append_to_gstring: No value 
> > transform to serialize field 'session' of type 'SoupSession'
> > Got context from element 'source': gst.soup.session=context, 
> > session=(SoupSession)NULL, force=(boolean)false;
> > 0:00:01.664324875  3038 0x69171b80 FIXME           videodecoder 
> > gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
> > Sub-class should implement drain()
> > [INFO]	bitstreamMode 1, chromaInterleave 0, mapType 0, 
> > tiled2LinearEnable 0
> > 0:00:01.676512565  3038 0x68e0fc30 FIXME           videodecoder 
> > gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
> > Sub-class should implement drain()
> > 0:00:01.678046318  3038 0x68e0fc30 FIXME           videodecoder 
> > gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
> > Sub-class should implement drain()
> > Pipeline is PREROLLED ...
> > Setting pipeline to PLAYING ...
> > New clock: GstSystemClock
> > 
> > 
> > Playing through cog via cog -P fdo 
> > https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm
> > 
> > 0:00:02.103917221  2985  0x16eb060 FIXME                default 
> > gstutils.c:3981:gst_pad_create_stream_id_internal:<appsrc0:src>
> > Creating 
> > random stream-id, consider implementing a deterministic way of
> > creating 
> > a stream-id
> > 0:00:02.220573905  2985  0x15b1200 FIXME                    bin 
> > gstbin.c:4338:gst_bin_query: implement duration caching in GstBin
> > again
> > 0:00:02.548372019  2985  0x16f5fb0 WARN                    alsa 
> > conf.c:5000:snd_config_expand: alsalib error: Unknown parameters
> > {AES0 
> > 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
> > 0:00:02.548545695  2985  0x16f5fb0 WARN                    alsa 
> > pcm.c:2501:snd_pcm_open_noupdate: alsalib error: Unknown PCM 
> > default:{AES0 0x02 AES1 0x82 AES2 0x00 AES3 0x02}
> > 0:00:02.752764062  2985 0x6fb0abb0 FIXME           videodecoder 
> > gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
> > Sub-class should implement drain()
> > [INFO]	bitstreamMode 1, chromaInterleave 0, mapType 0, 
> > tiled2LinearEnable 0
> > 0:00:03.192916613  2985  0x183f780 FIXME           videodecoder 
> > gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
> > Sub-class should implement drain()
> > 0:00:03.217193003  2985  0x183f780 FIXME           videodecoder 
> > gstvideodecoder.c:933:gst_video_decoder_drain_out:<imxvpudecoder0> 
> > Sub-class should implement drain()
> > 0:00:04.002508326  2985 0x6e70e950 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using RGB
> > 0:00:04.004410435  2985 0x6e70e950 WARN                glwindow 
> > gstglwindow.c:293:gst_gl_window_new: Could not create window. user 
> > specified (null), creating dummy window
> > 0:00:04.027153405  2mxc_vpu 2040000.vpu_fsl: VPU interrupt received.
> > 985  0x15b1200 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using RGB
> > 0:00:04.028060123  2985 0x6e70e950 WARN              video-info 
> > video-info.c:463:gst_video_info_from_caps: invalid matrix 4 for RGB 
> > format, using RGB
> > 0:00:04.037512332  2985 0x6e70e950 ERROR                default 
> > video-frame.c:175:gst_video_frame_map_id: invalid buffer size 622080
> > < 
> > 1639680
> > 
> > 
> > 
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list