|
你好,想请教下,基于V4L2实现视频采集显示的程序。- R" N% J, W8 r, P2 P& v* m$ [
采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640," |9 m. |, Q2 ^! C* y
程序可以成功交叉编译,在开发板中运行会出现问题,如下。9 E7 J" y* j) n' t
, z0 ?( o& t5 p$ d相关程序为:
4 V: P0 n5 a6 G( d2 {! f6 I2 G& }% g
+ {. T q& `/ W. V) Zint fd=open(/dev/video0,O_RDWR);//打开设备,返回值03 x: w& X, b" ]1 r) F6 ^8 \8 F% T
, I) l: S( f+ E! d! ]" o- G
……
6 X0 \5 Z; ~5 n" Q% E* z! V0 R9 n" i& O0 N" D/ t
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
) m9 `- w8 N6 m3 a7 x! i. t
0 c! j# e& ]4 O6 g) @; G1 J9 V) k2 H% J$ L, I) x
……+ s- B H R: V5 K
! X9 W" _$ I) t( ^
ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-19 {0 I( Y" a! Y/ M- M. S7 R
/ ?8 t1 |) M4 Z- k8 P) y
到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
) l! i( H( ?6 Z( \- N使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.# c, f s6 z" ~) y
- P4 e1 T$ j! G请问怎么解决,谢谢!
* _" r) ?) Z, }; L# y% i+ x8 z: Z+ \ P" L( \# V# N
|
|