附上应用层程序:
char* databuf;
struct v4l2_format v4l2_fmt;
struct v4l2_requestbuffers v4l2_reqBufs;
int ret = -1;
int numBufs = 0;
int i = 0;
fd_set fds;
struct timeval tv;
FD_ZERO(&fds);
FD_SET(fd,&fds);
tv.tv_sec = 2;
tv.tv_usec = 0;
ret = ioctl(fd,VIDIOC_S_INPUT,&i);
v4l2_fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE; //V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE
v4l2_fmt.fmt.pix.width = 640;
v4l2_fmt.fmt.pix.height = 480;
v4l2_fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_YUV422P;
v4l2_fmt.fmt.pix.field = V4L2_FIELD_INTERLACED;
ret = ioctl(fd,VIDIOC_S_FMT,&v4l2_fmt);
if(ret)
LOGD("Set Image format failed\n");
//request bufs
v4l2_reqBufs.count = 4;
v4l2_reqBufs.type = 9;
v4l2_reqBufs.memory = V4L2_MEMORY_MMAP;
ret = ioctl(fd,VIDIOC_REQBUFS,&v4l2_reqBufs);
if(ret)
LOGD("Request Buffers failed\n");
而且有几个mplane使用的结构体标准的头文件里面没有额。。。