Video Scrolling Issue with ADV7180

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

Video Scrolling Issue with ADV7180

Jump to solution
3,073 Views
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?

Labels (4)
Tags (3)
0 Kudos
1 Solution
878 Views
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.

View solution in original post

0 Kudos
1 Reply
879 Views
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 Kudos