imx6 mfw_isink display four videotestsrc have some interfere issue

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx6 mfw_isink display four videotestsrc have some interfere issue

Jump to solution
1,568 Views
huangjacky
Contributor III

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!


Labels (3)
Tags (3)
0 Kudos
1 Solution
862 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

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.

View solution in original post

0 Kudos
1 Reply
863 Views
qiang_li-mpu_se
NXP Employee
NXP Employee

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.

0 Kudos