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