免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1925 | 回复: 2
打印 上一主题 下一主题

[驱动] 关于uvc 的问题,enum_frame_formats获取的格式在PC和嵌入式上不同 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-06 16:19 |只看该作者 |倒序浏览
有一个CAMERA
在嵌入式平台:ARM9,2416 内核:linux3.1
PC 机: 虚拟机Fedora 10  内核:linux2.6.27,
采用luvcview -L 支持的格式相差很大,不光制式有区别,支持的像素也有很大区别,
我现在要设置1024X576,不成功

ARM 下:
Device information:
  Device path:  /dev/video0
/dev/video0 does not support read i/o
{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
{ discrete: width = 320, height = 240 }
        Time interval between frame: 1/5,
{ discrete: width = 160, height = 120 }
        Time interval between frame: 1/20, 1/15, 1/10, 1/5,
PC 下:
/dev/video0 does not support read i/o
{ pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
{ discrete: width = 1024, height = 576 }
        Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 864, height = 480 }
        Time interval between frame: 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 640, height = 480 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 640, height = 360 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 544, height = 288 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 432, height = 240 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 352, height = 288 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 320, height = 240 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 320, height = 176 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 176, height = 144 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 160, height = 120 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 752, height = 416 }
        Time interval between frame: 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 800, height = 448 }
        Time interval between frame: 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 800, height = 600 }
        Time interval between frame: 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 960, height = 544 }
        Time interval between frame: 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 960, height = 720 }
        Time interval between frame: 1/15, 1/10, 1/5,
{ discrete: width = 1184, height = 656 }
        Time interval between frame: 1/10, 1/5,
{ discrete: width = 1280, height = 720 }
        Time interval between frame: 1/10, 1/5,
{ pixelformat = 'MJPG', description = 'MJPEG' }
{ discrete: width = 864, height = 480 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 640, height = 480 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 640, height = 360 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 544, height = 288 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 432, height = 240 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 352, height = 288 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 320, height = 240 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 320, height = 176 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 176, height = 144 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 160, height = 120 }
        Time interval between frame: 1/60, 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 752, height = 416 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 800, height = 448 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 800, height = 600 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 960, height = 544 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 960, height = 720 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1024, height = 576 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1184, height = 656 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,
{ discrete: width = 1280, height = 720 }
        Time interval between frame: 1/30, 1/25, 1/20, 1/15, 1/10, 1/5,


为什么在ARM平台下,不支持640x480呢?我在网上也搜索很多资料,没有结果。
可能原因:
(1) ARM平台采用的usb1.1, PC下是USB2.0,我也问过摄像头的厂家,他们在USB1.1上没有问题,可以设置像素大小
ARM 下的USB 有USB HUB, 可能对USB的传输速度还是有影响。
(2)ARM 下frame buffer的限制,屏幕不支持,可我这里没有GUI 界面,枚举格式支持跟屏有关?
(3)内存不足,可我查看了内核的驱动,没查询到哪里有buffer的限制

有人能告诉我 是内核裁剪的问题,还是其他原因吗,搞了好多天了,谢谢!

论坛徽章:
0
2 [报告]
发表于 2014-08-08 13:41 |只看该作者
自己顶一下

论坛徽章:
0
3 [报告]
发表于 2014-08-21 17:14 |只看该作者
自己结贴了,经过测试,这个真跟USB1.1 有关,同样的代码,换成USB2.0 就没此类问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP