|
你好,想请教下,基于V4L2实现视频采集显示的程序。
0 Z) |5 E# B6 P6 ~7 |) S1 q采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,1 }4 M# @ ?! A
程序可以成功交叉编译,在开发板中运行会出现问题,如下。
! b! W. i9 ^5 d) }& x3 v5 f+ {# Z' Q- X% ]. E, ^* W
相关程序为:& R# q3 w5 J6 A0 Z( m
, g$ V- p+ I+ O C# Aint fd=open(/dev/video0,O_RDWR);//打开设备,返回值0
, C6 V$ z6 u* W5 p1 G" f2 E' M# n* D
……
, a1 B& b" i- e6 @6 n+ v0 D+ {$ C! M6 _
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
9 Z8 z* }" K9 P3 d9 Y9 y
+ J- h. e0 z6 A% l& a1 z# n7 X# q
2 j% h$ E6 ]& y& R5 M& M: u" d& p……2 ]6 ~& Y7 _/ `& Z' _4 u; L8 s3 q
( U: k5 q6 `# }$ `% d
ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-16 S3 ]& c' y7 T+ c" E4 X
$ _3 r- \% p# o
到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
; `/ @+ V, U9 R, S- K# `' I2 N使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.4 l" J; a, j1 G0 ?
* \3 u% H& _ a
请问怎么解决,谢谢!
: X4 r" A* t; \
+ m* L5 K, M8 x, Z p1 u |
|