当前位置: 技术问答>linux和unix
v4l videopict 设置问题!
来源: 互联网 发布时间:2016-11-03
本文导语: /*获得video picture信息*/ static int GetVideoPict(struct vdIn *vd) { if (ioctl(vd->fd, VIDIOCGPICT, &vd->videopict) videopict.brightness, vd->videopict.hue, vd->videopict.colour, vd->videopict.contrast, vd->videopict.whiteness, vd->videopict.depth, vd->videopict.palett...
/*获得video picture信息*/
static int GetVideoPict(struct vdIn *vd)
{
if (ioctl(vd->fd, VIDIOCGPICT, &vd->videopict) videopict.brightness,
vd->videopict.hue, vd->videopict.colour,
vd->videopict.contrast, vd->videopict.whiteness,
vd->videopict.depth, vd->videopict.palette);
return 0;
}
/*设置video pcture 信息*/
static int SetVideoPict(struct vdIn *vd)
{
if (ioctl(vd->fd, VIDIOCSPICT, &vd->videopict) videopict.brightness,
vd->videopict.hue, vd->videopict.colour,
vd->videopict.contrast, vd->videopict.whiteness,
vd->videopict.depth, vd->videopict.palette);
return 0;
}
我将vd->videopict中的内容进行修改,然后调用SetVideoPict(),打印信息的却是我想要的,不过当我再次调用GetVideoPict()
后就出现回到原来默认的设置(内核中)。我用的是ov511的摄像头,内核中支持VIDIOCGPICT和VIDIOCSPICT如下:
case VIDIOCGPICT:
{
struct video_picture *p = arg;
PDEBUG(4, "VIDIOCGPICT");
memset(p, 0, sizeof(struct video_picture));
if (sensor_get_picture(ov, p))
return -EIO;
/* Can we get these from frame[0]? -claudio? */
p->depth = ov->frame[0].depth;
p->palette = ov->frame[0].format;
return 0;
}
case VIDIOCSPICT:
{
struct video_picture *p = arg;
int i, rc;
PDEBUG(4, "VIDIOCSPICT");
if (!get_depth(p->palette))
return -EINVAL;
if (sensor_set_picture(ov, p))
return -EIO;
if (force_palette && p->palette != force_palette) {
info("Palette rejected (%s)",
symbolic(v4l1_plist, p->palette));
return -EINVAL;
}
大家个给我说说是什么原因!
|
看不出来。。。
只能帮顶了。。。
只能帮顶了。。。
|
驱动调用出问题了?
可能是ioctl(vd->fd, VIDIOCGPICT, &vd->videopict)这一行的原因。
建议检查一下vd这个结构体。
驱动中sensor_get_picture(ov, p)有没有报错?
可能是ioctl(vd->fd, VIDIOCGPICT, &vd->videopict)这一行的原因。
建议检查一下vd这个结构体。
驱动中sensor_get_picture(ov, p)有没有报错?
|
基本上可以确定驱动没有写好, 调用set没有把正确的信息写入到驱动的全局变量中,
这是调用get基本上还是默认的值。。
|
应该是调用的问题吧?
驱动好像是内核中的。
|
应用层的vd->videopict应该跟驱动跟struct video_picture结构体保持一致,不能随意修改
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。