|
你好,想请教下,基于V4L2实现视频采集显示的程序。
2 F/ e7 M" L1 a# C4 ~; C0 y7 h采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,
* b6 V% k* C) y; ^程序可以成功交叉编译,在开发板中运行会出现问题,如下。5 o) G2 ]: p2 Z8 ]
# |. [2 t) f5 i; ^0 U, Z% q相关程序为:+ H) o+ h( V0 Y: j1 A- ^# v
& Q0 Z' T. j; {) {( i: Zint fd=open(/dev/video0,O_RDWR);//打开设备,返回值0- f ?$ X, Z9 m2 c" x
0 d7 C' Y: r7 a( N( [% l2 Z……
% n" D: _7 p( t2 K! J1 z/ f
" V R2 U9 C% z1 b2 Yioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
6 @5 s0 N% ?7 O7 x: a
3 ^$ T, b' P& f) n/ m! A5 p" F0 G; S" K
……
/ u5 H- \3 o b+ L! S) N% G2 {- W
ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1
4 @6 ~0 D$ p5 C K4 _9 H9 k; l3 C* i& t. U+ R' V& U2 s
到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
2 ?' |: b0 F, b" f使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.$ D+ u- }4 j6 w2 u. Z& t! v
3 b# {+ Y! |* R3 e P+ G. b6 R
请问怎么解决,谢谢!2 L% _4 s; ?6 K9 X, L7 X- t
1 {$ m0 `" g$ y
|
|