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 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@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@cbt7g-imx6:/Apps# GST_Dgst-launch-1.0 uridecodebin uri=<a href="https://www.f0:00:01.626970658">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@cbt7g-imx6:/Apps# GSgst-launch-1.0 uridecodebin uri=<a href="https://www.freedesk0:00:01.728128169">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/GstGLImageSink: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/GstGLImageSink: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 [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Hi Mike,
Thanks for your interest in WPE ;) On Thu, 2019-02-07 at 19:49 -0700, [hidden email] 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 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@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@cbt7g-imx6:/Apps# > GST_Dgst-launch-1.0 uridecodebin uri=<a href="https://www.f0:00:01.626970658">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@cbt7g-imx6:/Apps# > GSgst-launch-1.0 uridecodebin uri= > <a href="https://www.freedesk0:00:01.728128169">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 > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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, [hidden email] 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@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@cbt7g-imx6:/Apps# > > GST_Dgst-launch-1.0 uridecodebin uri=<a href="https://www.f0:00:01.626970658">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@cbt7g-imx6:/Apps# > > GSgst-launch-1.0 uridecodebin uri= > > <a href="https://www.freedesk0:00:01.728128169">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 > > [hidden email] > > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
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, [hidden email] 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@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@cbt7g-imx6:/Apps# >> > GST_Dgst-launch-1.0 uridecodebin uri=<a href="https://www.f0:00:01.626970658">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@cbt7g-imx6:/Apps# >> > GSgst-launch-1.0 uridecodebin uri= >> > <a href="https://www.freedesk0:00:01.728128169">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 >> > [hidden email] >> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel >> >> _______________________________________________ >> gstreamer-devel mailing list >> [hidden email] >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le sam. 9 févr. 2019 19 h 22, <[hidden email]> a écrit : Thank you for the information. I'm looking into VivDirect path and will In case this is useful, there is a patch abandoned by its author here, not sure it's related: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/476
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |