我使用的是开发板配套的USB摄像头
程序中设置捕获视频的格式的代码是这样的
memset(&vd->fmt, 0, sizeof(struct v4l2_format));
vd->formatIn=V4L2_PIX_FMT_YUYV; //这里我想设成V4L2_PIX_FMT_RGB24格式,就报错了。
// 是摄像头不支持RGB格式呢?还是什么问题呢?
vd->fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
vd->fmt.fmt.pix.width = vd->width;
vd->fmt.fmt.pix.height = vd->height;
vd->fmt.fmt.pix.pixelformat = vd->formatIn;
vd->fmt.fmt.pix.field = V4L2_FIELD_ANY;
ret = ioctl(vd->fd, VIDIOC_S_FMT, &vd->fmt); //设成V4L2_PIX_FMT_RGB24格式,执行这个命令就报错了
if (ret < 0) {
IPRINT("Unable to set format\n");
goto fatal;
}