|
你好,想请教下,基于V4L2实现视频采集显示的程序。8 T$ X' ` [) Q! C# M) q* G, l- h
采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,; b5 Z6 e: ~! O3 Q9 Y7 X( z& R. `
程序可以成功交叉编译,在开发板中运行会出现问题,如下。
3 G+ Z# s, [5 k6 k( L0 N5 |
! o6 _* v m6 q- Q相关程序为:
# s0 ^# Z! P$ w5 J3 c9 c/ l7 |) x* [8 E! p' T, |5 a9 x9 w, d- m
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0
. ?1 o# `0 M# J+ \; j" Z. q A6 V$ {6 W
……
, F1 G# Q( b( U0 U( e8 J1 B/ f) c' N5 D0 H3 m9 w3 y- b
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值01 x% ^9 |& A; s: ^+ o! d
7 D4 Z8 U7 @" \9 t z: o9 y. H& q3 t5 t4 o. ], e; ^
……, a3 _& I, h# E; I3 g `- T
% [- ]( v7 \$ D* a. g' E
ioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-11 s1 T0 C. E; U, f z F0 O. f! W
2 p5 I* J6 F. Q' F0 f% L/ |# [
到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
5 M- Y8 n6 h1 y0 N5 g' l+ T使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.
h+ G: b7 ~1 H4 H) {" l& w" j9 f) e
4 X! f- ]% P; I) H" L' A8 p请问怎么解决,谢谢!+ K# E* ~, @% X; \0 [6 k
% E( }1 U' w/ R7 n/ d7 v
|
|