|
|
你好,想请教下,基于V4L2实现视频采集显示的程序。
8 i$ Y% c( z# ]$ [采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,7 D7 w& j# E4 P3 K* ^1 V4 r
程序可以成功交叉编译,在开发板中运行会出现问题,如下。
) D e( H+ J* Z0 g6 ^4 X7 E% j9 O/ _5 N4 i& F" P$ C$ d* Y
相关程序为:8 I6 S X& S6 a+ W! @% e
7 e/ H% a) P' a5 D( O6 P
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0$ y5 \% z# e( O8 r2 U- {1 C' F) U
# I/ a/ A8 S' }* |6 c5 c6 X……
% H; d3 q) F. p, F" g( u# t6 N. }# X; L: \8 x0 E9 Z: g
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0: k" |2 b/ Y0 g# h+ l, K
8 a4 j- N2 k) K2 Q1 f
6 K8 I* p0 s) k6 T2 s……
% N7 A9 U& } [1 B( t# @# `/ \. e/ o @% L7 y7 z# j
ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1
: M* O( _+ a) l
2 T) ~2 q; j6 v" K0 @- ]到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。6 ~" s2 [! P+ N2 C* [+ Q' ]
使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.. r |2 P0 L5 T
8 x3 l/ r; r0 ]8 T请问怎么解决,谢谢!/ ?: _9 H5 l2 m& ?# A8 H! x
4 o2 U5 i% \: J% w, @0 l |
|