Scrolling video after input switch on Analogue Camera Adaptor?

We’re using the Analogue Camera Adaptor with our Apalis iMX6Q on the Ixora carrier board. We’ve got two cameras connected, and we switch between them using the i2cset command like so:

i2cset -f -y 3 0x21 0x00 0x00 # first input

i2cset -f -y 3 0x21 0x00 0x01 # second input

This successfully switches input, but we get this weird behavior where the new camera input slowly scrolls down the screen on top of the old camera input. It sometimes takes over 5 seconds for it to fully switch over to the new camera. Seems like some sort of vertical sync has gone terribly wrong.

I’ve tried stopping and restarting the entire camera feed ( camera.stop() followed by camera.start() in Qt) but this freezes the system for a few seconds and looks janky.

I’ve also looked into the fast switch mode in the ADV7280 within the Adaptor module (https://ez.analog.com/video/w/documents/703/fast-switch-mode--adv728x), but to no avail. The scripts they provide use I2C address 0x42 instead of 0x21 which I’ve seen used elsewhere, adding to the confusion.

I’ve seen several other threads with this issue, but none of them have been resolved. Anyone know what might be the issue?

Update: I’ve reproduced the issue on the default Toradex Linux v2.8b6 image installed via EasyInstaller. To display the feed, I run:
gst-launch-1.0 imxv4l2videosrc ! autovideosink

Video of the problem (87 MB download)

Hi @raphieps

As you wrote there are other customers who were having this issue. One Solution was the following, but we don’t know if it worked at the end. You may try this.

Best regards,
Jaski

Hey @jaski.tx - stopping the stream and restarting does indeed fix the scrolling line issue, but it also means the video stream is frozen for around 2 seconds, which is too much for our application. Are there any other approaches you’ve seen working?

Hi @raphieps

Thanks for your feedback. Unfortunately we don’t know a better solution.

Best regards,
Jaski