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