Thanks for the suggestion. Much easier to test like this. Essentially any other input format different than 1080p@60 produced this:
jetson@ubuntu:~$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1080,height=720,pixelformat=UYVY --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1000
New timings found
And then locked.
It sometimes is able to process other formats as well, but maybe 1/10 tries.
jetson@ubuntu:~$ v4l2-ctl -d /dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1000
New timings found
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 50.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 50.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 50.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 50.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 50.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 50.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 50.00 fps
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
If I were to guess, I’d say that the TC358743 driver I have in right now can’t handle anything besides 1080p@60. I am seeing a few driver errors with dmesg, but not familiar enough with the code to be able to tell what they mean (these errors appeared when trying to capture frames using gstreamer)
Error in tc358743_enum_frame_interval num framerates (3 outside 3)
Error in tc358743_enum_frame_size, 2 outside of num_frmfmt (2)
Unexpected code (4106), UYUV: 1498831189, ABGR32: 875708738
The interesting part is that going back into the driver’s kernel log, I can see that a lot of the frames are correctly detected:
[ 1833.691748] tc358743 6-000f: Trying to find frmfmt that matches fse->code, code: 8207 (UYVY: 1498831189, ARGB32: 875708738, MEDIA_BUS_FMT_UYVY8_1X16: 8207, MEDIA_BUS_FMT_RGB888_1X24: 4106)
[ 1833.691750] tc358743 6-000f: Code ok
[ 1833.691753] tc358743 6-000f: Index ok
[ 1833.691756] tc358743 6-000f: !!! tc358743_enum_frame_size() complete successfully, width: 1280, height: 720
[ 1833.691762] tc358743 6-000f: tc358743_enum_frame_interval()
[ 1833.691764] tc358743 6-000f: ----------------------------------------
[ 1833.691767] tc358743 6-000f: Trying to find frame interfval that matches fie->code, code: 8207 (UYVY: 1498831189, ARGB32: 875708738, MEDIA_BUS_FMT_UYVY8_1X16: 8207)
[ 1833.691769] tc358743 6-000f: Code ok
[ 1833.691772] tc358743 6-000f: Matched width 1280 and 1280, height 720 and 720
[ 1833.691774] tc358743 6-000f: w/h ok or end (i=0, num=2)
[ 1833.691776] tc358743 6-000f: i ok
[ 1833.691778] tc358743 6-000f: index ok
[ 1833.691781] tc358743 6-000f: !!! tc358743_enum_frame_interval() completed successfully, interval: 1/30
[ 1833.691790] tc358743 6-000f: tc358743_enum_frame_interval()
[ 1833.691792] tc358743 6-000f: ----------------------------------------
[ 1833.691795] tc358743 6-000f: Trying to find frame interfval that matches fie->code, code: 8207 (UYVY: 1498831189, ARGB32: 875708738, MEDIA_BUS_FMT_UYVY8_1X16: 8207)
[ 1833.691797] tc358743 6-000f: Code ok
[ 1833.691799] tc358743 6-000f: Matched width 1280 and 1280, height 720 and 720
[ 1833.691801] tc358743 6-000f: w/h ok or end (i=0, num=2)
[ 1833.691803] tc358743 6-000f: i ok
[ 1833.691805] tc358743 6-000f: index ok
[ 1833.691808] tc358743 6-000f: !!! tc358743_enum_frame_interval() completed successfully, interval: 1/50
[ 1833.691813] tc358743 6-000f: tc358743_enum_frame_interval()
[ 1833.691815] tc358743 6-000f: ----------------------------------------
[ 1833.691818] tc358743 6-000f: Trying to find frame interfval that matches fie->code, code: 8207 (UYVY: 1498831189, ARGB32: 875708738, MEDIA_BUS_FMT_UYVY8_1X16: 8207)
[ 1833.691819] tc358743 6-000f: Code ok
[ 1833.691822] tc358743 6-000f: Matched width 1280 and 1280, height 720 and 720
[ 1833.691824] tc358743 6-000f: w/h ok or end (i=0, num=2)
[ 1833.691826] tc358743 6-000f: i ok
[ 1833.691828] tc358743 6-000f: index ok
[ 1833.691830] tc358743 6-000f: !!! tc358743_enum_frame_interval() completed successfully, interval: 1/60
[ 1833.691835] tc358743 6-000f: tc358743_enum_frame_interval()
[ 1833.691837] tc358743 6-000f: ----------------------------------------
[ 1833.691840] tc358743 6-000f: Trying to find frame interfval that matches fie->code, code: 8207 (UYVY: 1498831189, ARGB32: 875708738, MEDIA_BUS_FMT_UYVY8_1X16: 8207)
[ 1833.691842] tc358743 6-000f: Code ok
[ 1833.691844] tc358743 6-000f: Matched width 1280 and 1280, height 720 and 720
[ 1833.691846] tc358743 6-000f: w/h ok or end (i=0, num=2)
[ 1833.691848] tc358743 6-000f: i ok
[ 1833.691851] tc358743 6-000f: Error in tc358743_enum_frame_interval num framerates (3 outside 3)