Video Scrolling Issue with ADV7180

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Video Scrolling Issue with ADV7180

跳至解决方案
3,176 次查看
patrickmccleary
Contributor II

I'm trying to bring NTSC video into an IMX6Q development board using an ADV7180 video decoder through a BT.656 stream on CS0. I've got video displaying on the screen using the unit_test/mxc_v4l2_tvin program. Unfortunately it appears there is sync issue as the video rolls vertically across the screen. It also occasionally pauses/stutters. Here is the output from the tvin program when I run ./mxc_v4l2_tvin.out -ow 640 -oh 480:


TV decoder chip is adv7180_decoder

VIDIOC_G_FMT failed

driver=mxc_vout, card=DISP3 FG, bus=, version=0x00000000, capabilities=0x04000002


What is this VIDIOC_G_FMT error I'm seeing?


Also I'm getting the following errors spuriously while the tvin program is running:


IPU_INT_STAT_5 = 0x00000001.


This interrupt means there is new frame before end-of-frame error interrupt on IPU channel 0. Any ideas to why this would happen?


I've attached a short video showing the scrolling/stuttering problems I'm seeing.


-Pat

Update - The issue has been partially solved. The hardware on the I2C bus wasn't working properly and must have caused some corruption during the initialization of the decoder chip. However, I'm still getting one or two scolls across the screen when the tvin program first starts. It looks to be very similar to the issue seen here: Re: screen rolling on a short video source interrupt

I'm not sure how to resolve this since the ADV7180 is not loosing lock on the signal. Any ideas?

标签 (4)
标记 (3)
0 项奖励
1 解答
981 次查看
patrickmccleary
Contributor II

The issue is solved. I modified the mxc_v4l2_tvin application to switch video sources at startup before the video stream is opened which seems to help the sync. This is most certainly a hack and I believe using the EAV/SAV codes is the proper solution. Regardless, I've attached my modified mxc_v4l2_tvin.c for reference. The application now allows the user to set the alpha channel through the command line line as well as automatically switching between an1 and an2 every few seconds. It also allows for re-syncing if a video signal is lost and reconnected.

The attached file is extremely hacky but hopefully it might help someone out.

在原帖中查看解决方案

0 项奖励
1 回复
982 次查看
patrickmccleary
Contributor II

The issue is solved. I modified the mxc_v4l2_tvin application to switch video sources at startup before the video stream is opened which seems to help the sync. This is most certainly a hack and I believe using the EAV/SAV codes is the proper solution. Regardless, I've attached my modified mxc_v4l2_tvin.c for reference. The application now allows the user to set the alpha channel through the command line line as well as automatically switching between an1 and an2 every few seconds. It also allows for re-syncing if a video signal is lost and reconnected.

The attached file is extremely hacky but hopefully it might help someone out.

0 项奖励