|
|
你好,想请教下,基于V4L2实现视频采集显示的程序。$ Q9 m% N& r) P6 I& i
采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,/ J1 ^, k0 `6 ]& h" l! y' R
程序可以成功交叉编译,在开发板中运行会出现问题,如下。& J/ x9 ?& ]" T9 I6 K! y6 n
2 n; Z( ~, y2 P9 l2 w7 t6 }4 h) u
相关程序为:7 Y2 @& m! }, X9 [; Q
2 ]8 E4 N7 d4 ~
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0
$ H- e5 C) ^& ^& l# d" s% a" S; R5 Q
……# C+ f6 |9 h0 a4 @. \# T
5 q* c7 B" Q1 w: [# r/ R4 X
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
6 Z4 H. E4 l8 c0 @
/ |- h; E9 k* `8 J
' {! Y+ U) }. W……
$ F5 @4 }! ^& N, Z
6 _1 l5 t) W3 y9 u7 A& H: aioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1
5 r* x, b9 m# {5 c/ T. e8 D2 \/ ]8 Q# n( G$ k. Z
到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。* {& W' ?; I2 J' O, H
使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.
" s+ b4 D( ]( l( b! K6 S) |
" Y* z: |: ]1 N! U$ N. o4 E0 K请问怎么解决,谢谢!
; \5 d! c5 d Z4 J3 M* m# C. f
1 J5 R# Q. k8 C: n+ { |
|