I met some problems about getting 5M raw data.
I've already got D1 resolution raw data or bmp based on PSP demos. But higher resolution images are required for testing. So I
modified demo codes as below:
Origin codes:
switch(cam_input){
case 1:
in_std =1;
input_std_params = mt9t001_std_params[in_std];
break;
case 31:
in_std =1;
input_std_params = mt9p031_std_params[in_std];
break;
case 34:
in_std =0;
input_std_params = mt9v034_std_params[in_std];
break;
default:
break;
}
I modified the in_std variable to 3
or 4 or 5, and the function start_capture_streaming () returned
success.
And the struct is:
struct capt_std_params mt9p031_std_params[MAX_STDS] = {
{
.std = V4L2_STD_MT9P031_VGA_60FPS,
.scan_width = 640,
.scan_height = 480,
.image_width = 720,
.image_height = 480,
.name = "V4L2_STD_MT9P031_VGA_60FPS",
},
{
.std = V4L2_STD_MT9P031_480p_30FPS,
.scan_width = 720,
.scan_height = 480,
.image_width = 720,//1280,
.image_height = 480,//480,
.name = "V4L2_STD_MT9P031_480p_30FPS",
},
{
.std = V4L2_STD_MT9P031_576p_25FPS,
.scan_width = 720,
.scan_height = 576,
.image_width = 720,
.image_height = 480,
.name = "V4L2_STD_MT9P031_576p_25FPS",
},
{
.std = V4L2_STD_MT9P031_720p_60FPS,
.scan_width = 1280,
.scan_height = 720,
.image_width = 720,
.image_height = 480,
.name = "V4L2_STD_MT9P031_720p_60FPS",
},
{
.std = V4L2_STD_MT9P031_1080p_30FPS,
.scan_width = 1920,
.scan_height = 1080,
.image_width = 720,
.image_height = 480,
.name = "V4L2_STD_MT9P031_1080p_30FPS",
},
{
.std = V4L2_STD_MT9P031_1944p_14FPS,
.scan_width = 2592,
.scan_height = 1944,
.image_width = 720,
.image_height = 480,
.name = "V4L2_STD_MT9P031_1944p_14FPS",
},
};
But something strange happend when implement that
code:
tv.tv_sec = 2;
tv.tv_usec = 0;
r = select (capt_fd + 1, &fds, NULL, NULL, &tv);
tv.tv_usec = 0;
r = select (capt_fd + 1, &fds, NULL, NULL, &tv);
and the select returns 0 all the time which means timeout. But the vpfe isr is normal.
Thanks for advice.
Best Regards;