|
你好,想请教下,基于V4L2实现视频采集显示的程序。' c8 n( F3 O5 R6 m. O% }6 |4 \
采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,
( Q$ n9 @" I( n* k6 T& f程序可以成功交叉编译,在开发板中运行会出现问题,如下。
, c+ h" f) x+ {
( I5 ]0 t! i0 @$ F( ]' c X$ O: w相关程序为:
' Y r( E8 a; P% O7 J+ s9 Z6 g0 q3 g0 R$ P9 A" U6 E; @" Q s
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0! H( q- R7 C( C, t& O9 x
! T r) D' f2 l; u( a
……6 f5 W* C2 Z B: l. C& a
* ^1 r( s" I' ]8 B9 n" |0 |, x7 Q- K
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
. K8 Y, E/ C; x4 d% f7 P
! C$ |3 Q, s. L! n) W: ?- [' @/ X- l
……
* `$ }. Y( G4 b+ L! F) ?$ ]
2 R) q- ?6 W$ ~. _5 |ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1
+ Y1 C4 E' y% s T4 }! _, h4 z1 R# J0 H0 [, D8 z3 T
到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。8 s- }7 f; b' D4 s) b9 }
使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.. p$ X) ~. B1 s
/ U/ Y& y7 U3 G0 b. [
请问怎么解决,谢谢!2 [. O3 k( Z1 M' y0 e$ B! C# U. S
+ |. k) `2 T, [8 A; `1 W* N4 `
|
|