|
你好,想请教下,基于V4L2实现视频采集显示的程序。
- v$ O# v7 r! z采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,- o/ g2 E# r ^, W0 `/ f
程序可以成功交叉编译,在开发板中运行会出现问题,如下。
9 b$ S+ i! ?0 Z* \
+ K5 B2 K) t1 y3 \3 }% r; P1 k相关程序为:
- i: w3 W" D0 f7 i/ D* A8 v. O" q u8 s$ `
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0
0 ?' F4 R% E- W) O: I2 K- E1 m
: m2 n* F7 t" [9 j……
7 N2 R: t {& P" y8 A$ U# e1 h9 E+ g( F3 A
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
1 p0 ~" T7 m0 o, s. L. X* v9 q- r( H2 m R) J2 ^; Q w9 [
( Z% h4 {+ y3 C9 _( F6 @; r
……+ E# c7 ^9 _) z. T; u
% A. a# t; _1 z% ?4 ~+ f
ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1" Y$ _% I' f) Z3 ?
- ]7 Q. x5 G, V
到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
: ^4 m) ?/ c: j ~5 }使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.
) ^8 j: }# h6 S( }, P ^! p- l. t$ M) _# s! ?
请问怎么解决,谢谢!
" E9 `' L- ?. S$ H* y9 g
; i$ G% u- w6 h1 x( z9 l; Z0 D4 X |
|