QtQuick VideoItem qtgstreamer preview color problem
-
Either UYVY or YUYV is YUV422.
By the way which version of Qt are you using ?
Support for YUV422 has been added for QML in 5.8 IIRC.
-
I am using QT 5.2.1.
I think in QT 5.8, direct YUV422 capture supported by QtMutlimedia package. But qt gstreamer supports YUV422 for previous versions also.In this case, i am just using videotestsrc plugin as camera source. And that is not UYVY or YUYV.
If i add caps to pipeline the color conversion issue occur.I think, the problem is that video surface shows a wrong color conversion as it considers video frame in BGR not in RGB.
Any idea or suggestions about how to fix? -
http://gstreamer-devel.966125.n4.nabble.com/QGst-Quick-VideoSurface-Green-Hue-td4664931.html
other person having same problem but his getting green instead of red.
But i am unable to find any solution.
Perhaps you can help. -
What is your image source ?
-
gstreamer "videotestsrc" is image source
-
I meant the one that is not working correctly. Also the test source ?
-
Ya videotestsrc is also not working with I420 format. giving Red hue preview on Videosurface.
m_filter->setProperty("caps", QGst::Caps::fromString("video/x-raw, width=1920, height=1080, format=I420, framerate=30/1"));
But if i changed I420 with RGB its showing proper color.
But if i use RGB for my camera (UYVY) input with videoconvert. I got proper color but its too slow.
But with I420 preview renders smoothly but Reddish preview.In my AMD64 linux pc i tried same with qt 5.5 the preview is with Green Hue.
-
Can you create a small sample application that shows that behavior ?
-
Please find sample app in below link
https://drive.google.com/open?id=0B8d7zQv-G71oM1JONzlpR2t1OWcThere are 4 different cases for videosourece as videotestsrc. For my camera i just replace videotestsrc by v4l2src. But the behavior are same for both sources.
I am using QT 5.2.1 with qtgstreamer 1.2.0 and gstreamer 1.2.4.
Please suggest some solution of videosurface color conversion issue or any other videosink element that i can use in qml.
-
can you get any clue whats wrong in my code?