|
|
你好,想请教下,基于V4L2实现视频采集显示的程序。1 v0 d4 n5 x. M- ~! e
采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,* M4 y9 W7 b3 ~! I& S& V% U3 _4 ~8 W
程序可以成功交叉编译,在开发板中运行会出现问题,如下。
7 j0 ]# g9 E& x r/ F7 l
1 T+ u2 T6 U6 b# M相关程序为:5 D) z; m U% W1 ]* g# w6 j
( ^" T: G z1 }, F2 b$ w
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0
& P# b0 a; J- @" M3 l6 V/ i Q; [4 P' \8 p
……
7 ?6 A) f; l8 C( E/ w1 `
+ K% M3 |( S. N& |- Bioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
5 i8 O" I. b$ f5 W0 x a# s* [5 _5 c" ]4 |4 m8 v- Z
- x _6 _0 x; [4 P" a6 A+ x* F
……
7 J; G. E$ M2 _% R6 j$ ^- a
f% t" S' ?; j7 c: Zioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-19 | Q' }' b7 c# ^
" }( F7 `" b4 r' J0 G7 d& J$ t到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
# O# M( e* r) h) g使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.
& b+ i% Z! m |, d- V
. C; k* L$ s6 Y请问怎么解决,谢谢!
' i% B% k2 [( ]& y r1 \8 Q% [7 o1 ?# Y
|
|