UVC camera app squeezing vertical resolution

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
sbattazzo_arc
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

Hello,

Due to supply chain issues I had to re-implement the AN75779 with a different image sensor than I was using before, with a 1280x1024 resolution.

Interestingly, in my camera app I do get a 1280x1024 window,  but 150-ish rows on the top and bottom of the image are always black, and the effective area of active pixels come out to 1280x720. And I believe this is somehow squeezing the full Y-dimension of the image into a reduced height, because when I tried to capture a checkerboard pattern for spatial characterization, the squares did not come out to be nearly perfectly square, but they are shorter in the Y direction.

I know this is not my sensor electrically because I plugged the same sensor into an FPGA system and initialized it with the same setup command sequence and the image comes out to the full resolution.

 

So is there something in the FX3 firmware that could cause this to happen, or is it somehow in the Windows side of things?

0 Likes
1 Solution
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

uvHello,

Yes, the host application will expect the frame size/video resolution based on the UVC descriptors and UVC probe control structure. Appropriate changes need to be done when the video resolution is changes.

Please refer to trouble shooting section of AN75779 https://www.infineon.com/dgdl/Infineon-AN75779_How_to_Implement_an_Image_Sensor_Interface_with_EZ-US... or refer to section 9.4 of the app note

Regards,
Rashi

View solution in original post

0 Likes
2 Replies
sbattazzo_arc
Level 1
Level 1
10 sign-ins 5 replies posted 5 sign-ins

OK, I think the problem is solved!

The app note source is set up with an aspect ratio of 16:9 in the UVC descriptor, while the correct ratio for this resolution is 5:4. Even though the Windows camera app dropdown menus showing the resolution recognize that it should be 5:4, it still acts on the 16:9 values in the descriptor which causes some funny business.

I tried doing frame grab in OpenCV/Python and had the same issue, so I guess it's internal to the Windows UVC driver, though some other apps like AmCap seem to find a way to ignore that and operate correctly either way. Unfortunately AmCap wasn't an option for the work machine that I need to use.

Interestingly at other more oddball resolutions I tried I didn't seem to have this issue, that I know of, or maybe I just didn't notice.

Hopefully this is useful to somebody, I know that there are a few topics on here that end up being an issue of thoroughly and correctly populating all the fields of the descriptors.

0 Likes
Rashi_Vatsa
Moderator
Moderator
Moderator
5 likes given 500 solutions authored 1000 replies posted

uvHello,

Yes, the host application will expect the frame size/video resolution based on the UVC descriptors and UVC probe control structure. Appropriate changes need to be done when the video resolution is changes.

Please refer to trouble shooting section of AN75779 https://www.infineon.com/dgdl/Infineon-AN75779_How_to_Implement_an_Image_Sensor_Interface_with_EZ-US... or refer to section 9.4 of the app note

Regards,
Rashi
0 Likes