Glsinkbin with qmlglsink load CPU supposedly by glcolorconvert

Seungha Yang seungha at centricular.com
Sat May 27 12:45:00 UTC 2023


Hi,

 

I guess the heavy CPU loads might happen around CPU <-> GPU memory transfer rather than color conversion.

glcolorconvert uses GPU already.

 

Anyway, manual caps setting to the glsinkbin will not work since it will be updated later by upstream events.

If you want to use D3D11 color conversion path instead of GL, you can configure capsfilter in front of sink, for example:

decodebin ! d3d11upload ! d3d11colorconvert ! d3d11download ! video/x-raw,format=RGBA ! glsinkbin sink=qmlglsink

 

Regards,

Seungha

 

From: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> On Behalf Of Deymos s via gstreamer-devel
Sent: Saturday, May 27, 2023 8:22 PM
To: gstreamer-devel at lists.freedesktop.org
Cc: Deymos s <yarmolovichv at gmail.com>
Subject: Glsinkbin with qmlglsink load CPU supposedly by glcolorconvert

 

Hi, I'm trying to solve the problem of CPU congestion when playing 16 videos on the video wall, my pipeline looked like this initially:
rtspsrc ! decodebin(with d3d11h264dec) ! videoconvert ! glsinkbin sink=qmlglsink

but, heavy CPU loads began, although they should not be with d3d11h264dec, I found that the load comes from sink, specifically glcolorconvert, which converts NV12 to RGBA.

I tried to redo the pipeline on rtspsrc ! decodebin ! d3d11upload ! d3d11colorconvert ! d3d11download ! glsinkbin sink=qmlglsink but d3d11colorconvert cannot be explicitly set to convert NV12 to RGBA. I tried adding caps to the glsinkbin static pad, but it didn't help, it still doesn't convert.

Does anyone have any ideas how to make the video card convert color, and not load the processor with it?

here is pipeline code: https://pastebin.com/h0b90NLx

here is pipeline dot: https://drive.google.com/file/d/1dJVf92svdmnrQ8brayDT-zrKKA_IRboJ/view?usp=sharing

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230527/ceb748cb/attachment.htm>


More information about the gstreamer-devel mailing list