金牌会员
 
- 积分
- 1182
- 金钱
- 1182
- 注册时间
- 2020-5-13
- 在线时间
- 202 小时
|
10金钱
本帖最后由 肖暗博 于 2024-1-2 15:51 编辑
问题: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>
复制代码
|
|