|
|
你好,想请教下,基于V4L2实现视频采集显示的程序。: `/ \0 L9 S( W3 J% i# f
采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,
2 z& b5 N0 V0 r N3 D程序可以成功交叉编译,在开发板中运行会出现问题,如下。 a4 C7 m( w }: W/ `0 m9 }3 I* u
/ N6 y( A6 b' w5 A; |6 a3 b相关程序为:
" s, L3 n- {8 _% a+ v- R& i2 a2 I& K1 t& l0 V) }
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0
) B+ s3 m7 T0 l; X. \7 e" p
: x0 A5 V3 U4 ]# X……9 H" `+ _7 d! s* }
& ]3 l/ E S A
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0. l& [; U, ~* \7 n' e( Y1 M- C/ `
% ?' Z2 V, L8 d {7 b5 y- b+ I \! \: |( @& {. d) b b8 u6 O" k
……7 k7 x+ G0 V. ~# p! W5 r
( Y# F4 W, u. \4 i3 X) q
ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-18 u8 C- o a. {& R5 p3 W
* T2 i7 e( [6 m7 a- h) c. U( R' w8 K6 n到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
/ I( y7 X- E; ]1 n# t, S* x0 {使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1. e5 Y6 {( x/ P/ n
" l- X3 \* k. y. ]' y请问怎么解决,谢谢!' h8 {5 e. B: k4 `( ?
# r1 z4 t% W; R8 n9 l4 P( j |
|