Gstreamer1.14 glupload

mike at baseforsale.com mike at baseforsale.com
Sun Feb 10 00:22:22 UTC 2019


Thank you for the information.  I'm looking into VivDirect path and will 
update with progress.

On 2019-02-08 06:42, Nicolas Dufresne wrote:
> 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
> 
> _______________________________________________
> 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