Hello,
We have purchased NXP MIPI-CSI camera MINISASTOCSI kit and followed the instructions in this application note https://www.nxp.com/docs/en/application-note/AN12187.pdf to test the camera on NXP i.MX8M EVK rev B3 running L4.9.51-ga Linux BSP release. Both camera connectors were tested. The camera output was sent to HDMI display. The frame rate we've received is around 7fps, even in lowest resolution. What should be done to get the maximum frame rates advertised by the application note above (e.g. 30fps at 1080p).
Thanks.
Felix.
hi Felix:
You can decrease GST_V4L2_MIN_BUFFERS or increase MAX_VIDEO_MEM in drivers/media/platform/mxc/capture/mx6s_capture.c to enable camera resolution 2592x1944 preview work, but this resolution performance is not good, that is about 8 FPS. I will check this.
hi Felix:
Please use new 2592x1944 setting, the MAX FPS supported by OV5640 is 15FPS.
static struct reg_value ov5640_setting_15fps_QSXGA_2592_1944[] = {
{0x3008, 0x42, 0, 0},
{0x4202, 0x0f, 0, 0}, /* stream off the sensor */
{0x3820, 0x40, 0, 0}, {0x3821, 0x06, 0, 0}, /*disable flip*/
{0x3035, 0x21, 0, 0}, {0x3036, 0xA8, 0, 0}, {0x3c07, 0x08, 0, 0},
{0x3c09, 0x1c, 0, 0}, {0x3c0a, 0x9c, 0, 0}, {0x3c0b, 0x40, 0, 0},
{0x3820, 0x40, 0, 0}, {0x3821, 0x06, 0, 0}, {0x3814, 0x11, 0, 0},
{0x3815, 0x11, 0, 0}, {0x3800, 0x00, 0, 0}, {0x3801, 0x00, 0, 0},
{0x3802, 0x00, 0, 0}, {0x3803, 0x00, 0, 0}, {0x3804, 0x0a, 0, 0},
{0x3805, 0x3f, 0, 0}, {0x3806, 0x07, 0, 0}, {0x3807, 0x9f, 0, 0},
{0x3808, 0x0a, 0, 0}, {0x3809, 0x20, 0, 0}, {0x380a, 0x07, 0, 0},
{0x380b, 0x98, 0, 0}, {0x380c, 0x0b, 0, 0}, {0x380d, 0x1c, 0, 0},
{0x380e, 0x07, 0, 0}, {0x380f, 0xb0, 0, 0}, {0x3810, 0x00, 0, 0},
{0x3811, 0x10, 0, 0}, {0x3812, 0x00, 0, 0}, {0x3813, 0x04, 0, 0},
{0x3618, 0x04, 0, 0}, {0x3612, 0x2b, 0, 0}, {0x3708, 0x21, 0, 0},
{0x3709, 0x12, 0, 0}, {0x370c, 0x00, 0, 0}, {0x3a02, 0x03, 0, 0},
{0x3a03, 0xd8, 0, 0}, {0x3a08, 0x01, 0, 0}, {0x3a09, 0x27, 0, 0},
{0x3a0a, 0x00, 0, 0}, {0x3a0b, 0xf6, 0, 0}, {0x3a0e, 0x03, 0, 0},
{0x3a0d, 0x04, 0, 0}, {0x3a14, 0x03, 0, 0}, {0x3a15, 0xd8, 0, 0},
{0x4001, 0x02, 0, 0}, {0x4004, 0x06, 0, 0}, {0x4713, 0x02, 0, 0},
{0x4407, 0x0c, 0, 0}, {0x460b, 0x35, 0, 0}, {0x460c, 0x22, 0, 0},
{0x3824, 0x01, 0, 0}, {0x5001, 0x83, 0, 70}, {0x3008, 0x02, 0, 0},
{0x4202, 0x00, 0, 0}, /* stream on the sensor */
};
Hi Tom,
With new 2592x1944 settings and GST_V4L2_MIN_BUFFERS=6 the capture at maximum resolution works at 15fps. All other resolutions work at 30fps.
Thanks a lot for your help.
Felix.
Hello, Felix:
Please check 2 changes:
- Please apply for tuning patches sent by email for eMMC test..
- Please enlarge GST_V4L2_MIN_BUFFERS in the following file from 2 to 7
/gstreamer1.0-plugins-good/1.12.2-r0/git/sys/v4l2/gstv4l2object.h :
#define GST_V4L2_MIN_BUFFERS 7
I will check whether more changes are required tomorrow.
Hello xiaoli.zhang,
How vital are the tuning patches to the eMMC for streaming to disk (or rather NVM)? We can get 30fps 1080p through two cameras to /tmp, but not to SD/eMMC.
Ryan