|
|
你好,想请教下,基于V4L2实现视频采集显示的程序。
0 h& s; o; R( p# c6 j1 G采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,
/ m6 ~$ d9 y# G7 e0 n程序可以成功交叉编译,在开发板中运行会出现问题,如下。& s' o9 {1 V+ `4 c
; F+ V% g9 t+ Z' W0 e
相关程序为:
- l2 ^- O6 ^5 }' f( s. Y1 g1 U+ @* o* R; o* Y: d' w9 l% \
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0
0 c: q. g5 e; a1 ~0 e6 G+ E9 p5 }7 b+ |
……5 P) S7 m. S# O& \* G8 L$ y
( G9 C2 B1 M' |! P" X% v6 Bioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0- m7 m4 P% ^3 g5 F0 b
) ?9 p! X# K3 c6 r* ^$ E9 g! p- Q
- K4 @8 Q5 J( V8 j% a……
6 q/ O9 W" q2 h7 Q
4 ]; f# F0 s. ^. y* vioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1% E3 n& [$ ]; M% T: `7 n$ t
& M" j& Z( m/ R* J0 l s, m到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
" ]# F9 a) C3 ?" j使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.
3 E2 l$ a, F' C |) M* N
5 J3 [' J8 T8 I; U8 z. ?1 c请问怎么解决,谢谢!1 H- m% S5 G/ b, X6 r5 I d
' ^) c0 N7 t) r& n R* y3 C
|
|