<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Painting NV12-Formatted Images to QLabel]]></title><description><![CDATA[<p dir="auto">Hello,</p>
<p dir="auto">I'm working on an application that will feature a gstreamer video in the main Qt window.  In my case Qt 5 is running in an embedded environment which requires me to use a gstreamer decoding plugin that outputs NV12-formatted frames only.  Seeing as converting from NV12 to RGB is placing a large strain on my CPU, I'd like to display the frames in NV12.  I've noticed that QVideoFrame works with NV12, but receiving a buffer in memory (from gstreamer) does not jive well with QVideoFrame's constructors.  Is there a way to take an NV12 formatted image residing in memory and paint it to the screen with low latency?</p>
]]></description><link>https://forum.qt.io/topic/79856/painting-nv12-formatted-images-to-qlabel</link><generator>RSS for Node</generator><lastBuildDate>Wed, 22 Apr 2026 20:52:42 GMT</lastBuildDate><atom:link href="https://forum.qt.io/topic/79856.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 01 Jun 2017 17:02:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Wed, 14 Jun 2017 21:37:29 GMT]]></title><description><![CDATA[<p dir="auto">I'm not trying to avoid that plugin, just to understand how your setup is working.</p>
<p dir="auto">If using OpenGL is an option, QtMultimedia through Qt Quick should be able to show these frames. The backend is using gstreamer so depending on the gstreamer line you have to use you may have to tweak Qt's backend to do the same thing.</p>
]]></description><link>https://forum.qt.io/post/399546</link><guid isPermaLink="true">https://forum.qt.io/post/399546</guid><dc:creator><![CDATA[SGaist]]></dc:creator><pubDate>Wed, 14 Jun 2017 21:37:29 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Wed, 14 Jun 2017 13:13:30 GMT]]></title><description><![CDATA[<p dir="auto">Just using good ol' gst_parse_launch.  The key here is that the plugin does not support anything other than NV12, and colorspace changes on the processor using the gstreamer convert plugin to get to RGB are too processor intensive to be worth it.  But the gstreamer plugin isn't negotiable.  It's manufacturer and hardware specific.</p>
<p dir="auto">So that's why I'm wondering if I can get NV12-formatted frames to be painted on the screen.</p>
]]></description><link>https://forum.qt.io/post/399488</link><guid isPermaLink="true">https://forum.qt.io/post/399488</guid><dc:creator><![CDATA[twall]]></dc:creator><pubDate>Wed, 14 Jun 2017 13:13:30 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Tue, 13 Jun 2017 21:59:11 GMT]]></title><description><![CDATA[<p dir="auto">How are you using that gstreamer plugin ?</p>
]]></description><link>https://forum.qt.io/post/399312</link><guid isPermaLink="true">https://forum.qt.io/post/399312</guid><dc:creator><![CDATA[SGaist]]></dc:creator><pubDate>Tue, 13 Jun 2017 21:59:11 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Tue, 13 Jun 2017 20:48:26 GMT]]></title><description><![CDATA[<p dir="auto">I have a camera that I receive data from over a special co-processor, through a manufacturer specific gstreamer plugin.  The decoded frame appears in a uchar array in NV12 format, and I would like to be able to paint that on a screen using QVideoFrame.  Going through the documentation it appears that the best way to get a uchar* like this into QVideoFrame is through QAbstractVideoBuffer, but since this video is not in the framebuffer to begin with, QAbstractVideoBuffer doesn't want to latch onto it.</p>
<p dir="auto">I was wondering if there's a way to get this uchar array onto the screen.</p>
]]></description><link>https://forum.qt.io/post/399301</link><guid isPermaLink="true">https://forum.qt.io/post/399301</guid><dc:creator><![CDATA[twall]]></dc:creator><pubDate>Tue, 13 Jun 2017 20:48:26 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Tue, 13 Jun 2017 20:17:28 GMT]]></title><description><![CDATA[<p dir="auto">Can you describe how your application is currently working ? And what is your problem with loading the NV12 data in QVideoFrame ?</p>
]]></description><link>https://forum.qt.io/post/399292</link><guid isPermaLink="true">https://forum.qt.io/post/399292</guid><dc:creator><![CDATA[SGaist]]></dc:creator><pubDate>Tue, 13 Jun 2017 20:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Tue, 13 Jun 2017 13:15:25 GMT]]></title><description><![CDATA[<p dir="auto">The problem with QtGstreamer is simply that we already have a working standard Gstreamer plugin/program for our custom camera.  The other problem is that it's a nonstandard processor that offloads all of its image decoding onto a co-processor, but that coprocessor sends back NV12-formatted decoded frames.</p>
]]></description><link>https://forum.qt.io/post/399237</link><guid isPermaLink="true">https://forum.qt.io/post/399237</guid><dc:creator><![CDATA[twall]]></dc:creator><pubDate>Tue, 13 Jun 2017 13:15:25 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Mon, 12 Jun 2017 22:25:45 GMT]]></title><description><![CDATA[<p dir="auto">Out of curiosity, what's the problem with QtGStreamer ?</p>
<p dir="auto">What kind of camera are you using?</p>
]]></description><link>https://forum.qt.io/post/399069</link><guid isPermaLink="true">https://forum.qt.io/post/399069</guid><dc:creator><![CDATA[SGaist]]></dc:creator><pubDate>Mon, 12 Jun 2017 22:25:45 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Mon, 12 Jun 2017 19:57:52 GMT]]></title><description><![CDATA[<p dir="auto">Honestly QtGstreamer is not what I'm looking for.  I'm looking to see if there's any Qt5 support for taking an NV12 frame, and painting it on the screen similar to a QImage.  I know that there's QVideoFrame, but the images are coming in live, not from a file.</p>
]]></description><link>https://forum.qt.io/post/399047</link><guid isPermaLink="true">https://forum.qt.io/post/399047</guid><dc:creator><![CDATA[twall]]></dc:creator><pubDate>Mon, 12 Jun 2017 19:57:52 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Mon, 05 Jun 2017 20:30:18 GMT]]></title><description><![CDATA[<p dir="auto">Indeed, that answer was supposed to be for another thread. I wonder how it ended up here.</p>
<p dir="auto">Can you elaborate on the reasons you don't have these backends with QtGStreamer ?</p>
]]></description><link>https://forum.qt.io/post/397419</link><guid isPermaLink="true">https://forum.qt.io/post/397419</guid><dc:creator><![CDATA[SGaist]]></dc:creator><pubDate>Mon, 05 Jun 2017 20:30:18 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Mon, 05 Jun 2017 13:22:08 GMT]]></title><description><![CDATA[<p dir="auto">???</p>
<p dir="auto">I think this is the wrong post, my application has no need for SSL.</p>
]]></description><link>https://forum.qt.io/post/397372</link><guid isPermaLink="true">https://forum.qt.io/post/397372</guid><dc:creator><![CDATA[twall]]></dc:creator><pubDate>Mon, 05 Jun 2017 13:22:08 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Sat, 03 Jun 2017 20:07:23 GMT]]></title><description><![CDATA[<p dir="auto">Ho did you build Qt and the support for OpenSSL ?</p>
]]></description><link>https://forum.qt.io/post/397175</link><guid isPermaLink="true">https://forum.qt.io/post/397175</guid><dc:creator><![CDATA[SGaist]]></dc:creator><pubDate>Sat, 03 Jun 2017 20:07:23 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Fri, 02 Jun 2017 04:11:29 GMT]]></title><description><![CDATA[<p dir="auto">Okay, but what if I don't have those sinks that are mentioned in the QtGstreamer API?  ("qtvideosink", "qtglvideosink" and "qwidgetvideosink" (or "qt5videosink", "qt5glvideosink" and "qwidget5videosink" in Qt5))</p>
]]></description><link>https://forum.qt.io/post/396910</link><guid isPermaLink="true">https://forum.qt.io/post/396910</guid><dc:creator><![CDATA[twall]]></dc:creator><pubDate>Fri, 02 Jun 2017 04:11:29 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Thu, 01 Jun 2017 22:30:54 GMT]]></title><description><![CDATA[<p dir="auto">AFAIR yes. They have several sinks between widget, OpenGL and QtQuick.</p>
]]></description><link>https://forum.qt.io/post/396890</link><guid isPermaLink="true">https://forum.qt.io/post/396890</guid><dc:creator><![CDATA[SGaist]]></dc:creator><pubDate>Thu, 01 Jun 2017 22:30:54 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Thu, 01 Jun 2017 21:54:35 GMT]]></title><description><![CDATA[<p dir="auto">I am using gstreamer directly (using the appsink plugin to get the frames from my NV12-only decoder).  Would QtGstreamer be able to allow me to display NV12-formatted buffers on the display?</p>
]]></description><link>https://forum.qt.io/post/396881</link><guid isPermaLink="true">https://forum.qt.io/post/396881</guid><dc:creator><![CDATA[twall]]></dc:creator><pubDate>Thu, 01 Jun 2017 21:54:35 GMT</pubDate></item><item><title><![CDATA[Reply to Painting NV12-Formatted Images to QLabel on Thu, 01 Jun 2017 20:21:07 GMT]]></title><description><![CDATA[<p dir="auto">Hi and welcome to devnet,</p>
<p dir="auto">Are you using gstreamer directly ?</p>
<p dir="auto">If so, you should consider the QtGStreamer module from the gstreamer folks.</p>
]]></description><link>https://forum.qt.io/post/396873</link><guid isPermaLink="true">https://forum.qt.io/post/396873</guid><dc:creator><![CDATA[SGaist]]></dc:creator><pubDate>Thu, 01 Jun 2017 20:21:07 GMT</pubDate></item></channel></rss>