Hi All:
Now I want to test the mfw_isink function, i want to display four channel videotestsrc on one screen (HDMI)
I use the command as below:
gst-launch videotestsrc pattern=0 ! 'video/x-raw-yuv, format=(fourcc)I420, width=720, height=480' ! mfw_isink sync=false disp-width=320 disp-height=240 axis-top=10 axis-left=10 videotestsrc pattern=1 ! 'video/x-raw-yuv, format=(fourcc)I420, width=720, height=480' ! mfw_isink sync=false disp-width=320 disp-height=240 axis-top=10 axis-left=350 videotestsrc pattern=2 ! 'video/x-raw-yuv, format=(fourcc)I420, width=720, height=480' ! mfw_isink sync=false disp-width=320 disp-height=240 axis-top=10 axis-left=680 videotestsrc pattern=3 ! 'video/x-raw-yuv, format=(fourcc)I420, width=720, height=480' ! mfw_isink sync=false disp-width=320 disp-height=240 axis-top=10 axis-left=1000
and my vssconfig as below:
# vss device definition
# Master=DVI, Slave=TV
# please add "video=video=mxcdi1fb:YUV444,720P60 video=mxcdi0fb:RGB24,1024x768M-16@60" to kernel startup command line
# master display
[master]
type = framebuffer
format = RGBP
fb_num = 1
main_fb_num = 0
However, I got some interference on the screen, I upload the video in the attach, pls check it.
If I add the plugin videoscale in the command:
gst-launch videotestsrc pattern=0 ! 'video/x-raw-yuv, format=(fourcc)I420, width=720, height=480' ! videoscale ! mfw_isink sync=false disp-width=320 disp-height=240 axis-top=10 axis-left=10 videotestsrc pattern=1 ! 'video/x-raw-yuv, format=(fourcc)I420, width=720, height=480' ! videoscale ! mfw_isink sync=false disp-width=320 disp-height=240 axis-top=10 axis-left=350 videotestsrc pattern=2 ! 'video/x-raw-yuv, format=(fourcc)I420, width=720, height=480' ! videoscale ! mfw_isink sync=false disp-width=320 disp-height=240 axis-top=10 axis-left=680 videotestsrc pattern=3 ! 'video/x-raw-yuv, format=(fourcc)I420, width=720, height=480' ! videoscale ! mfw_isink sync=false disp-width=320 disp-height=240 axis-top=10 axis-left=1000
the interference on the screen is decrease.
Maybe we can add buffer plugin between the videotestsrc and mfw_isink, but this isn't the fundamental problem.
Now I can't locate which gst plugin cause the issue. Hope your help!
Thanks advance!
Solved! Go to Solution.
Hi Jacky, the IPU hardware has only one layer of hardware overlay, so when you are drawing multi window to that overlay, combining was needed, and due to combining is on the fly, there will be screen flick. I think the better solution is that, you should render four windows to a memory buffer, then use pan display to draw the memory buffer to frame buffer. This can avoid the flick issue.
Hi Jacky, the IPU hardware has only one layer of hardware overlay, so when you are drawing multi window to that overlay, combining was needed, and due to combining is on the fly, there will be screen flick. I think the better solution is that, you should render four windows to a memory buffer, then use pan display to draw the memory buffer to frame buffer. This can avoid the flick issue.