|
|
你好,想请教下,基于V4L2实现视频采集显示的程序。+ K( G; v6 M S! D" T
采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,
1 n! a) z' ?* J4 o5 \! p3 k* a6 Q程序可以成功交叉编译,在开发板中运行会出现问题,如下。8 H. {+ [7 V3 K" y, {( f8 i% K }
/ @0 @! a0 B7 S' g7 h
相关程序为:
1 V+ m; t: a' `# J
+ J& L3 o' I! cint fd=open(/dev/video0,O_RDWR);//打开设备,返回值0: H' z4 B @ I( A8 l, N/ g
6 ^1 Z2 a0 V) q1 _( g
……
& [1 }% T- A7 ~- P) x% T6 k8 {( M* n+ b& S
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
4 ^$ r, J" `7 Q, a4 R4 X0 X/ U
% C9 O) b8 T \! K" a& v( I
+ M( S7 `) [, @7 Y+ a……
D# Y& i$ Q2 s9 m1 L4 V" P6 w( j
ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1* d( M' {+ v0 w0 Y- q T) d
# f2 N. U$ J# G2 C+ x% o
到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。! \4 `/ p7 |2 U! H5 O
使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.9 F; r3 Z7 p: _+ y) q
1 \4 F1 V* W) @- d7 J$ @) g请问怎么解决,谢谢!
; ^: m, V2 o- \" s7 M7 I0 c4 C
+ L# {$ A$ X+ D# ^# v9 k |
|