|
你好,想请教下,基于V4L2实现视频采集显示的程序。
- A+ n# }- {) [% t- h% ?采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,1 P* @1 {8 D8 S3 R1 R! |
程序可以成功交叉编译,在开发板中运行会出现问题,如下。
\) Q9 A" d% E5 y. v
0 h- D' w5 A" y5 Q# p% L: f相关程序为:) ?% _: i; Z* F' j6 |3 K( s0 W
- T4 u" x8 S: G1 ]6 X
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0
& F* o6 `5 R: E1 m V5 R
. G/ C2 U' f$ a. _; ]. V" d……
5 R* i3 R# _0 w( }9 x5 N5 e% p9 h K o/ M, U
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0) Y( p6 o8 A# h6 c
+ ?; L* H, G( M# G. E5 r" N0 e, s0 C) ~
# n8 l; V F9 y/ ?! W% a, ?…… }) H& ]+ ]4 w
1 l2 c3 {4 B* J
ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1
9 P8 s1 U) J/ z2 O) x! j
0 @" Q: J; A' D5 ?/ i. |到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
0 u+ L K% n% q( z使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.
" n- o+ ^/ h& ?% |, ?7 V. p
6 O' `- p, E: R- d Q. \4 y请问怎么解决,谢谢!
7 k2 x) g$ A. n# I2 m1 x3 u
' N) U) X) [. i& g |
|