|
|
你好,想请教下,基于V4L2实现视频采集显示的程序。8 e1 _4 g7 n" S* U* f* |7 f) l; f
采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,
' v1 Z+ _* M/ q) R2 Q7 [程序可以成功交叉编译,在开发板中运行会出现问题,如下。
2 [$ I0 p# L: d( |
: Q! x) ?$ `* I/ \% ?! k相关程序为:) T# ?' v* p$ |+ o" ?8 M
5 M- ~/ q) M7 X/ T* x4 M. Z' ^: ]
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0/ O3 W9 s7 k! a, ]
2 n8 d" }7 I" V8 J. m……
' q( N5 O) n: c/ |& m) q' v- H3 E4 t2 M0 K6 ^# r8 x* U' N E M
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
) O. Q6 _$ V+ x7 K
6 {' i- Y, X. Y' ~2 M+ X. R* o5 [1 P% b& D! D" e9 r
……
9 x6 }7 p2 p& G( p% A
3 x3 l4 W! t$ ?0 z; Xioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1
* M9 l- f- U6 i# B! M& n4 e! \# O% G
到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
4 J' G* g+ \; \1 e- U3 Y0 d使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.
+ J0 l5 V9 m+ e2 U1 Y: C4 ^" z
1 H2 C* H" P. Z5 C- a请问怎么解决,谢谢!
1 |% R; b4 l" t- I9 ^ z" S
# `, m) V1 W6 m( H. k- t |
|