Hi @joanxie,
Thanks for your reply.
We are using v4l2-ctl to switch between formats.
For example,
After boot, first if we try to stream RAW10 format as given below, the stream works.
# v4l2-ctl -d 3 -v width=4208,height=3124,pixelformat='BA10' --stream-mmap
[ 56.755600] streamdb[0]=0, mode=8
[ 56.755618] streamdb[1]=1, mode=8
[ 56.758971] streamdb[2]=2, mode=8
[ 56.762301] streamdb[3]=3, mode=8
[ 56.765634] streamdb[4]=4, mode=8
[ 56.768962] streamdb[5]=5, mode=8
[ 56.772291] streamdb[6]=6, mode=8
[ 56.775607] streamdb[7]=7, mode=8
[ 56.778934] streamdb[8]=8, mode=8
[ 56.782265] Index = 0x0008 , format = 0x30314142, width = 4208, height = 3124, frate num = 20
[ 56.834770] input fmt BA10
[ 56.837510] output fmt BA10
<<<<<<<<<<<<<<<<<<<<<< 20.00 fps
<<<<<<<<<<<<<<<<<<<< 20.00 fps
<<<<<<<<<<<<<<<<<<<< 20.00 fps
<<<<<<<<<<<<<<<<<<<< 20.00 fps
<<<<<<<^C
root@ucm-imx8m-plus:~#
Then, I tried to stream the UYVY format as given below. But the system sets all the configuration in the platform and camera but stops without streaming. There is frame done interrupt in the platform.
# v4l2-ctl -d 3 -v width=4192,height=3120,pixelformat='UYVY' --stream-mmap
[ 96.384454] streamdb[0]=0, mode=4
[ 96.384471] streamdb[1]=1, mode=4
[ 96.387840] streamdb[2]=2, mode=4
[ 96.391173] streamdb[3]=3, mode=4
[ 96.394504] streamdb[4]=4, mode=4
[ 96.397832] Index = 0x0004 , format = 0x59565955, width = 4192, height = 3120, frate num = 13
[ 96.463186] bypass csc
[ 96.465562] input fmt YUV4
[ 96.468283] output fmt UYVY
The platform gives no error. But it is not able to receive the frames properly during the format switch. We have confirmed on the camera side that the requested format is configured and MIPI activity is proper in the camera hardware.
Kindly let us know in case any other additional information is needed.
Thanks.