I’m using three 1.2 Megapixel USB cameras (@20FPS) connected to the USB3 port of the Jetson TX1 through a powered Sabrent USB 3.0 Hub.
There are a couple of issues:
When two or more cameras are streaming (using multiple instances of guvcview), the HDMI output of non-video windows has obvious pixel jitter generally on the right half of the screen. Although right now it’s 3/4 of the screen starting on the left side with all three cameras going. It manifests as complete columns of data the full height of the screen a varying width bouncing back and forth semi-randomly. I do not care about this issue, as I’ve seen lots of bad behavior from the drawing engine while using Ubuntu 14.04. I just find it interesting that this issue only shows itself when a high bandwidth DMA engines are writing main memory and / or blitting to the screen.
Data from the camera(s) is corrupt with green stripes that make it seem as if the data is all 0x0 or all 0xFFFF for every pixel. Sometimes the green stripes occur on just the bottom of the image, sometimes for much of the image. The incident of green stripes seems to be higher the more cameras are running. I cannot tell, at this time if this is an USB 3.0 fetch issue (considering the error detection that happens with SERDES, I suspect not) or if it’s a blit issue with the openCV interface that I’m using to display the data or some other video related hardware issue. If it’s a problem with displaying the data, I really don’t care as I don’t need to see the data, I just need to operate on it. But if it’s an USB 3.0 DMA issue, I really care. I just did more testing and this may be related to a specific camera or to the Sabrent USB hub. I’ll have to do more testing.
I’ll be writing more code in the coming days and will eventually be able to figure out of the data is being corrupted by the USB fetch process or the display process but I wanted to give you guys a heads up, as it makes the system feel unstable. Actually the whole HDMI output drawing seems rather unstable.
Thanks for listening.