Hello,
I am trying to run ov5647 camera at 960p resolution with RAW10 format but getting an ERROR : v4l2 capture: VIDIOC_REQBUFS: not enough buffers . I am able to get video at 1024x768 with RAW10 format.
What I did
In ov5647_mipi.c1) I changed the value at register 0x3034 to 0x1A
2) changed datatype to MIPI_DT_RAW10, pixelformat to V4L2_PIX_FMT_SBGGR10
3) pixel width= 1280, pixel height=960
4) ov5647_data_add.map_sizeimage= ov5647_data.pix.width * ov5647_data.pix.height * 2; /* I420 */
I have tried height*width*3/2 , height*width*4 and height*width*3. But still getting the same error
In mxc_v4l2_capture.c
1)In static inline int valid_mode(u32 palette) added V4L2_PIX_FMT_SBGGR10
2) In static int mxc_v4l2_s_fmt(cam_data *cam, struct v4l2_format *f, bool try_fmt) added suport for V4L2_PIX_FMT_SBGGR10
case V4L2_PIX_FMT_SBGGR10:
size = f->fmt.pix.width * f->fmt.pix.height;
bytesperline = f->fmt.pix.width;
break;
3) In void setup_ifparm(cam_data *cam, int init_defrect)
case V4L2_PIX_FMT_SBGGR10:
csi_param.data_fmt = IPU_PIX_FMT_GENERIC_16;
Please can any one help me out.
Regards,
Abhishek Sharma
Hi Abhishek
This migth be helpful:
i.MX6 OV5647 Bayer sensor driver (ERROR: v4l2 capture: mxc_v4l_dqueue timeout enc_counter 0)
Regards