The following command worked for R24.2.1:
v4l2-ctl -d /dev/video0 --set-fmt-video=width=2592,height=1944,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=1 --stream-to=image.raw
but does not work for R28.1 (Jetpack 3.1).
It returns without error but captured image has all zeros.
There is no error message in “dmesg”.
All our applications use raw acquisitions (V4L2), what could break V4L2 for TX1 onboard camera?
hello yahoo2016,
this is a known issue due to 1st frame of ov5693 did not contain complete frame,
24.2.1 vi driver would drop first two frames hence you did not saw this issue.
this has been removed in the latest vi driver to improve frame latency,
please refer to R28.1/kernel/kernel-4.4/drivers/media/platform/tegra/camera/vi/channel.c
and please also refer to the code snippet as below,
321 #if 0
322 /* This will drop the first two frames. Disable for now. */
323 if (chan->capture_state != CAPTURE_GOOD ||
324 chan->released_bufs < 2)
325 chan->buffer_state[chan->free_index] =
326 VB2_BUF_STATE_ERROR;
327 #endif
328 vb2_buffer_done(&vbuf->vb2_buf,
329 chan->buffer_state[chan->free_index++]);
you could simply increase the stream count to dump complete frame. thanks
v4l2-ctl -d /dev/video0 --set-fmt-video=width=2592,height=1944,pixelformat=RG10 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=5 --stream-to=image.raw
Jerry,
Thanks for your quick response.
I captured 20 frames and the frames after the first frame is not black but scrambled.
I read some other posts about 400KHz I2C does not work for newer L4Ts and DTB had to be modified to use 100KHz I2C clock.
I’m wondering if the OV5693 is correctly configured.
Were you able to verify the frames after the first frame are correct?
I followed above link changed TEGRA_STRIDE_ALIGNMENT in “kernel-4.4/drivers/media/platform/tegra/camera/vi/core.h” from 256 back to 64, the frames after the first frame are correct now.