|
|
你好,想请教下,基于V4L2实现视频采集显示的程序。
6 x1 r+ h# E$ D* ~ g采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,
3 U. K! _* ] S8 E E' S4 _4 F% k程序可以成功交叉编译,在开发板中运行会出现问题,如下。" R+ b( [9 R& F( D2 g. P/ K3 a' I" ?
0 ~( }" W3 r( P) d" @% A( `
相关程序为:
- ?: b" r t% B
/ C; s. U/ O; \% W; f5 K( Z$ Eint fd=open(/dev/video0,O_RDWR);//打开设备,返回值0, ^/ M0 V. T) p% ?
* F& @& ]* ^$ m S: e5 ^) B) L- d$ l
……* l$ y! E/ v. }
5 R7 r5 ^- B0 B0 \
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
* B* `; c0 l9 T5 }2 c2 L. C1 N6 g/ x3 H3 f8 j1 @1 }
5 ]5 R* F; ^) F- |, O/ w……
; p3 |" T( x, r
1 l% v0 i: Q- D/ lioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1* D$ K4 |6 F: s" u9 V. Q" ?
, y k6 e9 o, v" G4 A到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
/ R/ n% ~! @$ z: a6 o0 ?) o使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.
/ R. O$ n+ u b9 S& r# j
+ k) t. C$ O) q+ B6 F请问怎么解决,谢谢!- w+ J2 ]2 i" }" i Z( Q
, n6 e$ u- C% l9 s* y0 B
|
|