Gstreamer1.14 glupload

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Gstreamer1.14 glupload

mike-2
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

notplaying_online.png (276K) Download Attachment
playing_online.png (583K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer1.14 glupload

Philippe Normand
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
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer1.14 glupload

Nicolas Dufresne-5
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
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer1.14 glupload

mike-2
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
Reply | Threaded
Open this post in threaded view
|

Re: Gstreamer1.14 glupload

Nicolas Dufresne-5


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
update with progress.

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


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=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=
>> > 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