|
你好,想请教下,基于V4L2实现视频采集显示的程序。
9 ~' R! }3 B! }- z3 X采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,
; p! g! s" |, c7 _0 X程序可以成功交叉编译,在开发板中运行会出现问题,如下。7 G7 V4 {. k! h" K2 j
! O( h; t& X. u( ?+ D
相关程序为:) B [- c ?/ K; R$ U0 l/ }
6 ^' F. K6 e5 a) Q0 G' P9 n5 G- ~
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0
% p# r% I2 \, ^" v
3 q* Y; N3 A7 {% Z# Y+ {……
& ~; V0 m: ^3 l2 l, Q$ n6 l" v# J0 _9 P
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0+ \( s* w8 v, z) ]
1 X9 _; J8 u0 k- M' [' H6 f
4 V% X; Q" l9 K' C+ _……) G3 c+ ~+ {) \! H+ Z$ b3 G
' g% M4 H+ q( U1 N/ E
ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-12 `: a% m S. @8 F) M6 O9 o
8 k+ g8 D/ A0 ^6 J6 V到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
4 w3 ~, Z' K9 y+ E使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.
: e, d+ ~% F" A5 G d& C6 d
# ]6 s: W$ K+ {请问怎么解决,谢谢!
, c# l" f% S" [; @: k4 q) ?" n6 h' Y( a; u0 I4 M# o- c# _, w% k' k' I
|
|