问题:V4l2框架应用摄像头捕获视频流显示在LCD上,但是出现了v4l2 的 "VIDIOC_ENUM_FRAMESIZES"该项枚举不成功,所以出现了视频花屏以及像素不对;
前提:
1.ov2640驱动成功,生成了有效的设备节点;
2.RGB显示屏能显示画面 ; (lcd分辨率480*272)
3.使用的是正点原子的V4l2框架应用程序;
Debug发现:
1. ioctl视频尺寸时返回值是25 ; 不会进行下一步运行ret =ioctl(v4l2_fd, VIDIOC_ENUM_FRAMESIZES, &frmsize) ;
2.在设置视频流格式时,发现设置RG565,以及分辨率为480*272,函数返回值是成功的; 但是打印出实际值确实640*480 ;
以下是log信息;
format<0x56595559>, description<YUYV-16>
ret = 25
format<0x59565955>, description<UYVY-16>
ret = 25
format<0x50424752>, description<RGB565_BE>
ret = 25
format<0x50424752>, description<RGB565_LE>
ret = 25
v4l2_set_format : width =480,height=272
RGB565设置成功
视频帧大小<640 * 480>
|