how to bypass the "gstglcolorconvertelement" during playback?

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

how to bypass the "gstglcolorconvertelement" during playback?

tugouxp
hi folks:

i am testing the gst playback function with following commands:
      gst-launch-1.0 playbin uri=file:///mnt/UDISK/xingji.mp4 video-sink="glimagesink x=0 y=0 width=400 height=400"
my display hardware support hardware overlay function(support isolated graphic layers of rgb and yuv),  so i expect the video would be displayed on a independent yuv layer, not share with the GUI layer.
but beyond my expection, i found from the display registers that only ONE RGB layer was used during the playback ,which means the video and RGB are mixed together to the some  GUI layer.

and the GST pipeline flow shows that. too, you can see that there are extra "gstglcolorconvertelement"  elements doing the covert operation frome  YUV12 format to RGB .
that was not what i wanted.
so how to bypass the "glimagesink" elements so tath the yuv data can directly show on the yuv layer without convertion?

thanks for your kindly help.

the attachment and the following picture are same, you can refer anyone. 







 


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

image.png (55K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: how to bypass the "gstglcolorconvertelement" during playback?

Nicolas Dufresne-5


Le lun. 3 sept. 2018 07:57, tugouxp <[hidden email]> a écrit :
hi folks:

i am testing the gst playback function with following commands:
      gst-launch-1.0 playbin uri=file:///mnt/UDISK/xingji.mp4 video-sink="glimagesink x=0 y=0 width=400 height=400"
my display hardware support hardware overlay function(support isolated graphic layers of rgb and yuv),  so i expect the video would be displayed on a independent yuv layer, not share with the GUI layer.
but beyond my expection, i found from the display registers that only ONE RGB layer was used during the playback ,which means the video and RGB are mixed together to the some  GUI layer.

This is what GL rendering means. The GPU renders everything into one frame buffer. To use overlays (or underlays as found on modern hw) like you describe you would need a capable compositor (none of Weston, gnome-shell or Kwin supports this) and use waylandsink.


and the GST pipeline flow shows that. too, you can see that there are extra "gstglcolorconvertelement"  elements doing the covert operation frome  YUV12 format to RGB .
that was not what i wanted.
so how to bypass the "glimagesink" elements so tath the yuv data can directly show on the yuv layer without convertion?

thanks for your kindly help.

the attachment and the following picture are same, you can refer anyone. 







 

_______________________________________________
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

image.png (55K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re:Re: how to bypass the "gstglcolorconvertelement" during playback?

tugouxp
hi all:
 
   but, this is another test of using waylandsink without convertor:

 gst-launch-1.0 filesrc location=/mnt/UDISK/N_1080P_AVC_60F.avi ! avidemux ! h264parse ! omxh264dec ! queue ! waylandsink


and the pipeline flow is as below, so , it seems there are no convert operation has been done before stream goes into the wayland sink, but from the hardware view, it still use the one single RGB layer with the GUI, so

why is this? did the gstwaylandsink itself would do the convert from yuv to rgb internallly?  i am very confused! thanks for your kindly support.






At 2018-09-03 22:07:37, "Nicolas Dufresne" <[hidden email]> wrote:


Le lun. 3 sept. 2018 07:57, tugouxp <[hidden email]> a écrit :
hi folks:

i am testing the gst playback function with following commands:
      gst-launch-1.0 playbin uri=file:///mnt/UDISK/xingji.mp4 video-sink="glimagesink x=0 y=0 width=400 height=400"
my display hardware support hardware overlay function(support isolated graphic layers of rgb and yuv),  so i expect the video would be displayed on a independent yuv layer, not share with the GUI layer.
but beyond my expection, i found from the display registers that only ONE RGB layer was used during the playback ,which means the video and RGB are mixed together to the some  GUI layer.

This is what GL rendering means. The GPU renders everything into one frame buffer. To use overlays (or underlays as found on modern hw) like you describe you would need a capable compositor (none of Weston, gnome-shell or Kwin supports this) and use waylandsink.


and the GST pipeline flow shows that. too, you can see that there are extra "gstglcolorconvertelement"  elements doing the covert operation frome  YUV12 format to RGB .
that was not what i wanted.
so how to bypass the "glimagesink" elements so tath the yuv data can directly show on the yuv layer without convertion?

thanks for your kindly help.

the attachment and the following picture are same, you can refer anyone. 







 

_______________________________________________
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

image (1).png (56K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Re: how to bypass the "gstglcolorconvertelement" during playback?

Nicolas Dufresne-5
Le mardi 04 septembre 2018 à 09:22 +0800, tugouxp a écrit :

> hi all:
>  
>    but, this is another test of using waylandsink without convertor:
>  gst-launch-1.0 filesrc location=/mnt/UDISK/N_1080P_AVC_60F.avi !
> avidemux ! h264parse ! omxh264dec ! queue ! waylandsink
>
> and the pipeline flow is as below, so , it seems there are no convert
> operation has been done before stream goes into the wayland sink, but
> from the hardware view, it still use the one single RGB layer with
> the GUI, so
> why is this? did the gstwaylandsink itself would do the convert from
> yuv to rgb internallly?  i am very confused! thanks for your kindly
> support.
I don't mind repeating myself. You need a compositor that supports
this. As of today, none of Weston, gnome-shell or Kwin have this
support. Also, RPi OMX decoder does not have DMABuf support, so it
won't be zero-copy either.

>
>
>
>
>
>
> At 2018-09-03 22:07:37, "Nicolas Dufresne" <[hidden email]>
> wrote:
> >
> > Le lun. 3 sept. 2018 07:57, tugouxp <[hidden email]> a écrit :
> > > hi folks:
> > >
> > > i am testing the gst playback function with following commands:
> > >       gst-launch-1.0 playbin uri=file:///mnt/UDISK/xingji.mp4
> > > video-sink="glimagesink x=0 y=0 width=400 height=400"
> > > my display hardware support hardware overlay function(support
> > > isolated graphic layers of rgb and yuv),  so i expect the video
> > > would be displayed on a independent yuv layer, not share with the
> > > GUI layer.
> > > but beyond my expection, i found from the display registers that
> > > only ONE RGB layer was used during the playback ,which means the
> > > video and RGB are mixed together to the some  GUI layer.
> >
> > This is what GL rendering means. The GPU renders everything into
> > one frame buffer. To use overlays (or underlays as found on modern
> > hw) like you describe you would need a capable compositor (none of
> > Weston, gnome-shell or Kwin supports this) and use waylandsink.
> >
> > > and the GST pipeline flow shows that. too, you can see that there
> > > are extra "gstglcolorconvertelement"  elements doing the covert
> > > operation frome  YUV12 format to RGB .
> > > that was not what i wanted.
> > > so how to bypass the "glimagesink" elements so tath the yuv data
> > > can directly show on the yuv layer without convertion?
> > >
> > > thanks for your kindly help.
> > > the attachment and the following picture are same, you can refer
> > > anyone.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >  
> > > _______________________________________________
> > > 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

signature.asc (201 bytes) Download Attachment